All right folks All right, let's get started today. We'll do a recap of the sign-up for Keep track of every interesting thing that I saw How many people discovered that you could anybody could edit a gaza post I mean The other trick that people use this after they discovered or ever they would then switch the note for the question Whatever to private so it's just to us the instructors, so I have all of these posts with insane history The Really interesting thing that I saw so was it true that if you made a follow-up post to a post that nobody else could Use a class of all defense mechanisms You would say look in the comments for this and then the follow-up discussion would have your actual keys everything Let's see other cool thing that I hadn't seen before was people Hating videos of themselves going like those weird. I mean not weird But the interesting thing was seeing people try it's like submit both their real and their adversarial to get Like prove that they're trustworthy by giving you their adversarial Let's see oh this other great post so this I Saw this and I think I've redacted all the names of all the people here because I can see your Cool, so this was I was signing people's keys And the really funny thing is that You all chose to a lot of you chose to pose anonymously when you were actually being truthful But then everyone else doesn't believe what you're saying because you're posting anonymously particularly in this case I This one's good. Yeah. Yeah I Actually don't know if it's the same person if it was a coordinated team of people commenting on it anonymously Yeah, so that's super interesting because of course if you had gone to my website you can see that this is not my public key So this is the hash of my public key. It's on the website. You could have imported it and checked that I Unfortunately, I don't regret yet. I'm still importing all of your crazy submissions. So Hopefully later today definitely by Thursday. I can go over the distribution of Scamming people because maybe I want to share what they learned Oh Oh Very hard to find this Yeah, for sure that definitely could happen. I don't know that it did I was we were pretty careful but not endorsing any of the answers on those crazy Yeah You have some right people you send it to the email You'll only get there Using the Gmail auto-complete feature Is there a way to change that? Yes, so people are not in their bed. So maybe it wasn't a great way to verify Maybe seem like a good A general question I'm just pulling all the data down to one key ring so I can see all the signatures from everybody And then I know Did it every discover or maybe didn't discover so I can disclose some of the adversarial tricks that people used Was you could send somebody a gbg file that had multiple keys in it Some of you are shaking their heads, right? So I know this happened in the past I don't know if it happened this year where somebody created a fake CSC 365 call 19 key that had a different fingerprint and they would Append so because you could change your user ID of your adversarial key to your name and then after that was Done with moves all the signatures that you have before so now the core signature doesn't exist So what people would do is create a fake course key sign their own key with it and then ship both keys to somebody So if you weren't actually checking that this fingerprint exactly matches the one on the server Then you would get stamped into Now just the fingerprints, I don't really care about the Signatures are just for you to know what keys are valid, right? So if you change your user ID and then drop that signature everyone else Nobody else would ever sign that key because it's not signed by the server No, yes Let's see. Um, anybody use the key servers That was this was the surprising thing that didn't come up So nobody used the GBG key servers. So they're a network I think I'm in one of those docs I linked to sometimes the course finds these key servers. So people They said you can upload your public key to the key server so that other people can just download it So you don't have to email each other keys. I think the first year guys like this people Created weaponized Python scripts where it would actually work to like it was a Python script I'm a check like check that another key was valid except for the person that created that Python script it would It would work for them and so they could trick other people that way Let's see one year. They need to create a certificate authority Or have some kind of group trust system Yeah, would you get what do you do? With a big Google Doc, they're gonna just submit and then I would be added to Google Doc Scam that Google Doc They were gonna have like a two-phase commit so your key had to be verified by two different like the two leaders And then they would add you to this Google Doc, but one person figured out like trick Not their adversarial name added to the certificate authority and scam like the 20 or 30 people that was on that list Yeah, so you'll find out soon Interesting thing to learn for tricks No, no you wouldn't you couldn't it checks so this is why The way to verify This Yes similarly I use the ASU class roster for this class to verify names I Will anything else So yeah make a phishing domain that would be interesting One year with somebody trick like they're not friends permission that wasn't in the horse So they changed their adversarial user ID to be that like a person But it was actually an ASU student and everything and then with that other trick of having a fake CSC 365 fall 19 key Trick people assign it to this from a real end the person agreed to let them use their ASU account So it came from a real ASU account like it was a real person It just wasn't a person in the class Max human writing from yours here that we're good. I think the certificate authority stuff was my year Yeah All right, now we're gonna shift gears a bit. Oh, did I be finding an easy way to distinguish between the two Yeah Right, so yeah, the email was one thing to key on One year, I think people a group collected and shared Everybody's adversarial and real keys and they're able to find that there's some difference in the exact Like the like this key whatever 496 Like I think the adversarial keys were using like DSA for some reason and I couldn't fix it to make them be exactly the same for Some reason So there were weird differences between the adversarial keys and the normal keys that I know some people just said like I'm never gonna Sign anything that has this This specific type of key Cool, all right now we can all trust each other again. All right, so now on to network security. So now we've kind of got The goal here is we're we're gonna be learning and talking about different how networks actually work Specifically through the lens of how we can attack and exploit them So we're gonna get kind of a crash course on how Two different machines talk to each other on the broad internet and then specifically We're gonna be looking at all these led layers and thinking okay, what are the security implications of doing this thing? So and so it's important that we have We can cover things like Firewalls and intrusion detection systems all this kind of stuff that we'll talk about for the end What's actually understand how the systems work? You need a good solid understanding of how these protocols work because without that We're just talking kind of in the abstract and this is kind of an interesting problem, right? So you have this problem of how is your laptop that is out right now? How is that talking to let's say Google? Right, how's your dad actually get from here to there and have me have a conversation with the remote system that you It's kind of something that we take for granted, but it happens literally all the time So we'll look at the protocols that actually make this up so It kind of starts out with the IP the internet protocols suite It's a set of protocols that are used to transport data Y'all it's also called the TCP IP stacks week whatever all kinds of things Very nice. It's based on abstraction and Capsulation all of these layers kind of break down and we'll see that so for instance Do you does Google need to know that you're on a Wi-Fi network to talk to you? 4g or an LTE network Right, those are all different ways So you think I don't know if anybody see is there a Wi-Fi router in this room Yeah, you all pointed in different directions There's one of the exact same thing right over here, so I don't know where it is, but I guess maybe We're maybe Right so your information has to get somehow from your laptop to that Wi-Fi router that's somewhere in here Right and then from there needs to go from ASU's network all the way to Google's network and then it has to come all the way back so The nice thing about how this designed is Google doesn't care if you're on a Wi-Fi network or a wired network or whatever You can still talk to each other Kind of built up in these terms of layers, so there's this physical layer about how does that I get from like physically across the air medium of whatever fight 802.11 whatever Here for wireless for LTE. There's a different protocol, right? There's all these different ways of how to actually talk from one machine to the other I know exactly how all these things work. You can go look it up and find it and Then we kind of build up from there to say okay, we have a way to talk from one to the other Then how do we have these two ends of a link actually talk to each other? So how does one how does your laptop say hey? I have some data. I want to send to the Wi-Fi router and how'd your Wi-Fi router know if it's your laptop I'm not somebody else's laptop or somebody else's phone, so it needs some ways to disambiguate there All the way up to how do we then talk to Google and how does our data get there? To then all the way up to the applications that we want to actually talk about so what are the HTTP? I think we should be pretty familiar with that protocol, right? But basically all that kind of stuff was SMTP4, mail, DNS, domain name service It exists so that we don't have to remember 32 bit numbers when we're trying to access websites We want to go to Google.com, not whatever their IP address is NFS, file system, so a way to have file system. So there's all these different applications. This is a an important thing to Remember when you're discussing networking with somebody to make yourself seem like you know, you're talking about if you just call everything the web or the internet We're gonna mix these two But the web is just one application that runs on the whole IP stack There are many others. Speaking of SMTP, did anybody spoof any emails or attempt to spoof emails to scan people? Some people. So there's a couple hands, three hands, four hands The problem is getting that reply back. Yeah, so you could spoof an email to Somebody from your, from whatever email address you want, but of course getting that reply back is difficult Okay So we're gonna first start at the beginning. So we need to know how to talk to each other Right. So the other thing, the thing I really like to think about is in terms of the postal service Although maybe this is getting more and more out-of-pain. Has everyone sent and received a letter through a postal system? No, have you seen a letter?  No, I don't know. I don't know. Things go, where does? Okay So, how does the post office know how to get your letter from one place to another? So destination address, so what does that consist of? Postal contact code the name of the person the town, the city, the state apartment number address the specific address on the street Right, so all of this information is an attempt to uniquely identify the location of a person. Apparently, I don't know if this is still the case, but it used to be that As long as you've got the city roughly correct I mean not roughly, but correct, then the postmaster there would be the one to deliver your letter And so you could say things like the red barn that's like two streets down from the doctor or whatever And as long as the postmaster knew how to deliver that, they could actually figure out what you were talking about But can you do something like that with computers? Do we say I want to send this packet to I don't know to San Jose, California We can specify a street No, we need some way to we need some notion of We need some way to reference each other, right? And so we need to know okay if I want to send a letter you can think about at this point on the internet to another machine I need to know what that destination is of where that letter is supposed to go and this is the concept of the IP address so Hosts have one or more IP addresses usually on their network interface. So network interface is if you have a Desktop wired machine where you connect your ethernet. It's your Wi-Fi card on your laptop All that fun stuff. So one of the fundamental things of an IP address is it's 32 bits Do we usually write out so we know we can interpret 32 bits as What's that hexadecimal number? Do we think about hexadecimal numbers as upper IP addresses as hexadecimal numbers? Do we think about that as just integers? Like base 10 integers? Yes, I'm sorry Yeah, base 10. So you say I want to talk to 2964 Well, there's periods to 192 point. Yeah, there's a different way of interpreting them. So but actually so this is an interesting point a lot of Systems you can actually reference an IP address just by the number So if you have a firewall or a system that's blocking you from accessing a local host like 127001 You may be able to get through by putting the Inger value of the number So this what we call Goddard decimal notation should be very similar to how you're used to Thinking about IP addresses and maybe you've seen this before what does this represent? So I said it's the same thing So what does this represent? Yeah, so every byte so the so so it's 32 bits, right? So 32 bits we have eight the first eight bits The second eight bits Third and the fourth so what's the range of each of these and so we'll put a dot in between them Yeah, so we have their eight bits so zero to 255 for each of these Cool, so this is a nice way to Think about Where and so this gives us how many different IP addresses Two to the 32 how much is that? 4 billion seems like a lot right? Yeah 4 billion.  I would like to have that please I don't have four billion dollars to give you sorry So the question though is that how to essentially portion up these 32 bits to all the different entities that want them so It used to be you had kind of and It used to be I think different classes of IP addresses so one organization would get a chunk of IP address space and Where this is done is we got to talk about Okay, so Key thing about the IP address is kind of like kind of like in the In the example of a letter right? We had a postal code and a city which told Roughly, how do I get my packet to where it needs to go? Or how do I get my letter to where it needs to go and then the other information specified specifically within that region of How do I deliver that so similar things about the internet one of the very important concepts? So what is an internet mean? How's that different than an intranet? Don't mean what does it mean? Yeah, so you guys should think of it in both ways right so it kind of encompasses both so the intranet so inside in Tra I believe so a network of computers that's all controlled by one entity or organization and then so let's say we have ASU very nicely here as one Network that is controlled right as you can decide exactly how information goes and travels inside but now when ASU wants to send data to Google which has its own internet, right? We need protocols of how that's going to happen because there may be other places along the way like Where our service provider is? So basically what we need is in some sense some notion of how do I get from this? I he addressed how do I know? Where this should go or what? Let's say another way to phrase this is what part of this is the postal code and what part is? specific to that that destination So it used to be you had fixed sizes so so you'd say okay the first So you'd say the first was a class a I think it's 11 bits or something So the first 11 bits specifies Organization so anybody that had the same 11 bits goes to Google.com and then they figure out what the rest of the bits mean internally Okay It turns out that's a very inefficient way to distribute ID addresses because you're giving some people huge ranges and other people very small ranges so there was this idea of classic what cider classless inter domain Routing which allows you to specify this boundary between and we'll get into this more of it To specify the network ID and the host ID so where this boundary is So if you've seen an IP address of the form or to come up with numbers, let's say one two eight One two five zero ten so a slash Slash sixteen would mean that the cutoff is here In between the second and third octet so the first 16 fights determine the network that it goes to and the last 16 determine the host and similarly so Zero dot ten a slash 24 Wouldn't say that the network host is the first 24 bits and then the exact post is the last bits and So we've actually I think technically run out of IPv4 addresses We'll talk about why that's not a huge issue or whites Okay, so it's how to read IP addresses we'll get into exactly how cider is used and how this net This split between the net ID and the host ID is actually used to deliver packets So we're going to start out kind of actually in the middle of the diagram So we're going to start out with the internet protocol so at the IP level So essentially it's you can take it as the glue of the internet. It really is the way in which data moves throughout the network one of the really cool things about the internet is It doesn't really matter how a specific organization so as you could decide hey, we don't want to use IP internally We're gonna use something completely different But to get packets where they need to go as long as they can talk IP to other networks your packets can go where they need to go Very important to understand the different capabilities that each of these networking protocols provide each of these layers IP is Unreliable best-effort Daggering military service. So what this means is that? You say hey, I want to send an IP packet to this other machine You know what that other machine's IP address is through another mechanism The network will do what it can but it means that your packet It's not It's not guaranteed to get there It's not guaranteed that what gets there is exactly what you sense integrity It's not getting the order which means that if you send packet a and then packet B The other side may receive it B then a there's no guarantee in what order they receive things Bandwidth isn't guaranteed. So you're not guaranteed a certain chunk of data But very cool. It allows you to change data between any two nodes So as long as they have IP addresses Like they both have IP address then you can exchange data between any two most on the internet So this is why it's such a key core principle. So why? So let's look at this first. So Do we is that a good thing? So I talked about Connectionless unreliable best effort Is that good?  Have you ever sent somebody like a text message that they didn't receive? Think about I mean your human Communicating imagine trying to make computers talking to each other when package just magically disappear Yeah, so you're gonna have to do something like you We'll see later exactly how these mechanisms work But you have to do extra work in order to make sure hey, did you get my message, right? So you need to make sure there has to be more communication overhead The other thing to think about is look at where in the stack the IP layer is right? So you have the internet protocol layer which allows us to send data between any two posts on the internet Right. We're talking about what data we're trying to send or any specific applications So you want something that's kind of at this layer to be essentially support almost all protocols Right or any possible protocol that you think they have So is there protocols where or is there an application where you actually don't care if you lose data or lose a packet? Yeah, so skype in video calls Like you said so many packets Right so an audio call or you can think of like an audio call right if you drop a packet That's maybe a quarter of a second of audio Do you want to delay the other person's communications until you find that data and then keep talking right? Then you'd have huge latencies whenever there was a drop packet. Yeah another one like an online game How so because The same reason there's so much being said if you had a guarantee to slow it down and so to be quick Yeah, so an online game branch You have a bunch of clients connecting to a central server and the server is storing the state of the game and pushing out The state of the game to every client so if one of the packets was lost Who cares you're gonna get another update in you know another second or whatever which will update your game state Right? So yeah, so it's interesting to think about like that looking at this this seems insane like why do we want a protocol that Unreliable is best effort has no integrity. So why no integrity? Sure, so okay, so that like a post office you send it out and Whatever Some letters are gone from your message A whole bunch of different networks Yeah, so this is all the reasons why it's not but is this what you want But why do they do it like this? So one of the important things to learn is to look at a system and this happens a lot Even in your professional career you're gonna come to some application that was written over the last five to ten years And you're gonna read the code you've got why in the world are they doing this way This is the dumbest possible way to do this thing and then after you talk to people you realize What crazy constraints they were under that you don't understand which is why the book looks the way it does So one of the things to always ask yourself is like well, why aren't they doing this here? Like why isn't integrity important? Yeah, so one of the ways is again this Creating a broad protocol, right that you're not enforcing anything that upper level protocols can do if they want Yeah, but the the shipping packets being set around the world to guarantee integrity for everything the master of overhead So this is another thing to think about is what was the context what year was it when they were creating these I believe late 70s or the 80s But so you think about the integrity there doing like what we talked about so you can actually send with every message or Okay, that's a good question. So if you assume, okay We'll use some kind of hash function, but you look at the hash function back then Adding that to every single message that was being sent could actually be significant CPU overhead Plus you have this problem of What's your actual threat model? So integrity kind of of what are from who so so let's say Every packet you have been a hash of the message that you send in Does that guarantee integrity? Not just corrupted, but if you're going to guarantee me integrity that means that Eve who's listening to the packets and can modify and change those packets that they're going across To change the message calculate their own hash of the message put it there and send it across, right? So we need not only integrity, but we need who generated that IP address, right? So then we have the problem of public private keys and you kind of get into all of this craziness If you want to guarantee some sort of integrity Cool, okay, let's Look at the an actual IP packet. So this is from one of the other things I try to urge people is don't be afraid to look into standards So this is RFC 791 an RFC is a request for comments the Internet Engineering Task Force puts out the people write up these and submit them as kind of standards different kinds of standards So if you want to learn what is everything I need to know about the IP protocol You can go to read this document and it will you will be an Moderate expert at IP by the time you're done Okay, so how do we read this diagram? Left to right to bits. Yeah, so this is data that's being sent right So why don't we just send the data? Why isn't this just like here's the data to send? We need stuff right just like a letter you can't just write a letter and just throw it into a mailbox I expect somebody to magically know where it's supposed to go So if we think of it from that perspective, what stuff do we need? So this is the other thing before we even look at it. We should think what has to be on here What are we looking for? So the destination I need to rest right who are we trying to talk to? Make sense. Just like a letter. We need the destination address on there. What else the actual content the content content has to be somewhere What else who sent it? Is that strictly necessary? Only if you want something back, but oftentimes why are we sending a message if we don't expect something in return, right? So just like on an actual Letter as well or if it's technically an envelope whatever you put the senders All the sender's information so that you can get a response back, right? So we would assume that we have the content the destination IP address the source IP address The other thing to think about it is how big can the content be? Yeah, okay. So yeah, it could be we don't want to specify that every message has to be a thousand bytes Or whatever right so we probably also need to what's the size of the message because somebody needs to be able to read How much are you trying to send? So we can see that okay cool All right, so the first four bits are going to be the version number Why is that important so we spent a little bit of time thinking through these things or like why is The first four bits that are sent the version number. Yes, it tells you how to parse the rest of it Right, and then I do the fourth IPv6. There's actually a very good design principle for a lot of things so this Good like a rest API that you're talking to might have the version number in it so that in the URL so that you can know What version you're talking to? Specifically here if it's IPv6 or IPv4 that defines how you're going to parse the entire rest of the packet Right and how you interpret those bytes because it may depend on which one So that's why this has to be a sense of the first four bytes or first four bits that you receive sorry Okay, then some other stuff We finally get to the total length of the packet so this tells us the entire length of everything I believe including the content and the head and the packet We have something we didn't talk about We have an identifier we'll get I don't know if we'll get into exactly how this works some flags So we can set different flags to mean different kinds of things, but it's an interesting one. So The basic idea is okay, let's say we so should we assume that them can we Can we assume that the networks are perfect? Why not yeah for many reasons right you can say humans are developing it you can say Fundamentally on the internet our dad is being sent to some other machines that we don't control Right, so I said okay. I want to send a packet. I want to send a letter to Google.com or whatever Google.com's IP addresses, right? So I send it out and then How do I know that it's So one of the cases I could happen is you get into a weird networking loop where one system gives us a next one And now we need to do a third system which is a back to the first one Which is the second one on the third one and then you have just this message that continually exists in the system as being passed around forever Right. This is actually things that can happen. It's very easy to mess up systems So they do this so there's a built-in mechanism to not have that happen We're essentially this time of day value starts at some certain value and then every step of the way it gets Decorative and when it's zero gets dropped on the floor, so this prevents kind of infinite routing loops that can happen Interesting bit here is the protocol. So this is information in the IP address header that specifies what the higher-level protocol is Which is one of these weird breaking of abstraction layers and then interesting enough there's actually a So we said it doesn't guarantee integrity and yet inside this header there's a checksum Which is used to see if Would you use to validate the rest of it? We'll go back to that in a second source IP address So double-check does this make sense in this diagram? How big is IP address? 32 bits we have exactly 32 bits here for the source IP the destination IP any Optional heading optional headers padding and then finding the data So one thing to ask is why is this header checks up? It's a crappy fast Output I would say it's definitely not a cryptographic hash function but it can detect if Let's say a bit was flipped somewhere along the way And so you could at least see if there's any kind of those transmission errors Yeah question. Um, yeah, so each row of this What is what is each one a packet or is a whole thing a packet the entire thing is a packet Okay, all the way it starts at an end the way to think about this is just a string of bits Right, so it's way more than 32 bits the back. Yes, we're just splitting up the 32 bits for ease of viewing So you get all these bits and it just keeps coming and then The other side has to then parse those bits back into what they mean CRC Yeah, it's very bad at I think if you flip a bit and then flip another bit the other way then the tracks on will be the same It's like it's very prone easily from the problem But it's at least good enough to know that like hey a bit flip Maybe I should drop this packet, but there's nothing to guarantee that don't mess with the package now important thing to Understand from here when I go through this log in is so Again remember this is just some data that's being sent from one side to the other so when So a is there anything in here about encrypting the data that we're sending No No, this is essentially the way it actually is probably the best analogy to think about Packets sent through the network is in terms of postcard So it's different things like a postcard in a letter in an envelope An envelope technically is sealed right and you can even do I mean you can put a wax seal on it to see if anybody's broken It or open it or whatever right where as an envelope or sorry a postcard Right everybody can read the contents every postal worker that touches back and read the contents of that note Right, so very similarly here the data can all be read We'll go back to this Okay So the question is So we have So be a switch we'll get to in a second So we have us we are here We have Google so we want to send a packet to Google or sorry. I need another person somebody say name Sarah Okay, so we want to so Sarah has an IP address Google has an IP address. I don't like this us IP addresses. So I'm going to send a message to Sarah So just on this diagram, right? What's the difference between Sarah and Google? so we think about those Switches or something that's going to take our packet from one place to the other we'll get exactly how this works We see that we need to essentially transfer go across two of them to get to Google But Sarah is on the same network essentially that we're on the question is how do you know that so? I'm going to draw a dashed beautiful dashed line around our network So us and Sarah we're on the same network. How do we actually know that? Yeah, so let's look at something we'll call Sarah ten zero zero three will be ten zero Two and Google will be Alright, so when we configure our network right for us We're Ten zero zero two, but that's not the only piece of information. I need to know to be able to send packets Right. I need to know What is our local network versus everyone else? Right. I need to know this dotted line distinction. I need to know is Google on the same network is us or not And how I do that is through Basically what we talked about before the net ID post ID Otherwise the thing about this. Let's oh no, I'll go to the server. Oh, sorry. This is really small So if we look at this So on the website Ethan at zero so this is the ethernet adapter its IP address is one seven two thirty one dot six dot two fifty So that's IP address now. We need to know How I determine local versus remote so it comes down to that cider thing we talked about so here The there are many different ways to look at this one is this net mask. So this is Says okay, so this is my IP address One seven two thirty one dot six dot two five zero and my net mask is two five five Zero So what's two five five and binary All once yeah, so we can see Okay, so it's all one so this is one one one one eight ones here same here eight ones two forty is One one one so all that's the first four bits One two three four and then zero zero zero one two three four five six seven eight Okay So essentially it says everything that's a one is what we use to determine the local host so something so What we do is take any IP address and it with this value It matches at all once then we know exactly where to send it. So this would be a Slash was this this is a 16 and four slash 20 So as a slash 20 network, so this means use the first 20 bits in order to determine if an IP address is in your local or your remote IP so Then with this information then here we can tell okay is Eight eight eight eight eight eight is it local for this? Yeah, none of the bits match right? I mean starting from the beginning so no What about one seven two dot thirty one dot? one three seven dot Twenty is this local Slash 20 so this is what we're going with here. What is what is the binary one three seven take? One three seven is one zero zero zero one zero zero one So the way we can think of this do the first two octets match Yes, so the first sixteen bits match then here. This is we expand this out. It's one zero zero zero One zero zero one you say do these match? Does this match this? Just six. Yes. No No, so this is not a local address, okay Ten dot twenty Yes, let's see. We'll do ten here We see that the first four bits are all zero, which is the same as the original one. So yes, it is local, right? So let's say that my IP address here is a Slash 24 which means my net host boundary is here in between all those octets So it's making it easier since we're not splitting in the middle of an octet so is with this information now, so my IP address my net mass that defines my local network is ten zero zero two slash twenty four So is Sarah in my local network? Is Google in my local network? No Since the only piece of information I need is my IP address and my network Then I can decide if something's in my local network or not Now if Sarah is in my local network, then I can send the packet using Direct delivery through the physical network. So let's look at this And so essentially And this is kind of building up So we had when we looked at before our IP address header some IP data That's gonna be encapsulated into a link layer into some frame header and frame data Which is usually ethernet in most cases. I think almost all so This means we can deliver it to directly essentially so we know somebody's on our local network It means that we can speak a link layer protocol and talk to them directly and send it to them Which means that here the other way There's another way to look at the subnetwork. So one eleven ten twenty. So this means that that's is our net our subnet So we can see that we have one machine So this will be the physical the link layer address or the MAC address which we'll see in a second and We need to send we want to send a packet from 121 2.14 and so we need to Create this packet, but we need to know how to create this packet. So And that gets into then ethernet. So Ethernet is a much simpler format So first we need to know cool. So ethernet is at the link layer. So let's go back to the link layer So we can see here from our stack We have IP so we need to send that IP packet on our local network using the link layer, which is ethernet We'll go here This uses a 48 bits for addresses. So if you've seen this kind of everybody's seen a MAC address before it has this kind of Cold and separated values like each of these is 0 to 255 represented as hex So we have destination addresses. So 48 bits source addresses 48 bits Then we'll have this specific type of message and data can be between 1500 bytes and a minimum of 46 bytes and then we have Again a CRC checks. Let's look into this really quickly So this is actually a much simpler file format because there's not much We don't have to have all this metadata about who we're sending it to and all these options We just have the destination MAC address we're trying to send to the source MAC address specifically what type of message of ethernet message we're sending and Then the data and then followed by a CRC 32 So in case the data is an IP diagram Which is the case we're interested in right now the type would be set to that and the data would be the IP diagram There are various types of messages here, which we'll get into in one second But we've hit a roadblock a bit of a roadblock here So I lied a bit or maybe I lied I said before that we're <IP_ADDRESS> and we want to send a message to <IP_ADDRESS> So we have our source IP address We know their destination IP address and we know the data we want to send But what else what don't we know yeah, we don't know any of these numbers like or we know ours, right? We can know our MAC address, but we don't know what their physical link layer addresses, right and so We need some way of mapping. Hey, we're trying to talk to IP address on <IP_ADDRESS>. What's their MAC address? So you have this interesting mix where these layers have to blend where you want to know What MAC address has this specific IP address so that you can talk to them and That is a great And this part of the application So we need some way to talk it's added different layer So the link layer here is the ethernet layer, so we're essentially operating at the internet layer We know the IP address we want to talk to we don't know their MAC address Necessarily and so we need to figure that out based on their IP address Possibly but you can configure you can have multiple IP addresses on one name on one MAC address So you could it's not directly a one-to-one mapping Well going back the other way is a huge pain if you ever have it on your network where multiple machines have the same IP address with different MAC addresses But this allows you more flexibility because think so you have a network of a thousand machines, right? So they all have different IP addresses Maybe you hard-code that somebody gets a new machine with a new MAC address because that MAC address is tied to that physical card Now you have to update all 999 machines, but what's this new MAC address for this IP address? When the network has this flexible protocol to MAC it has a way to ask hey, who has the MAC address for this IP address? MAC address is 100% changeable, so you can theoretically if you're on some system like a Wi-Fi network that restricted you limited amount of access time to that network If you don't log in with the username password the only thing that it has to identify you is your MAC address So by changing your MAC address you can make it think that you're different devices every time you talk to it similar things could work if you bought internet let's say on your iPhone and That is tied to your MAC address If you turn off your iPhone and change the MAC address of your laptop to be your phone's MAC address The router would have no way of knowing that it's a new device Mostly no way of them Yeah, and actually I think I want to say iPhone either has an option to Randomize your MAC address when you're talking to public Wi-Fi hotspots because that's also a way you can get tracked by your MAC address When you talk to different Wi-Fi hotspots So yes, fundamentally, there's nothing stopping you from changing it The network needs a way to keep up and to catch up that you now change your MAC address cool, so we need a Protocol to translate between the two and it seems kind of crazy But we're going to essentially use ethernet to do this translation And this actually is one of the really cool key ways of how you can impersonate another machine on the network through through manipulating our The address So the key idea essentially you can think of it as a protocol where you blast out a message to everyone saying hey Who has this what's the MAC address associated with this IP address? That message goes to everyone and then the person who has that MAC address or that IP address responds So essentially let's say we have some network. We have those A and those B And this is actually something you can look at you can inspect your ARP cache on your local machine. So ARP-A is a way to show all of the The mapping between IP addresses and MAC addresses in your network. You can run this on your machine So host A wants to ping host B So it means so essentially it has some data that it wants to send to <IP_ADDRESS> As you know that this is on the local network Yeah, looks at the subnet mask figures out the network ID. There's the host ID says yes, this is Now host A will send a Host A will send a broadcast ethernet. So this is Output of TCP number of this. So we can see on the left here. This is the source MAC address and It's going out to and again So you need some kind of essentially Value that says hey this message is for everyone Everyone on this network. So that's what the all F's is So I don't know who the specific MAC address that should receive this right because I'm trying to ask everyone on the network Hey, who has <IP_ADDRESS>? So if broadcast is it out to everyone who has <IP_ADDRESS> Every machine on this network will get this packet only the machine that has that IP address will respond back and Will now so the request goes to everyone Now host B will respond with a reply That will say Now at this point it has everything that it needs. It has it knows the destination MAC address Because of the original request packet, so it does exactly who to send it to and It says Our reply hey <IP_ADDRESS> is at 13 or 013 1d 98 b8 So this goes to host A, host A receives this and then updates its R table And of course because you don't want to do this for every time that you said this is cashed locally So you can see on the whole post B So now both post B and post A will have this mapping between IP address and MAC address Change which information what do you want to change? I mean you can make the other computers all tell a different computer You yes So this is we'll talk about kind of trust issues here when we talk about spoofing and hijacking these kinds of communications. So yeah, fundamentally There's nothing So a if you look there's nothing that links those two requests and responds together, right? There's nothing that says that host B actually has that IP address except for the fact that they respond to this request so host C could have responded and said yeah, I'm over here and Host B may never like so those you can play games like that Yeah, there's fundamentally nothing stopping you from doing that This happens all the time on your networks every time you connect the system. Yeah So I get like I get the mapping from IP to MAC address But how come like I should understand why we need it because only Open in a network all you need is IP address correct, and if an IP address uniquely identifies a host Can't you just use that instead of having to ask for a MAC address? You well you need some essentially need some way of getting data from one host to another Right, so that is at a high level that's IP, right? I love idea how you get data from one IP address to another with the actual mechanisms of how Data moves from one post to the other on a single local network It's not clear. So that's what the ethernet has to do. So you need something to do that right and the idea was they decoupled IP addresses from link addresses in some sense, so But you need to be able to kind of stitch them back, and that's why you need this protocol to translate between them And then once you have this so once you have the ARP Once you have all the ARP information, then you can easily just send the packet that you wanted to send So this was this last file IP packet that was sent from <IP_ADDRESS> to <IP_ADDRESS> So once we have that information, we have everything we need to send it, and then everything just happens So it's all on a local network when we have direct delivery We'll look at attacks on this and then we'll look at what happens when we need to pass data across multiple hops on Thursday


