 So it'll be five groups and you'll self-organize the tables according to your color or according to notes. And then we're going to go through a rapid evaluation framework, which will be applied to the case study as it applies to legal workflows. So we'll get started. Thanks, Amy. Hello again. So before I get started, I just wanted to ask that you've had an opportunity to maybe digest it a little bit. Were there any questions or observations or other thoughts about the anchor use case that I put forward at the beginning of the day? Commercial purchase and sale of goods and applying that as a way to evaluate the legal dimension of what's happening transactually with blockchain technology? So why blockchain stands out in an introduction to smart contracts? Like clicking doesn't work sometimes in an introduction to web browsers. Here we go. Something's happening. Could I trouble you to help me navigate to this URL? So I put together a short so-called briefing for lawyers on blockchain. And this is to start with, I wanted to just break down some of what Matt went through at a high level. Went through some of the math and some of the high level almost structural or architectural views of blockchain technology. But he used a number of words in there that I think probably bear a little further demystification. And it's also a way to start to look at as Amy kind of named the session like why does blockchain stand out? What is so unique or different or important about it? So the very first thing is that it uses hash technology. I'm going to sit down here. So this little demo you can grab at log.mit.edu shows basically literally how a secure hash algorithm, SHA256 hash works. And again the purpose of this algorithm is what I would call from a more legal perspective message integrity or creating some evidence that data has not changed since a certain point in time. So I'll put some data in here where actually can anybody tell me some word or phrase to type and we'll start with that data. The answer is 42. So it is. Now we'll go around the universe to find the question. That's Doug with Adams. And so this is a hash 5, 4, E, 5C of exactly that information. That data, those characters. So notice how it's just basically alphanumeric string and if I were to, let's just say that this data were a trade secret or a contract or whatever, any bit of data that was a bill of lading that you wanted to lock down say for purposes of providence or to create and preserve evidence that something happened at a certain point in time you could apply this hash algorithm to it and you would get the same exact string length but a totally unique string of characters. So notice how if I add even one number to this say for 22 totally different string emerges. So if I were to email you the answer is 42 or put it in a plain text document and you apply this algorithm to it. There's an open standard. There's lots of open source and proprietary software that will let you apply the exact same algorithm you would get as a result 7A3, AAB9, etc. And so that would tell you that the data hasn't changed. Assuming the hash data hasn't changed and there's nothing in the data change. You could put the library of congress or all the works of Encyclopedia Britannica. You could hash that and if you changed so much as a comma or added a space or introduced any change whatsoever again you would get a completely different string. But notice that the string is the same length. This is a very elegant algorithm. So even if I had gigabytes of data I would still get the same length string. So that's one rudiment. And the way just building up here a little bit that looks, this is somewhat simplified in streamline but basically applying that in a blockchain. Let's say this is block 1 of a blockchain and I added the data. The answer is 42. What this is doing in the block now that we've introduced the concept of like a, you can think of it like a page in a ledger. We have one data element. The answer is 42. And we add that to two other data elements. The block number. We're kind of tying now the transaction of the other information in the block to a block number. And this interesting thing called a nonce. That's basically in blockchain a nonce is added to so when Matt referenced that there's proof of work or there's mining that happens literally what they're doing when they're mining. I'll just click this button. Well first of all notice the hash right now. 1c4913 and notice how the block is red that's because I added some information to it. If I take this data out we'll go back to the original screen. Okay now it's colored blue. So the hash is 1.72608. When you hash those two data elements you get this result. If you add something to it if I added piece of information here we just coded this so that it changes the color to red because that does not create that hash. If I add information here and get a different hash if I mine it basically what this process is going through a calculation and asking what is the lowest number I can add to the nonce field that will get me a hash that starts with 4 zeros. You're probably wondering what the heck is that all about because it sounds like a very peculiar puzzle. It is a peculiar puzzle and there's a certain amount of computational difficulty to basically add to the nonce put the number 2 in and then hash it and see does that give me a hash result in the bottom field that starts with 4 zeros? No it doesn't. How about number 3? No it doesn't. In this case the script behind this processed 296,443 different numbers just adding one each time before the first number when added to the answer is 42 and the number 1 for the block number that results in a hash that starts with 4 zeros. Because this is somewhat computationally intensive to go through all those processes we call it proof of work. That's pretty much what's happening with mining. From time to time the bar is modified. It's a little higher, a little lower, usually higher so if the question was what's the first hash that would result in 5 zeros it would be a much larger number. It would be much more computationally intensive. That's a little something about mining. Let me just say something more typical in a blockchain would be Alice transfers one coin to B and then maybe another one is A transfers two coins to C. We've got two transactions in this block. We mine it and 71,655 is the first number when added to the number 1 and those characters with two transactions we'll say in the block that will give us a nonce of 4 zeros. Now let's add the chain concept. That's a block. What about a blockchain? Matt referred to this but let me break it down more simply and more explicitly. This chain here we've got block 1, block 2, block 3 and again just conceptually each block is like a page in a ledger or some arbitrary range of transactions in like a ledger. All of these have been kind of preconfigured to start with 4 zeros and these nonces reflect that so 1 and this number 11316 will give you this, well I'm sorry the previous block before 1 was nothing so we put 0's in there but that'll give you this hash 0157. Now notice how it says previous hash in block number 2. That's the same number. 010015783B, same number. So when you hash that previous hash with that nonce and that block number you'll get the hash of that block. So the block number is 2, the previous number is that 0100157 and if you click on the mining, the first number that will get you a hash of that block that's registered for 0's is that one, it is 35230 in the nonce. If I added some information here then that would no longer be true. We'll just say like A, well B some action B transfers 1 coin to C. That block thinking. Sometimes it takes a little while because the number is a little high. Okay there we go. So it changed the nonce to 186803 and now we've got a hash at the bottom when taking all these previous things that start with 0's and I've actually broken this one so if I kind of rehash this and the reason I there we go. So what this shows us basically is that you can take by hashing the hash of the previous block as one of the elements in the next block we get this unbroken chain for message integrity all the way back. With 0's is also kind of handy this is just a practical tip. When you're actually evaluating a block just with your eyes let's say you want to go back and not just use a script or a cryptographer but you just want to eyeball some transactions in a blockchain. Being able to look at those for 0's and look across them is actually very handy if you were to then arbitrarily take a block and rehash it and see block 10 million in 5 that those 0's apply. That will tell you a great deal about the integrity of every previous block and if you glance a block and notice oh there's not 4 0's in there if that was a proof of work you immediately are on notice that you want to go back until you so that you can see what happens. If that ever happens to you if you're ever just trying this at home there's another pro tip the easiest way to do that is just to half them so if you're a block 10 million in 4 go back to block 500,002 and see is it accurate or not inaccurate there. If it's accurate there and you know okay well it was okay at that point then go up 250,000 block 750,000 and 1 or whatever the next thing is try it there and you can very quickly pinpoint where the problem was by halfing it in case you want to try that. Okay so there's a blockchain and then here's the concept that is touted a lot with blockchain technology which is the distributed part. So here it's the same thing we've got this block but we've actually got a copy of the same chain in several places and so what this represents I'm not going to belabor it so much that I actually put the transactions in and hashed them across the three blocks but you can try this at home it's embedded in our website you can also fork it and get hub and install it yourself and interrogate the code make sure it's right as we were going to be demonstrating it like people make mistakes math is wrong let us know and like do a pull request and get hub so we can fix it but pretty sure this is right it's been out for a few years and no one's broken it yet. So what this does is this represents in a simplified streamlined way that you've got a bunch of people playing the role of miners and they're all given blocks to try to solve by doing their mining and if you can tell that say I think we put three here or Andrews who coded this but three they're an MIT guy if they all agree if two of them agree that this is hash and one of them disagrees they have something different you could imagine a kind of governance mechanism where you say well we'll go with the majority like whichever blockchain information two out of three of the miners increases accurate we can write a script or create a system that will imbue that blockchain as being the official authoritative blockchain which will then clear and replicate through all the nodes if you have 100,000 or 500,000 miners this becomes much more probably true you can also go back and individually run the math yourself if you want to check the integrity see if there's been what's called a 51% attack where you've got the majority of miners conspiring or colluding in some way to change the history of the chain you could check that but the thinking is when you get enough people involved you can very quickly apply a so-called consensus algorithm to just establish which one of these changes accurate and that's the idea of distributing so there's two concepts of distribution here one of them is distributing the role of miners so that there's a lot of theoretically neutral third parties that are doing this or purportedly or we'll sort that and then number two it's distributed in the sense that every node on the blockchain has a copy of the then most current blockchain so that anybody can go back and look at the history of the transactions this is very helpful because some of you that are a student or have doubting Thomas's might have been wondering if you apply the hash algorithm that I was talking about on Monday and then on Tuesday you do it again how do you know that DASA didn't on Tuesday just send me a different hash algorithm and say this is what I did on Monday that would be the number one attack vector for a hash you have to sort of somehow preserve create and preserve the right kind of evidence and like time stamp it in some way about what the hash was when it was initially applied so that you know later that the data hasn't changed because the hash hasn't changed and so in some way one way to look at this is we're almost repunted on the data thing by instead of showing the data hasn't changed we have to show the hash that hasn't changed well the hash is data too it's just a little bit of data doesn't make the requirement go away of making sure that you've locked it down you know one simple way to lock it down I first learned about this stuff in the 90's is you could back when we had microfiche and libraries and paper newspapers one kind of practice was you could take the hash or a hash tree and spend like 20 bucks in the New York Times and the Toronto paper the which one the LA Times, the Chicago Tribune, China anywhere and just basically print the hash in there and then anybody that was wondering was this the hash that that given time can go in any library in the world that had microfiche of those newspapers and could tell if you went to two or three libraries you'd then be in a situation of thinking well are all the librarians conspiring against me as well so another way to do that is cumbersome is to do it all online and to create this layer of a blockchain that's copied to everybody every know it sort of accomplishes the same thing right so does that make sense so far what I've said sir do we need the I'll repeat your question go ahead that's a little bit out of my expertise and the question was how do mining pools work but at a very high level as I understand it so let's back up one step on the mining thing I mentioned miners and I showed you some of the computation they do but there's an existential question which is why would anybody take their time doing computation of hashes like for the fun of it or they're really bored or why so there has to be some incentive for some kind so the incentive within the initial I'd say almost inspired idea from Bitcoin was we could incentivize them by basically minting a certain amount of bitcoins and then allocating some bitcoins is a reward to the miner that was first to achieve the correct results basically the nonce and the computation and the hope was that somebody somehow people somewhere would ascribe value to these bitcoins and start using them like currency that panned out very well I think for bitcoins there is a minority of people I don't think we could call it legal tender yet but there are people that do ascribe value to bitcoins and now there's exchanges in this people that can pay for some things with bitcoins so the idea I think has been validated in practice and now those miners have a real incentive to get those bitcoins by doing this process so now we ask the question which is how do they do that and what is a mining tool? Well the more computational power you can deploy against this math question the more likely you are to be the first to achieve the answer by pooling your computational resources with others that have more CPUs, GPUs you may have a better chance to find the answer but first there's other things too, people have tricks and a little mathematical hacks and formula they do to try to be first so it's just about computational power, there's a little bit of trade craft involved and you might increase your practices and trade craft by pooling with others as well at one point people talked about that but I understand that the basic economic answer to why a pool of miners is basically to aggregate computational power the question was do they function as one node or separate nodes and I can honestly tell you I have any idea, sorry I'm a little outside of my confidence to talk about that can you clap the mic or hand him the mic please so we have some knowledge from the audience again, I got it, we contacted them, they can get to work and broadcast to everybody in the network but if you're part of the mining operation use everybody else yes, so everybody tries different nodes basically you have to split up the possible non-systems so everybody's not just trying to guess but everybody has a set of numbers so they're not going to be just each other within the total amount of data what was the answer? one node or more than one node? don't go away yet there's two things that occur to me as you're speaking and I think we might need one more rounder back and forth to get to the root of it one thing is there's an important property of hash algorithms of SHA256 and MD5 and all basic hash algorithms that I didn't mention but it comes up with what you're saying with reverse engineering and that is that these hash algorithms are called one-way hashes and when I stress that the string it remains the same number of digits each time that's connected to it so it's actually as I understand it all but impossible to reverse engineer what data could have resulted in that string you would have to try every combination of data in the world in a way so I'll try this blog post, I'll try that at will I'll try my uncle's diary and so it's difficult to reverse engineer from the hash what the data was and that's really great property of it. There's a second little thing that was sort of maybe on the edges of what you were saying is it possible you could have had two totally different inputs to create the same hash output and I wish I could tell you that was impossible but I can't actually I don't have it linked here but if you ask me at the break I'll find it and give it to you but there's these are called hash collisions. There's like a place where you can report it and there's people that are fascinated by this because it's so unlikely mathematically but I can tell you it's computationally infeasible that there's a hash collision but statistically it does happen very rarely and when one is noticed it's a big deal and there's high fives all around and it gets added to this list you know it will continue to happen but I'm not aware of any block which are actually identified by that unique number of the hash. You don't really go back and find block 256 and block 312. Actually everything's identified by the hash. Any of those I'm unaware that any of those have ever been discovered to be on the collision list. One other thing I'll say is I think it's also sort of part of the question that you're asking which is the connection between the hash block and the data in the block and the identities of the parties so like A sends to C and C sends to D. This is very important information to get right and to be able to traceably verify when the whole point is having a ledger that's supposed to provide you with some information security and some reliability. Well the identity of parties and devices code on a blockchain is found in what we call a blockchain address. So when you get a blockchain wallet for example, an Ethereum or Bitcoin or whatever and you install and kind of run it, it creates a key pair and it actually has this little protocol handshake thing on the blockchain that it's connected to to create an address and your address actually has your public key, actually a hash of your public key that serves as your address. So if you actually tried to change the name of the party or assume the identity of the party, say well my name is B, that should be my money. One of the great things about the architectural building block of public key dual key cryptography is that B if they have done a good job of keeping their private key private and not sharing it with other people, not allowing it to be stolen, can very quickly prove I am B. And the way they can do that is you can send them some data, you can encrypt it with their public key only they should be able to decrypt it or you can ask or you can send them some data and say encrypt it with your private key or digitally sign it if it decrypts with the corresponding public key. We know that the party at least has the key of that was linked or attributable to the blockchain address of B or whomever whatever the fact pattern is when someone is trying to forge or fraudulently assume the identity of another party. So that's kind of handy. Connecting parties to key pairs is just really great information hygiene. Blockchain does that so good for blockchain. Did that kind of get at what you were saying? I was hoping if I said enough things one of them would answer what we wanted. So I want to take a moment I accidentally mislinked one of the things in my slides let me just take one moment to find it because there's a nifty little table that I showed to Amy and she said oh you got to show them that table. Let me just find that. It's in one of the versions of the blockchain briefing. One moment. Everybody think about questions or ideas. One moment. Are you thinking? Oh great. Okay. Yay. First of all credit work credit to do. One of my clients is in general electric legal department. I think they're great and this is not a commercial endorsement but they've been great to work with and one of the things that they've done which has been helpful is some of the research or other projects and helping them with basically application technology to their fairly large scale and complex practice of law. If it's not particularly a trade secret or competitive or anything like that, confidential then they'll let me put it under Creative Commons license and just put it in a GitHub repost so other people could possibly benefit from it. So I don't think I put attribution to them here but thank you GE General Counsel's office. So this is the result of just a quick question that they had which is kind of the same question that partly animates this program which is what's blockchain good for? Why would we care as a legal department? People keep telling us we should care. Why exactly should we care? And so it's easy to say that in 50 pages of quizzical, ponderous text. Not so easy to say it in really few concise words that are as tight as the expectations of that office. And so we tried to do the latter for this one. So one of the properties that seems to be a good fit for blockchain is we can pose a kind of legal question, does blockchain satisfy long term record retention requirements? It seems like it could or should. I mentioned that stuff about message integrity will does it. So we did a few permutations of this but we looked at some requirements that people are familiar with. GE had a very big financial services operation in the day and pulled some of the, in this case, code of federal regulations. And you can go here and I'll fix the link or get it to you through Amy or talk to me but basically we did a bit of an analysis of this and it's like it could be very good at meeting some of those requirements. Right now we use Iron Mountain and we have to have a lot of practices and costs and overhead for establishing the integrity of records for long term retention. And there may be a play here but to reduce some of that by for example every day that you add a bunch of stuff to your business archives, for example government archives, you could hash that and you could add it to a hash tree and you could enter that information onto a blockchain and that could be very, very handy in terms of if there's a question or dispute about whether these were in fact the records that you added to your archive in January 1st 19, 20, 21, you could rehash that data and get the same hash and show well that was the block on that date that we entered it. It's computationally infeasible that the data has changed. This is the data in our archive in fact that we entered in that date. It doesn't tell you whether the data was accurate or whether it was fraud involved at least locks down that part and that's part of what people pay for with Providence and chain of custody and everything else in these services and what they stress, what we all stress ourselves when we're in-house. Our blockchain signature is enforceable it should be admissible and enforceable in court as evidence. So we kind of looked at some of the underlying law in the U.S. and Coda Federal regulations and then this is partly what animated that mock trial journey but it looked to us like yeah, they certainly would be. They're a type of electronic signature it's an application of digital signatures with cryptography and in fact it seems to have some very relevant information security properties that you would like to have when introducing a signature especially if you've taken that step of linking the legal party to a public key. If you've done that somehow through email correspondence, contract or otherwise when it comes time to enter into evidence a document that was purportedly signed by somebody with a blockchain based signature you could number one link the key to that party and number two you could link the application of the private key to the thing that was signed by basically re-signing it and seeing if you get the same value or verifying it with a public key and then number three you can demonstrate since the hash is part of what's signed with a digital signature and inherent to the protocol at which every block is inscribed and every product that's a transaction on the blockchain you can show that the data hasn't changed since the time it was signed. These are all handy things these are all steps along the way of laying a foundation to enter something into evidence so the answer there is like a qualified yes. The reason I'm saying qualified is when we dug into it later I think I mentioned there's still a lot of traps to be on a lot of practical issues about laying that foundation in a way that's understandable and it's going to be effective. It's not the, okay well let me go on to say a few more things are smart contracts enforceable as legal contracts? Okay so we didn't finish that so some of these are not finished and some of them are not necessarily cleared for public use yet but let me just stop on that one for a moment and let's take a look at smart contracts. I'm used to a Mac so it's control T for a new tab? Yes so if you want to know about smart contracts you can check out a recent legal hackathon that the MIT Media Lab ran this particular one was looking at the music industry and how to develop creative ideas that would give composers and musicians and other rights holders a better shake with royalties and with being able to manage the digital assets that is their music and their song books. So part of this involved blockchain and if you scroll down on legal hackathon.org we just did this last month you'll see I did a series of here we go a series of demos basically and tutorials on four blockchain smart contract systems to look at whether traditional license arrangement or co-author basically more than one composer kind of contract how those look and how we could express those through smart contracts. It turns out smart contracts are really well suited to some of those terms. There's a lot of formulas for example involved in the allocation of royalties and in tracking it could be very good as well because the forensic evidence that's accumulated as you conduct transactions on the blockchain and just as a spoiler alert there's a bunch of stuff that appears to have like nothing to do with blockchain like you just have to write out the indemnification. There's a bunch of stuff that occurs where there's no equivalence or there's no comparable way to express it or to effectuate the terms on blockchain. Those are the legal terms but some of the legal terms that relate to if then statements and formulas for allocation and even creating and preserving evidence that somebody in fact was paid if they if you're paying them in crypto currency it's that easy but if you've paid them off-chain say in Canadian dollars and they've acknowledged payment and you've entered their acknowledgement under the blockchain you can kind of get there. So there's a bunch of stuff that actually was a pretty good bit. So anyway we use our chain which is a nice blockchain and here's a tutorial of how to do that and how to create the terms and use their language. We use Monax which uses a tendermint and a new thing called Blackstone this is another open source company sorry it's open source code for creating smart contracts and this one's interesting because it also applies something called BPN2 which is a business it's basically a business modeling language so you can start to express some business rules which is important and there's a little tutorial there and we have a wiki page on how to install a config and run it and the last two I want to focus on a little more open law is a so-called consensus spoke I want to get it just right. Open law is a consensus spoke. Just a quick question who here has heard of consensus the company? So some of what I think you ought to know as a result of this is some of the names so partly so you can be more conversant and when it comes up with clients or out there in the world you have some background. Consensus is an important player on the Ethereum blockchain. In Ethereum and Bitcoin are the two big blockchains. It's a hard to describe as a company but basically they incubate and launch lots of little companies that provide some interesting project or business that can operate on the Ethereum blockchain. In 2016 we did a blockchain and law workshop and consensus sent some people for one of our exercises and it is from a company called Boardroom and they basically built an app applied smart contracts to like the legal processes involved for like a secretary of a corporation so you take the minutes, you sign the minutes there's a board motion, there's a process for that parliamentary thing, various things that you do they were able to quite successfully model those under the laws of Delaware and have them occur through smart contracts and using the Ethereum mainnet that was very interesting. They've got a bunch of other companies Uport is the identity one spoke of consensus that's basically going to town with the digital signatures and providing people more ways to do clickthroughs and consent and some privacy enhancing things so really open law is a consensus spoke for law and blockchain and they've got a bunch of templates for smart contracts using the solidity smart contract language and this demo here shows a royalty basically a royalty agreement so you can sort of throw out some standard terms and in this case the assumption is that music is sort of on a blockchain and the transactions are occurring with cryptocurrencies so if you're willing to go there you can actually see how there's a pay-per-use kind of approach and they basically have instantiated the whole thing. Another one that I encourage you to take a look at is called The Accord Project and this one is really great, we've been working with them a lot, we'll be doing that more in the future they've got a whole open source ecology for template driven standard contracts that are expressed largely through smart contracts and basically open law and the Accord Project and MONACS have all embraced this concept that I referred to earlier as dual integration so the legal contracts aren't going away we can maybe extend or partly express the legal contracts through smart contracts on a blockchain, how do we make sure these things are very tightly connected these companies have different ways but very good ways to do that and in the drafting in the drafting sort of developer environment or legal crafter environment maybe of the near future on one side they will have a pain of the legal contract and on the other side they'll have a pain of the smart contract, a display pain and you actually kind of literally clause by clause see how they're linked and change some things on one side and update things on the other side and that's the standard of dual integration right from the drafting phase and then makes it very easier to track and monitor and manage the contract life cycle thereafter I just wanted to make one thing really clear because the way some of you are looking is wow I've got to really get into this so this is good stuff and you should learn about it this is not ready for prime time yet so it's not like switch your practice tomorrow but do be aware of this stuff and there will be times and clients in situations increasingly where this could be a good fit, minimally you ought to be aware of it since there's only like four minutes left let me take a pause right now and ask if there's any questions or ideas about any of that comments so basically is there a way to date and time stamp transactions yes and there's in general there's a way because I have to go back and think about the data elements in each part but I believe there's a date and time stamp of when it was added to the blockchain like in it itself but also you could ask anybody with a node and ask three or four people and it's quite likely true like let's look at the logs and see when was this version accurate and you know there's a little bit of drift on people's computers servers but there's lots of ways to show that a server was within usually like milliseconds of accurate time when a given thing happens but there's a deeper question in what you're saying which is if part of what's so valuable about blockchain is being able to walk down that a given thing happens at a given time and how do we really do that and why isn't that featured well in my view first of all I think that is important for the law this one of the capabilities of blockchain that's a direct match for legal requirements is this date and time stamping capability and there's a number of companies that are now really embracing that the first one that comes to mind and I think they were the first to deploy at scale is called FACTOM FACTOM F-A-C-T-O-M I believe and their whole claim to fame is you give them any arbitrary data and they'll basically date and time stamp it onto their blockchain version that's kind of the Bitcoin and Ethereum are really tuned to this presumed use case that people really first and foremost want to exchange cryptocurrency that's not what most of my clients really first and foremost want to do. You'll hear a lot more about this tomorrow but we do want to do things like date and time stamp things and so FACTOM directly provides a service for that. There's several other services that will provide a date time stamp service layer for blockchain transactions and give you back something very easy and usually a PDF version of it as well. Your records includes the hash of the thing and the date and the time. So did that sort of answer your question? Okay, you're welcome. Any other thoughts, ideas? Okay, we have time for one more. I can talk all day. So I think that's great when we talk and if it happens that no one has any questions and there's times left I'm sure people would love the framework. It's a nice framework. That's a nice question. That could be a day right there. The question if I understood you correctly was given my observation that we discovered a number of terms and so most terms were not expressible in smart contract languages as they exist today could I envision a time in the future when all of some terms in some given case maybe would be expressible and the answer is yes I can. And here's how. So number one, one way to sort of I'm just going to hack the question first. MIT is a hacker school and I mean that in the best sense of the word we like to build things that are improbable and so first of all if you were up for it you could parse all the contracts you have or you could do a web search for contracts that only include things that are directly expressible and a little subset of things that you can do in Solidity. So we can do it today. I have done it just to see if I could. But that doesn't really scratch the edge because the emphasis of your question was more that when would there be a general expression language that could capture like a lot of contracts and you specifically mentioned IP. Okay so IP is upping the ante. There's a lot of clauses you want to have in an IP contract depending on what it is and that is not covered by my little hacky example. So I'd say there's like a progression to keep in mind and I'm going to just sort of lay it out. One thing is being able to instantiate the terms in a way that I'll call machine readable. So I'm dealing with a client right now where they've got part of their business is doing I'm not sure how much I should say doing stuff and there's a lot of the stuff with contracts are scanned images of the contract. Is it digital? Yes it's digital. Is it machine readable? Hell no. Right now my laptop at some point just to bust through me and other fairly senior people and other people are literally taking sacks of those and we just allocated like 100 to 100 to each of us on airplanes and stuff. We are just typing the relevant data from each contract into a database so that we can do some of the analytics we want to do. The next thing is machine readable and so at least it's in not even Microsoft Word seems to be machine readable. Not really PDF, not really. You have to go through layers to extract the data. Machine readable just think like the encoding UTF-8 encoding for our civilization and pure text with like structural things like XML or JSON. So you can just very quick, so you can write a script to go to a part of the contract and test something. Does this word exist or what is this threshold? What is the amount of indemnification? What is the condition? So you want to encode it as data you want to actually treat the contract like data and if you want to treat it nicely you're going to express it in structured text. UTF-8 encoded and you want to document it so like with XML make sure people know the schema so that they can write their scripts and do stuff with and process it. That's machine readable. Machine readable is like miles and miles and miles away from the smart contract feature you're talking about. I think that's the next journey for the law. It's just machine readability. The next thing I would say is applying some automation so we document assembly or better contract management. So now we're writing scripts and we have systems and processes and applications that can kind of manage the contracts and maybe you apply a DocuSign service at a certain life cycle point maybe you have a trigger where you can go and in an automated way when the contract is going to expire for a certain segment of your customers or business partners to trigger some sales person to go and make a call. These would be examples of more automation applied to contracts. So now and then the final step on that stack would be autonomous systems and that's sort of the dream of these blockchain smart contracts is to have more operations and transactions occurring without human review or approval. Okay that's a much, that's miles and miles and miles further and there's questions about the desirability and the prudence of doing that in terms of risk management in common sense. For some things I could imagine that happening sooner than later. So I've been getting some good mileage lately looking at like traffic and parking codes. It's a different type of law. But these are things where with Internet of Things and increasing use of autonomous vehicles or more automated systems on board actually can go a great deal of the way toward taking these chunks of what's in the code expressing it in a way that a navigation app could understand and could start to layer on some traffic rules and where's their parking and ticklers or notices and trigger events, things like that. Taxes could be another one. The tax code could be expressed initially in ways where there's parameters and thresholds so that your QuickBooks and other accounting systems and audit systems could actually allow for number one, machine readability and automation without a bunch of humans sweating the details and trying to transfigure it into something that your systems can support and reflect but it could be more directly integrated and inevitably more autonomous things will happen. And the question of where do you want to have human review and approval becomes much bigger then. I would say we're a long, long way from having the pure vision of autonomous transactions occurring in the sort of layer of a distributed autonomous organization or corporation or systems of corporations operating and being able to express all of the things that we would want them to express just as a direct matter of like crosswalking or directly linking everything you'd want to say in a contract to the rights expression languages which are very primitive right now and to some of the other types of ways of expressing business rules and legal things. But the big question underlying that is how much should we do and what is the role of the lawyer in the emerging age of autonomous and automated systems and how clued in do we need to be to be able to look at the systems ourselves and crack open the hood and start to think or understand what the interdependencies were and reverse what happened to get us to this point and when do we want to build in human, let's use the phrase one more time, human review and approval. There's one other thing I would just say which is this is about blockchain but AI is sort of imagine it's right next to us as we're talking about blockchain. There's deeper questions I think for the bar we'll get to in the fullness of time about for example ethics and even our professional rules of ethics. So as we start to rely more and more on systems that are doing things and where we did our best on day one to express every, you mentioned like every variation of a situation but now we come to day one plus whatever and there's a dispute or something's happened and we need to take a look at it or even on day one we want to ask ourselves how well have we done at our job of let's say being an advocate for the client's interests if I do share duty. You need to understand when terms are happening in an automated way and when decisions and weighted weights and priorities and goals which are embedded sometimes deep, deep, deep in these machine learning based and other AI based systems you want to understand what were all of the training sets and what were the assumptions that people had and do those accurately reflect and support the priorities and the goals of your client. So if you're using AI systems as part of the practice of law this is one of the sorts of things that lawyers will have to get good at or they'll have to be somewhere in the bar within the practice of law and the regulation of law where someone's good at that and can begin to evaluate some of these deeper questions so we can do our job and we can spot inappropriately and know that we're doing the right thing and that could be measurable. Does that kind of answer here? I should have said that. It can be done one day and the questions should be done. And on it can be done I'd say I've got like a 60, 70% confidence rating on that statement because some things that we express in law so contracts are infinitely permeable. They're infinitely configurable to whatever private parties want to contract about. Some of these things can be inherently subjective if you get to other areas of law where we're talking about our values and principles and things it's hard for me to foresee right now when we'd have a machine language that could completely capture these things which are more akin to I don't know poetry than they are to objective measurable like math. So I think some stuff may actually and very appropriately be beyond capture when we get to constitutional things, questions of sovereignty which we get to later you know some other human rights, some human rights things may just not be, I'm just not aware of how one would express some of that very fuzzy stuff but for most of the stuff that we get to your question I think it's inevitable that we'll get there and we'll be capable of expressing more kind of transactional and mathy and objective kinds of things and we'll want to make sure that everyone in the life cycle is ready for that, that the legislatures, the regulators, the practitioners the clients, people are really in sync with that and doing it sort of in a standard the same way and we're able to have serious discussions about what the rule should be and what the consequences will be and who bears the risk of loss and who has what burdens and responsibilities as a result of expressing these things. Sometimes actually this stuff brings up stuff that we hadn't thought about before. When you start coding things explicitly it raises a lot of questions which were implied or which were maybe deliberately ambiguous before but now you have to code it when everything's happening in the machine. So those are some reflections on your question. Is that it? Okay good. Got a clean yes so consider that answered. Any other questions, thoughts, ideas? Opinions? Aspirations? Stay right there. So the question was what would be the nature of the rule? Who would be on the teams? In particular we're looking at the legal dimension of the team when we're expressing these legal instruments and legal processes, dispute resolution and conflicts. So A number one I would see all your smiling faces. This is going to be our job in the future as lawyers, those of you who are attorneys and regulators and lawmakers. This will be the nature of our job when the clients are doing these transactions in this system and legal questions arise like dispute resolution. Who you going to call? All of us. And so we need to get educated about this and be somewhat ahead of the state of the art. Think of one level deeper and say okay well what would be the job description? What would be the skill set? What would be the behaviors and activities and tasks that a person playing that role of providing legal advice on a team? What would they have? What would they exhibit? That is an active question for me. So let me just say a few things. The first one is a question. Who here has heard of REJECS, regular expressions? One, two, okay. We have our work cut out for us. So I think like the first thing that would be great for people providing the role of legal counsel to parties that are designing and operating these kinds of systems would be a proficiency with data and a proficiency with like apps, data and apps. By that I don't mean everyone needs to know how to code in a computer language like Python or C++. I think that's somewhat beyond what is necessary and it's also somewhat to the side of what's necessary. But there are some things that you would need to know. So one thing I would say is when you're looking at regular expressions, actually can you explain regular expressions? Exactly. So maybe you kind of know the social security numbers that the example gave. Social insurance numbers, excuse me, is like I know the ones I'm looking for start with 115782, but I need to now just segment this big pile of data from discovery or from what I'm just trying to understand a deal and I want to sub-segment things. It's not easy to do that with find and replace are real good. I know we're all good at that. But you can and must go a little further and be able to be proficient at some basic proficiency in interrogating data. Regular expressions are A number one, you can do it on any computer and you can do actually remarkably, I'd say, astonishingly complex searches to take some actions with regular expressions. Like you can take all of those things and put them to the top of a list or you can do lots of good things. You can basically start to be a little bit of a magician with data. Well, law is an information intensive profession. So we need to be good at dealing with a lot of information beyond the document paradigm of, you know, I know we all know how to speed read and we know how to go through a lot of documents and strip-mind it pretty quick for things, but when it's digital, we need to apply, we need to learn slightly different skills in order to stay current in order to keep up and in order to do our job as lawyers. And I'd say the A number one thing would be people on that team that you're asking about right now in some companies and we're from Silicon Valley and London and some other places, there already are lawyers that are very good at this. They put me to shame, my skills are quite primitive and they're doing a really good job. It's like in house counsel and external counsel, but everybody should have just basic proficiency with regular expressions would be like the first building block. There's a few other things I think that we could expect to see as well, which is I'm just being able to do like a swim lane diagram, which is like a very basic simple engineering kind of idea. So now we're looking at systems that have been engineered, we need to understand them. They don't have to be a patent attorney to do what I'm talking about, but this is a way where you can actually, I think I added it to the slides one minute. Okay, we'll not dig from the slide, but basically it's a way where you can do role separation. So you can say like buyer, seller, distributor, channel partner, whatever, and then those like let's say go up and down and then like row by row, you can say like okay, like the first thing is like buyer inquires price or asks for a quote from seller and now seller does like provides a quote and then buyer does this, seller does that and then it goes to channel partner that provides the shipping terms or whatever the distribution partner and you can actually sort of like capture and understand in a simple diagrammatic way a very deep amount of information about the behavior and the sequence and the entity relationships and even very complex systems. So getting good at things like asking the lawyer kind of questions, but then expressing it in like swim lane diagrams in other simple engineering diagrammatic ways would be a second kind of behavior skill I would expect from that team. I could go on and on and on about this one, but I see that we're out of time. I'm going to be around all day and I'm sticking around tomorrow too and I'd be happy to talk about skills for lawyers that want to get good at data and what our roles could be in the future at length with you, including, are we going to do drinks tonight or something? Including tonight. I get very loquacious when alcohol is added. Thank you. Thank you. Thank you. Thank you. I'll see you in one block.