to be on like on call all right Yeah, so browser we wanted to see what we could do with browser API Block chain identity in the browser or the key service Made up a few areas that we you know, we felt there was right for standardization One was creating a new API or updating an existing API For off so maybe an extension to the web off spec that would allow the browser to understand a blockchain based identity and Do the signings necessary to log you into sites? Secondly, we wanted to resolve and display blockchain identities In the browser so you could view people objects devices anything that was defined as an identity on the blockchain Imagine opening a tab and a browser and typing in like at you know Your name dot ID or some device you have dot iot and actually seeing a page a chrome page That displays the the output so it's kind of like a profile of that of that identity and then Also adding DOM APIs for interacting with identities So the idea that if someone has an identity and signs a site into agency with it like Twitter or something like that Putting some DOM APIs out there to crud identity data that Twitter might have access to so that's and then also Request payload signing so that's something the browser would need to do if you want like implied authentication You would have the browser use a derivative key to sign payloads as they go out So that apps that are receiving those payloads can check that they're from the the user So those are like the four areas we were interested in pursuing for standards and it's about it first off Isn't that fun? Have those been recorded up there? Okay, great Well, I guess are there any questions? Okay, Manu up next all right So our group got together and talked about blockchain standardization proposals So these are actual proposals to kind of start work at W3C or ITF with the focus of course on W3C I'm going to kind of List the proposals. We're gonna write each one of the proposals up here for the dot loading segment But we talked about and these are in priority order So these are in loose priority order These are the things that were people were most interested into like not as interested in so blockchain receipts was up there at the top IPLD Semantic vocabularies and ontologies for blockchain We also discussed that Folks felt like we need a blockchain interest group at W3C to kind of steer this work There was a discussion around smarter signatures, but I think Christopher and Peter are gonna take that stuff up Digital assets so expressing digital assets on decentralized systems Something called libp2p, which is interfaces for peer-to-peer protocols network transports peer discovery things like that a URI format for different blockchain networks Key management in the browser so cryptographic key management in the browser How do you do proof of existence? So standard to do that generalized like client header proofs Ways of expressing and using hierarchical deterministic keys The multi formats from IPFS multi hash multi stream multi codec multi adder There was discussion around Exposing core network primitives in the browser like access to UDP or Bluetooth or NFC And then there was a proposal for a blockchain gateway interface So next steps are we're putting these proposals up here and based on the dot voting That'll give us some idea of the priority that folks would like to assign to them Okay, any questions Did anyone actually listen or everyone's on their phones and laptops? Okay, great, so I'm gonna So many just you know I could make this comment about several of the priorities, but you have key management in the browser This would I think be the fourth attempt that W3C has tried to do that, right? So what are we gonna do different this time? I Don't know More seriously, I think it's there's a more pressure now on on key management We've got other systems that we're trying to integrate with and the question is is that gonna be it's got gonna change anything I don't think there was a concrete proposal around what was different. It was just a we would like to have that discussion again The field has changed Anymore, okay, so Next Christopher, did you have anything? Okay Yes, our table was considering the I guess some of the legal implications and the proposition that we considered was Legal docs consider them as we do open-source software or source code, you know systematic doc at a time And we discussed a couple of different things specifically mostly what some of our challenges have been around You know the blockchain is a communications channel. How do you legally secure that open communication if you're talking about transactions? There's no real legal framework that's been established as of yet For example our friend here from China is working with the Chinese Bank. They're extremely conservative They want to make sure that whatever is it's going on is regulated and it's governed appropriately Myself working at the university, you know, we're not able to leverage similar knowledge with similar situated situated institution So our office general counsel was swamped using anachronistic methods So the key takeaways for us were Sorry, I have 12 pages I'm looking at you It is now he's And I'm getting very scared because I'm running out of time So we were looking at some next steps I think Looking at common a court for example to as the core of a solution or at least the beginning is a solution You know coming up with a common record format We talked about quote-unquote page rank for transactions in other words if you're dealing with audits It'd be nice to have the address of that transaction have some sort of weight average that may contain identity Contains centrality the value in the amount We also came up with the issue of standards. There's all kinds that exist today that don't there's all kinds that don't exist that ought to our friend Eric suggests that also brought up that the ISO is recently looked at the ISO TSP 258 which is The ISO is looking to see if they need to get involved in some of those blockchain stuff They're right now looking at the 50% vote to go ahead and greater than five countries to begin That proposal is open right now, and it looks it's got a July 14th end date for responses That's it comments questions concerns Shortly My name is Peter. I'm from Boston College So I was hoping you could expand more on this page rank for transactions it sounded interesting but also very confusing so what is this Well, it's a notion of centrality. I think of the transaction I think it now you elaborate a little bit more yeah, so blockchain has addresses and we are connecting addresses with the transaction transaction can be the Relationship line between the addresses. So we are able to calculate the centrality is up to the second depth So if the address has a connection to the weighted address, then we are able to add a more weight that can be part of the The score of the address and also we are able to calculate the size of amount and distances from the Genesis Chains and Also the change over the ratio of the changes of the amount. So that can be the conciliable fact and maybe We don't know who own the address but at the auditor Or the regulator they are able to screen a screen which address has an importance and we are There is the my thinking Okay, any more questions Okay Thank you again. Who's next? Okay, Christopher. We'll talk about smart. Well, so we our table brought together Interledgers crypto conditions and Peter Todd's and my smarter signatures slash decks The main thing that we settled at the end of the discussion was that they're very compatible That we ought to make them work together So we got some it's some additional requirements from crypto conditions that we will try to resolve with decks and have a single Approach to it. There's some discussion about bringing it to ITF In July, so maybe I will be going to Berlin after all To see if there's interest there and if there's not we may bring it to W3C What was the discussion about? well, I mean Crypto conditions is more of a structure as opposed to decks which is more of a language in a sense a very simple language and Could we Get a number of the different types of things that crypto conditions did in the structure including a bit mask in the beginning That kind of let you know. Oh, there's an RSA operation here in here. Do you support RSA? You know, there is a ECDSA operation here. Do you support ECDA DSA? Do you support Bitcoin curve or whatever? So those kinds of things could be Prepended to the the structure that allowed an evaluator to go. I don't even want to touch this and Whereas decks you'd have to actually evaluate it to determine whether or not there were things in it that you might not understand so We're working out how to do that Did This any more questions, do you feel like you know what the discussion was about at that table nods twinkles, whatever Okay, next The security team, right? So we had a small committee at the security table but we we had a discussion that started with the level of research and how mature this is and How does that reflect in the implementation level and the fact that okay for some blockchains if the functionality is very reduced We were doing okay, but this is no longer the case there was a discussion on and now and The the issues that came up in that use case that the governance and the implementation that could have been Implemented upfront Separation of the hash and execution so splitting the different parts so as to make them auditable and and make more hardened and make them Yeah, I'm secure and The expectations so understanding what the risk is when you execute something so have a some sort of measure And and then we we went back to a mature slide as long if you remember it it had different levels of the stack and it had the standards that you should apply to those stacks and So it was a great slide. So we just discussed around that so it had the different The stack level had operation and implementation and then more fundamental Stacks, which is an application and the cryptography and we the associated ISO standards around the security the protocols the privacy and The policy and auditability. So all these things we didn't exactly know how to make sure that You had something that was safe, how do you prove that your stack is actually secure? and so the outcome of discussion was that we need to be able to have there's some implementation layer that can be pen tested and The cryptography can be can can be evaluated so that we have an assurance at the code is secure and We need more research to do a fine grains because right now we discussed that that the Part of the stack is too compact. So there is no No way to evaluate that clearly. So fine-grade Layering of the security stack And finally Looking at coming from the the cloud world we have an organization like the cloud security alliance and what that gives us essentially is best practice in terms of security and we couldn't find an equivalent in the blockchain and So we thought it would be great If there was an initiative like that that would allow us to understand The the way to implement security from day one Great Did you put that on the board? You're supposed to put it would be good to put the outcome or the action points On the board so that people can vote for it. Okay, and I Assume that now you're setting up this Organization that you talked about We'll find the right people in the room. I'm sure Okay, so if anyone wants to set up another organization Go to this guy. Any more questions? Okay Next So I'll net out the next steps and then Dr. Adrian will give some Highlights from the discussion The three four next steps that came to my mind one of them actually overlaps a little bit from the from the feedback We received yesterday One is it's pretty clear. There isn't a very good categorization of devices there's a body of work that needs to be done to categorize the devices and They're probably multiple dimensions on how to possibly do it One could be by footprint and capability kind of size other could be by Mobile versus fixed silver kind of thing third could be by longevity Which is something I alluded to in my slides could be by ownership could be by spatial temporal kind of dimensions So there are various ways to cut and you know slice and dice this and I think that's a really important body of work That has to be done second one is Broadly for a broadly phrase basically the integrity of devices and rapid transactions from a user interface perspective The vision is that transactions would be happening very rapidly and how does the user keep control for stuff that needs to be you know overridden or reconfigured third thing is These are some of the keywords that came up in the discussions not all exhaustive And that is about indexing declaring making data about the device available in a standardized manner I think that's another really important body of work, which is just missing Okay, and then the last thing is a little bit related and that is the whole area of discovery of a device addressing a device Directory services, you know, what's the equivalent of DNS and LDAP for the IoT world Registration of device and you can extend that to provisioning and all that so you begin to look at it from a lifecycle kind of standpoint I think those are like two three important bodies of work to be done so I'll just rattle off a few of the Sentiments that were expressed one of them is What's unnecessary centralization, you know, what's the right amount of centralization when it comes to devices? Another one is that identity is separate from reputation or or or trust so that again different categories of devices would Would change that Another one was Delegation the concept that in order for things to scale yet There has to be built into this the ability to deal with a lot more devices than we might want to deal with on a one-by-one individual basis avoiding or considering surveillance as these things are out there and All the characteristics we mentioned and pretty much I think That was kind of like the overview of sentiments that That were expressed Lovely. Thank you On board Okay questions comments Okay Thank you again You I guess you're the final report back. So Did everyone report back all of the groups? Yep. Okay, so okay We were sort of initially the table with the crypto conditions and it was sort of really two different things. So we split up We talked about interoperability sort of inter ledger lighting network protocols and how these sort of networks on top of blockchains would look and it was pretty interesting, you know, very different perspectives and You know, I know there's some people from the sort of crypto Bitcoin blockchain side And then all other people at the table had experience with traditional financial institutions And there's a lot of similarities and some differences and so we're sort of like, oh, yeah We have that problem too, you know, this is how we were dealing with it So a lot of what we were talking about is you know Apologies of what these networks are going to look like and you know, will they become centralized? Will they look more like a star topology? Will they be like a well-distributed graph? How how do you do you want it to be well distributed sort of like I guess in the in the web case? It started out with you know, everyone sort of running their own little servers And now you have you know a very sort of long tail But it's a power law distribution where you know the top 10 sites get 90% of the total visits and things like that And so there's you know, there's reasons to look at it either way And then also sort of talking about okay, how do we not necessarily make standards? Because I think it's a bit early for a lot of these a lot of these projects are not standards ready in that They're not really operational yet. They're still in in development, but you know standards between ledgers between Blockchains between currencies and also how to get Existing financial institutions to say okay Well, we don't have a blockchain, but we will accept some of the same Crypto conditions essentially that the blockchain may have to okay We'll move dollars from this account to that account if you provide this digital signature or something like that And if you can get banks and other institutions to work on that then you can sort of integrate even more than the existing blockchains What were next steps and Points like that we it's I think it's sort of still a bit early to say like okay We need to make a standards committee and do all this but but there's a lot of you know ideas of okay, how can companies use this risk risk management and How can we the legal aspects of this work, too? So it's you know good conversation definitely stuff to keep talking about. I don't know if it's Do you have it anywhere summarized accessible something if it was a good discussion we would like to know I mean Yeah, it's it's sort of a Lot of it was just talking about how this could potentially work and it's still pretty early. I think So just as a first I have a question You say it's not ready for standardization is it ready for something Would incubation help is it still in the phase where? you just have a Project that you need to work on or is it maybe to the point where starting a community group or starting a conversation like that Might be a step towards who knows maybe two years whatever Yeah, whatever it is down the line. So that's also something up here and we can prioritize things based on their urgency and and their readiness, but We can also be thinking longer term. How does this fit into the larger thing? I think standardization is really important and a lot of it now is just okay Here's how what we're working on works and here's how what they're working on works So we can also see how it at all works and stuff. So with a lot of it education Sorry as an admin note If you want to give us the any of the papers that you have that people have written notes on if you don't want to keep Them give them to us and we'll try to record them We will record them. Yes, we'll take a photograph with them. Um, I My question is I thought it's very important that you you said that you didn't think some of this was ready And so Doug had one part of the follow-up, which was oh, well, what would be ready? I'd be very interested to hear your sense because you're definitely in the middle of it at your company What are the aspects that you it seemed like they're not ready yet because that's imminent as we develop this list It's easy for me anyway to get all caught up in it and start kind of moving forward with momentum But what are the signs that that make you feel it's not ready so we can take that into account? I Think it was sort of the idea of you want things that are operational and you want sort of a descriptive rather than Prescriptive standard it seems like I mean, I'm not a WC3 Experienced person, but it seems like that's sort of the idea And so a lot of these are technologies that are not currently being used widely And so we're you know people are talking to companies people are building things But we don't really know what the network is going to look like yet. So so that's why it's sort of like Let's see how it works in real life and then I just had to take a moment to plug we actually do have a W3C community group focused on interledger And we're talking about a lot of these things on there So if y'all are interested in these types of protocols I would encourage you to join that group because we were very much interested in using the W3C structure to kind of organize that community Any more questions Okay, so I think that's all of the report backs now Let's clap And now after we finish clapping I would ask every single person to grab a Box a bottle a box and a bottle or whatever you have around yourself If your box has chips or cookie take them out and put them on the table and Bring all of that to the trash so that the tables are nice and clean and we can actually work Okay, Jeff. I'm also looking at you Okay, well then take out the food and put the box away I'm still seeing empty bottles on the table. So they should disappear I saw when you came So we're gonna have a break for a few minutes and then when we come back We're gonna be doing the dot voting and please make sure that the tables are really clean So like if there are bottles and so on just clean them out. We are adults seriously I I I I I So everybody While you are Milling about feel free to come up here look to see if everything that you're interested if something that you're interested in is represented up here if it's not go ahead and make one and We will be handing out some stickers in a moment. Everybody likes to play with stickers and Are we ready to does anybody have It's not on the wall that they definitely think needs to be like a working group or a major project That that you know maybe was discussed on a pre okay start over again Is there this is your last chance to get something on the wall? And what should go on the wall is like a major project a potential working group activity or You know something that maybe we talked about yesterday But somehow didn't come out of the discussions today that are deserving of group effort group collaboration So we want to make sure that we're not missing a few One thing yeah, so if you think you've got one come up here look at the ones that are on the wall Make sure that it's an isn't a duplicate and then write one up. You have we have like five minutes