All right. Thank you So for those of you who are not here for the trove project update When look at your schedules quickly and figure out where you want to go My name is Amrit. I'm the ptl for trove Have worked on trove since about ice house just before ice house I Think I have about 35 or 40 minutes, but I don't have stuff for that much time. So if you have questions Let's make it interactive So what does trove do? Trove is the database of the service project for open stack. How many of you here have deployed trove? How many of you have it in production? Okay What databases are you guys using way over in the back? Okay, anybody else other databases? MongoDB, okay, anyone else? Okay? Anything else? Anybody interested in databases which are not supported it yet? Okay, so Trove is a framework trove is not the database trove is a framework within which you can Orchestrate manage life cycle of many different databases like you've heard here mango Maria my SQL The Objective is to make it easy for you to manage a enterprise deployment of an application which potentially has multiple databases in the back The project itself was Created by the folks from rack space and HP It was incubated before the ice house release. It was integrated in ice house. This was when we still had the integrated open stack in The most recent release which was okada. We had 25 or 30 contributors between 25 and 30 contributors and Some numbers from the user survey Trove is in production in 3% of the deploy in 3% of the surveyed companies 13% of the people who were surveyed had deployed trove 10% were testing it and 33% of the people surveyed were interested in using trove in the next cycle I Think the numbers have been relatively consistent over the last couple of releases The consistent as in and there has been growth I think the only thing which is kind of new on the slide is we have the fancy new logo Which you can see on the top which you've probably seen for the other projects as well so in the in the pike release The significant things which we're looking to do are the two community goals one of them is to put the API behind the whiskey server and Support Python 3 The controller side is now fully Python 3 enabled the guests are Potentially not completely Python 3 enabled for those of you who are familiar with the trove architecture You realize there's a control plan component and a guest agent component And there is some code in the guest agent which is potentially Python 3 questionable at this point So we're hoping to get that done by the time of the release The other thing which is currently in flight is to support Xenial for all the databases We currently have a mishmash of support for Xenial and trustee Many of the databases currently have Xenial support some of them don't we're trying to get that up to up to snuff With the pike release we are not going to be testing trustee guests or Trustee controllers, so for those of you who are using trustee you probably want to keep that in mind So the release themes for pike The major thing which we wanted to focus on for for the pike release was just focusing on resiliency of the project We've done a number of things in this area, but for those of you who are not familiar There has been a significant transition in the project during this release Till the previous release till okara Tissera which was the largest contributor to the project is now no longer officially part of the open stack community So that change has left a significant You know void in terms of contributions, which is the reason why there's a whole number of these things which are Excuse me marked as minor focus This has basically resulted in a significantly smaller number of contributions during the pike release Which is the reason why we're diminishing the focus here so Looking ahead to the next release though We are we had a bunch of meetings during the summit. There's a number of companies which are Interested in continuing to see trove success succeed and who are willing to put up the resources to make Trove have significantly more contributions In the queen release there for the significant issues, which we're going to talk about are I'm going to start from the bottom one of the things which is At this point a little bit out of date is documentation and we need to do something about that The second thing is that there's a big Gap between the capabilities which are available in trove through the API and Capabilities which are available in trove through the CLI or through the horizon dashboard And in the area of the CLI we're still using the legacy CLI and that is something which we have to fix and move to the Openstack CLI so that's all collection of things which come in the in the area there of user experience There has been in the okada release a significant set of changes which deal with security There are some more which are planned for the queen release These specific areas where we're thinking of hardening the system includes the way in which we use configuration groups right now Every time you spin up a database instance. There's a security group which is created for that instance Which is not really the best way to do it Some employers have asked for the ability to specify a configuration group for multiple instances So they can make one change to the configuration group and have a whole bunch of Database instances be impacted by it. That's the capability which we are considering There are other Security things which we're looking at in the area of how the day the guest images then surf our belt are built And put together But that is still something which is up in the air In the area of interoperability. I was thinking of most of the things related to upgrades and the way in which we handle upgrades right now Excuse me. There was a fair amount of work which was done in the pipe in the okada release for upgrades And we have to pick that up and bring it forward again for the queen release for for the queen release So those are some of the significant things on the on the bottom line there Um modularity and manageability are two which I want to talk about kind of together trove has Been on a relatively fast clip from the time when we came out with the first release a nice house to You know, maybe the okada release we added support from what was originally one database my SQL to now having over a dozen databases And along the way we picked up. I think technical debt is an understatement It's technical monumental debt and you know, there's a whole bunch of code refactoring which is required at this point So the manageability is not just the manageability of the system manageability of the source as well And part of that is modularity. So those are some of the things which we're going to be looking at because one of the places where it's now really hard for us to extend the project is that Bola spaghetti is probably an understatement as well. So That's Unfortunately where we are and what we have to get out of right now So these are some of the things in addition to what we had what I just talked about which we're looking at as capabilities for Queen Trove does support the ability you handle replication clustering of multiple different databases, but we're trying to deal with clustering and configuration management improvements One area which is specifically lacking at this point and some of you who are there at the session this morning Recognize this multi version support, which we talked about Currently you can have only one deployed version of any database and so my skill you can have five six or you can have five five or five seven Not easily have multiple of these That's one of the things which we have to deal with because when you are operating a production cloud It's not going to be realistic for you to assume that all of your tenants are going to migrate all of their Version x databases to version x plus one in lockstep We started working on the open stack client integration. That is something which is We literally just dipped our toe in the water. We haven't gone really far with that. We need to do more of that I believe that's something which Maybe a requirement for the Queen release. I'm not sure I don't know if anybody's attended the Queen release community goals thing Another thing which has been long overdue is databases and containers. How many of you are interested in databases and containers a curiosity, okay? Any preference on container technologies? What would you like Alexi? Okay Docker required? Wrong answer try again, okay, so we were thinking of doing this in with Libwirt Alexi At least as a first step The reason why we chose that direction is because trove has one standard compute API the only API we talked to is Nova The Nova Docker project is no longer supported So that's reason why it's at this point not Docker However, if you're interested in Docker if there's some way you can think of making that easy happy to chat with you about that And As I mentioned earlier, there is a monumental amount of technical debt and we're trying to address that for those of you who are familiar with You know this data for CI we have to you know improve that one of the complications of courses that we every time you make a change We have to test the change across a dozen databases and potentially different configurations single instances clusters and so on The the mechanism which we have for that is Not really ideal so no matter what kind of change you make even if it's a One-line change in a dock file it goes and tests all 12 databases, which is ridiculously expensive That's one of the kinds of things which we have to fix One area which has long been a bugbear for people deploying trove is how do I get guest images? And we had some conversation about this this morning One of the ideas which we did have was to push up tools to make some guest image creation available to all And that is something which we're hoping to do in Queen as well And like I said at the beginning part of the usability our documentation needs a little bit of rework so Looking even further ahead. I'm not Sure. I can say anything other than it's everything that we want Do I have specific ideas of what these things are at this point? No, but we're planning on having something which Trevor wanted to call a trove reboot in a couple of weeks where we're gonna have a better idea of what the roadmap is looking forward at which point hopefully will have as a community a better idea of what each of these things are but My goal is to get more people involved in the project and more contributors of the project to the point Where we can actually do something in this area so With that this is I believe the last slide I have We are at a point where we're looking to actually Make this forward-looking roadmap of what the capabilities are that you want I'm gonna start at the bottom of this list and say to help answer many of our questions We need the actual feedback on what issues you're having from deploying trove in production or attempting to put it into Production or even take it to a POC and what are the capabilities which you find are missing? Moving up from that we need contributors to the project and contributors are not just people who contribute code By the way, we need people who do code reviews as well If everybody wants to contribute code, but nobody wants to review it. Nothing's gonna get merged unfortunate but true And the last thing is to figure out what things you want code written for we need some input on that So if there's actual feedback you can provide us that would be awesome. I Don't have a whole lot else if there's something you want to say now I don't want the session to be just me talking. I'd like to go away from the session With some input as well. There's a bunch of people in the room who are also going to be participating on trove So if you have feedback now is a great time to put push it up The mics are obviously not working because none of you are saying anything Yeah Yeah Okay, great question. How stable is it? Why isn't it in your favorite distribution? I've used it for a fair amount of time. I've used it since since ice house or give or take change I know of a couple of people who have deployed it The issue with true is not stability It's just the overall experience of getting it up and running. It is a definitely a non-trivial project Why it's not in your favorite distribution? I I can give you a couple of answers, but I can tell you I'm not a Distribution vendor so I can't speak a thoughtatively. I can tell you what it looks like from the other side Distribution vendors are typically tending to put things into their project into their distribution that they intend to support The cost of supporting a project like trove is significant Put yourself in a position of your distribution vendor and say you're supporting trove trove supports a dozen different databases Are you going to be testing all of these? If so, what versions are you going to be testing? Are you going to be testing upgrades of these so on and so forth? So until there's until there isn't more people using trove. I Don't see the distribution vendors wanting to put it in there But until the distribution vendors put it in there. I don't see you wanting to use it I have no way to break that. I hope that answers your question or at least Peaks you to the peaks your interest enough to ask another I would point out that trove is in a bunch of cloud archive I don't know if that's your favorite distribution, but trove is they do have W packages for conductor API the client Python client. It's all in a bunch of cloud archive Now you have to go to canonical and ask them about support, but it is in a bunch of cloud archive It isn't that different. Yeah, so so I would interpret the question of is it is it in a distro? Is it in his favorite distro as being is it something which the vendor is willing to support another vendor? has for a long time had it in their documentation that show was in preview and They would work with a quote trusted partner to do this. Well the trusted partner ain't there no more so What are people who want to use to trove supposed to do? What is the development model? So at this point if you were to submit code who's going to review it. There's probably a half dozen people in this room Who are going to be the people reviewing it? Who is going to who's going to commit it? It's the standard development model as any other opens that project so The mechanism is relatively straightforward You clone the trove repo You make your code change You push the code change up using git review because OpenStack uses Garrett and it gets reviewed Tested by the CI and merge to that point What kind of changes are you looking to push up? Okay Unfortunately the presentation this morning was not recorded the onboarding sessions so That would have been the cool YouTube video, but at this point, it's I think only audio Sure, absolutely. I think all the PowerPoints are are being shared by So you will at least get the slides If you want the cool YouTube video the only thing I can suggest at this point is we either do it face-to-face or personally or Webex or something like that and you know drop me a note on IRC or Email or something like that, and I'm happy to help you Okay, you'll I'll definitely make sure the presentation goes on that mailing thread, but since your question is A bootstrapping question. Are you on the mailing list is I guess the first question? So you get on the mailing list Since you want to commit code. Have you signed the individual contributor license agreement? Are you therefore you have a launchpad account already? Yeah, but 90% of the way there Okay, other questions I Don't know the definition of done. I know the definition of not done and we meet that one on a per data store basis Okay, so we've not had a good set of processes around that what we do have is that If you're gonna push up a new feature a Significant new feature you will have a spec If you're submitting a bug fix, you don't need to have a spike by extension when you commit your code If it's for a significant new feature and you tag it with the blueprint tag That is supposed to trigger the documentation process where the documentation will get updated the implementation of that is that our dock liaison will get notified of it Trevor and he will Do the magic to make it actually get documented the documentation at this point is Not bad. It's out of date and It's a perfectly fair point if you were to say what's the distinction between the two It was accurate at some point of time not too long ago. It's a question of catching it up at this point, please Generate samples why don't you turn around and I'm sorry. Okay. Does this work? Yeah, or okay I'm trying to like reconstruct the how you generate examples for documentation because right now it doesn't support clusters And it was written really really long time ago. So I really don't understand a whole lot of how it works I'm just trying to plan on like probably gutting it out and redoing it all over So if anyone has experience and just you know simple like API generation And not like create snippets or how normally they're listed. Can you reach out to me and can we work together? I'd be great. There's already a bug filed for it. It's because like there's no Cluster documentation whatsoever because it only supports like one instance ID speak to Monk see Monk see okay, so you're the guy we have to blame for that thing. Okay Hmm no, no Yeah No, this this the specific thing which he's talking about is the documentation of API's The way it's currently done is you run a test job which invokes a whole bunch of API methods and Something actually captures. What is what's the request? What's the response in a successful case and an error case? Nobody wrote that code for clusters That's about it The tests which actually exercise the API for clusters don't exist. Okay Anything else going once I Think we're gonna have to if so so let me repeat the question when is our first reboot meeting We need to find a time which is going to be convenient for Paris you in the UK At least as far as the Midwest. I don't know if anybody on the West Coast wants to show up or not It's gonna be a little bit early in the morning. Sorry about that We could do the alternate thing or whatever it's probably gonna take a week for us to get the meeting time nailed down because That's that's a commit which gets reviewed and merged. I suspect we can have the first meeting and probably a week So sometime next week or No later than the week after that The idea of waiting till the PTG to have this. Yeah, no on that. It's got to be way sooner than that Let's just have a quick show of hands here 10 a.m. Central work for you Work for you Paris 10 a.m. Central is what time Paris 5 p.m. Paris could be okay. All right 10 a.m. Central. I'll try and see if I can get a bridge. I Don't know if there's a bridge available All we have to do is find a IRC bridge which is available at that time. Okay, Wednesdays still the same thing Okay Sounds like we have at least starting point of the consensus Other questions mugsy your hand up. You had your hand up In what way the guest agent was right now pluggable, but oh Yeah, the config map is currently a mess in that that is one of that was one of the things on the we need to do this That is the Yeah, that is something which we're looking to do Are you signing up to do it? Sounds good. Thank you. It's on the record Other questions going once twice sold. Thank you folks