I want to look right over the ears, just like this. My shoulders match the angle of his shoulders, which is the same angle as his hips. See? So I want my shoulders square when we're straight, perpendicular when we're straight. So my shoulders and my hips would be square with his shoulders and his hips.


Let's look at the average function that we wrote in a previous video. It has two parameters, and it returns their average. When we call the function, the returned value becomes the value of the expression. Because this function returns a value, we call it a value-returning function. Another name for this type of function is a fruitful function. Let's look at another way of writing this function. Notice that there's no return in this version. Here's the rest of the program that uses that function. It takes the parameters, but it doesn't give any value back. Instead, it displays the value to the screen as a side effect. A function that doesn't return a value is called a void function. Here's a program that uses both these functions. We call the value-returning function, store its value, and then print it. Then we call the second void function, which does the printing within the function. When we run the program, they produce the same output. So, which one is better? In this case, the value-returning function is preferable. Let's examine why. First, the void function always prints with two decimal places. If I were to change my numbers, let's say to 3.472 and 7.919, with the value-returning function, I can change the output to have four decimal places. The caller of the function gets to decide how it's printed out. Whereas, in print average, it will always give me two decimal places no matter what. Another advantage of the value-returning function is that I can use it if I want to find the sum of two averages. For example, I can say, average sum becomes the average of 3.7 and 4.2, plus the average of 4 and 8.5, and then I can print that result, and that works. But I can't do the same thing with print average. I cannot say print average 3.7, 4.2, plus print average of 4 and 8.5, because there's no return values to be added. As you'll see when we try to run the program, and we get a type error, in general, you should write value-returning functions because they are more flexible. You should write void functions when the side effect is your goal. That, in fact, is what the print function does. It's a void function. It doesn't give you back a value to use in further calculations. We only love print because it does side effects. And that's the main content of this video. Feel free to stop watching now, or continue with the next part, which gives a non-vital but interesting bit of information. When I said that print average doesn't give any value back, that wasn't really true. It turns out that Python functions always return a value. When we call this function, Python returns the special value, none. But since we aren't assigning it to anything, the value gets thrown away. Let's see what happens if you do try assigning the return value from a void function. We'll have print average, and make it part of an assignment. And then see what we get. The 5.65 was produced by the print in print average, and the return to value that we printed was none.


There's no better feeling than checking everything off my early morning to-do list, which today included fixing a healthy breakfast for the kids, a quick workout, my morning meditation. To keep those positive vibes going, I recenter myself later on in the morning by curling up on my bench with coffee, belvita breakfast biscuits, and a good book. Even if I just have time to finish a short chapter, I love getting lost in a wonderful story. Go to my captions for more info about how you can enter to win an awesome sweepstakes from Belvita that would help you rise and thrive. And remember, moms, it's never too late to restart your day the right way.