Hey y'all, how are you guys doing? It is time for another hair related video I'm a little nervous about this y'all because I posted up on my community page that I purchased this and It was based off my girl D She said have you tried the new pattern? Oh not new. I said no. She said this will go too So when I posted it in the actual community page people like girl It took my hair all the way down. I'm like Couple of people couple of y'all said so this mixed reviews basically that's why I'm nervous mixed reviews That she's just right into it. This is the pattern. This is the mini shower brush I think if I get the mini shower brush, it'll be minimum damage And plus some of that was under $15.   I'm just not gonna do it. No, I'm cheap. So Let's see what it says y'all designs for curlies coilies in tight texture Interesting Spanish. No, it's French compact it Parfait appallee Deplacements not all right. So suggested use while applying pattern conditioner This is two sections wet hair you shower brush to gently work conditioning through hair starting at the ends and working your way up Start it from the bottom. Okay, so we're gonna go ahead and do what she said. Okay, so I Have a spray bottle here with water. I have conditioner And we're gonna go in with the actually tangling tool. So you guys let's just go ahead and open this up I purchased this from Amazon.com by the way And this is mini so ooh, that's hard. I can see the problem. I'm ready. It's not flexible There's no there's no resistance. It's either all or nothing. Look look. Can you see the girl stop? You see that and it's mini. So if I compare this to Somebody on still my police a little bit. Yeah, I always blame people for stuff when I can't find the stuff This is the police your leather wood. This is so this definitely is a mini Here's another detangling tool Just to just to show you guys that I need to I need to you know, of course And this is a modified denim brush. This is just so you can see example. Yeah, I need to clean this out This is my junk junk yard So let's go ahead and we're gonna do three sections Just start off. Um, this is the back part that I already took down. I'm gonna lightly See, this is a this is this is a sign that some conditioner Y'all see that you see that I know this is not the best representation, but She may be all right. I was being nice. Let's do it in the front so y'all can really see Okay, so now let's Yeah, I'm nervous. I don't know why Okay, so let me start in here. I Definitely feel like this is something you definitely need to do it on Wet hair Because Yeah Again, y'all this child So basically in the shower would be the best way to use this but let's see. I don't know y'all That's beautiful Look at that. Okay, so I Hate to do this. You shouldn't compare Let me this versus dirty too. I just want to see compared to the denim Okay Well That's a that's a big difference the difference is This gets through with little to no resistance This one Some resistance, but if you're looking to define your curls This is where it's at baby. Look at that This is where it's at to define the curse. That's beautiful y'all. Let's try them I just this wasn't supposed to be a comparison, but I'm just seeing how yeah, I see yeah, I see The Felicia Leatherwood eats every time Look at that y'all look at those curls Hey, I don't love it, but I like it You know what I would really like this for for this right here Not necessarily for detangling, but if you're in the three Category for a this thing is banging for Defining curls again, not so much for for detangling, but it's not bad for detangling I mean, it's it's getting the tangles out Are the other better detangling tools? Absolutely. You and I both know this but This is not bad. I would definitely use this in the shower again I don't know if it's because it's the mini version But it's easy to use. I don't feel like it's really snagging my hair a lot I don't feel like like a lot of I don't feel like a lot of hair is coming out In my opinion is better than that viral TikTok Come on my god. I mean detangling tool child. You would know what that said But yes, I like this. Thank you D for the recommendations to all you other haters I'm just kidding y'all, but not you know, that's the thing not everything works for everyone Um, and so I had no problems with this So that is it everyone. Thank you so much for watching and thank you as always to all my new subscribers Stay here. Bye. I would typically wear my hair kind of like this um You know like that, but look


Welcome to Digital Asset News. I could top stories in cryptocurrencies and digital assets and break them down into bite-sized pieces. Let's start with something new. This is all based on yesterday. We did a very quick snippet. It was like four or five minutes. We talked about one story very quickly. It was all about Facebook, how there are 48 regulators that are going to go after them from each state, the state attorney's office, and they're going to try to shut them down because of their violation of the antitrust laws. I went over so well, everybody liked it so much that we're just going to keep doing that. We'll do a very small snippet story and then we'll do our large story later in the day. This is the story that I think is incredibly important and it's going to have ramifications all the way throughout. Spain's second largest bank, BBVA, launches Bitcoin trading and custody in Switzerland. We have been talking about different banks that are getting into this industry and it seems like they're happening at a breakneck speed. Before no banks really want to do anything with it, now here we are, bank after bank after bank. That's on top of Standard Chartered, which is a huge banking industry in the UK. They have a ton of different branches. A lot of people are working for them, a very big player in the banking game. On top of Kraken, that just got approved for a special depository institution. On top of Avanti, which is now going to be called a digital asset bank, and this was just approved October 28th, was granted by an eighth no vote by the State Banking Board. This is in Wyoming, United States, and also we just saw yesterday that BitPay wants to create a national bank in Georgia. This is going right in line with what Mike Novigrat said yesterday. I'm not going to play the video. All he said was pretty much this. We have a ton of interest. We have a ton of institutions coming in. It's coming in at a breakneck speed on top of the fact that all the banks are going to be forced into cryptocurrency assets because if they don't, they're going to wither away and they're going to die. With that news, here we are. Second Largest Bank BBVA is launching cryptocurrency services. Here's what's happening. It's stated that we have begun throughout the trials of what will become its first commercial service for trading and custody of digital assets. BBVA is Spain's second largest bank after Banco Santander. If you recognize that name, you might know it because of the XRP trials. Anyhow, the group was found in 1857, 727 billion euros in total assets. As of September, it's got 7500 plus branches. It's just a huge bank. The new service we offer through its Swiss subsidiary, BBVA Switzerland, this is the interesting part. Customs will be able to manage Bitcoin transactions and have deposits in this crypto, starting in 2021, which is what everything is starting with is 2021. 2021, it seems to be like the magical year. And it's what I've always predicted is going to be like the year for crypto digital assets. But BBVA will offer its clients a service of trading and custody of digital assets with all the guarantees of any other banking service with a transparent system that's very simple to operate. So when they say custody digital assets, that doesn't mean you're going to be custodying. That means they're going to be custodying it and you're going to get paper Bitcoin. Now, is this a good thing? For some of the OGs like you and me, no, it's not because we want to have our private keys. We want to control it. That's the whole beauty of digital assets. But what's going to happen here is it's not going to matter because some people don't care about that. Now, some people might get into it later on and we'll educate them as best we can. But for mass adoption, this is huge. And when it starts to talk about here with a transparent system that is very simple to operate, the reason why they were so against it is because banks make a lot of money behind the scenes with the curtains closed. So if you have something like this with a transparent system because everything is on the blockchain, this is just something that they had to do. They resisted as much as long as they could, but they can't do it anymore. Anyhow, that is it for I think the news article today. We'll get into bigger topics later on. So thanks for sticking with the entire video. I appreciate it and I'll see you tonight on the next one.