Ethereum Singapore | Meetup Vitalik Buterin
Ethereum Singapore Talks · 2016 · 43:49
Ethereum co-founder Vitalik Buterin speaks to the Ethereum Singapore Meetup, hosted by Digix, about scalability and the other challenges Ethereum faces. He explains how these problems are expected to be resolved in the future, giving the local community a first-hand view of the protocol's open questions from one of its founders.
Speakers
Topics
From Ethereum Singapore Talks, hosted by Ethereum Singapore.
Transcript
my so uh about a year ago we started eal Singapore and we brought theal Foundation all about 65 people turn up last year inate April and this year in one year time we are currently the largest in Media Group across Asia and the largest one and we're very forunate here and I believe they a lot more so gentlem [Applause] pleas thank you so since uh this is an actual
etherum all be something about exp so um how many people here know how Okay cool so I think uh what I know what people wanted be to about is probably primarily the kind of research and development that we have that we have for the project which I probably have talked about in many places in detail but at the same time it is something that I guess changes fa rapidly and it's also something that kind of talking me about often as there's often approach approach everything in one place so I think the
uh in general Al the first things that that I'll start off with is just by covering the kind of nature research sources that we have so we in general spend a lot of time talking to both applications users developers and in general we see three or four primar challenges watchy so these are basically basically look at you know what would they kind of perfect absolutely what is now and I think the categories are number one scalability number two
privacy number three Legacy and number four account so I've actually very conveniently kind of arranged them in actually and another good one there is I watching consumption which is one of the main things probably put that number somewhere betweenity and so in yesterday's presentation one of the kind of sort of major thems I had at the beginning is I talked about the watching stack is being kind of made up as a collection of players so basically in general with watching protocols you
know it's not about inter internet protol you have kind of things bu to more fundamental things and then on top of those the high things eventually from Branch out into areas of applications and individual applications and that actually companies so and or nonprofits or just individual developer building things and multim users so we have at the sort of very lowest level the way I see the ecosystem is basically that level one is kind of the actual watching protocol so it's things like Bitcoin things like ethereum also even aside from blockchains there also kind of other protocols that aren't watching but probably have roughly got of the same height in terms as without how exct
they are and include probably IP F status and incl swarm and WIS so in general kind of extremely abstract kind of Bas your technology like that um turned off the music so I think that's kind of the first layer then on top of that probably the second layer is essentially kind of middle tools so this would include highle proam languages tools for building contracts user interfaces Delver interfaces even sort of smart contracts system sitting on publicum that other smart contracts need to
interact with so if you look at even something like digix you know on the one hand digs called as an application you know you you can buy have of go on blockchain but at the same time it's also something that you it's not just for people to like use one asore value for it's also something that you can use as collateral inside of another smart contract it's potentially you know Theo might end up buying dig at some point maybe you should um at some point maybe you know you might have Financial contracts that settle digit you might even have applications that like look at the price of dig
ether so it's one of those kind of things that is both an application and something that can the heavily interface with everything else um aside from tokens there's also identity systems orally fundamental data sources or C dat for contract sarly fundamental if you want to have a financial contract based on the price of gool you need to have someone tell you what the price of gold so that's part of the second layer then also private Technologies just give straight ahead to number sort of Legend Number Two which to number three because number two is stake um so pry preserving Technologies is something that maybe theoretically
could be handled at number one so like the theoretical sort of toly brail would be a platform where you actually have a decentralized system that sort of looks like a black box by default except it does give you like absolutely strong cryptographic proofs and evidence of specifically the things that smart contract wants to provide us so something that's completely black Bo where people want to be black and which off is the which place that problem is actually doing actually implementing that is pretty much impossible now you can get pretty close with things like compation what things likeor encryption with extremely like crazy things that GRE
Greg Max M back but it's even still it's not going perfect because you you could still s of break those systems or potentially attack them by doing things like simulating think watching history doing a bunch of attacks against them so actually having an entire sort of walket based way fully preserves privacy I think it's not going to happen what we can do do is we can create a bunch of systems that sit on top a bunch of the stuff that provide privacy for specific applications so one of those sort of fully grail kind of God technologies that I talk about is ARS so basically generalize your knowledge gr so this basically means that you can prove any kind of
mathematical statement about some number that you know prove that statement is true prove that you know the number without revealing what the number is or without revealing any other information actually potentially quite powerful so one practical example let's suppose that I have a some some kind of equity crowdfunding application let's suppose that four legal reasons my lawyers tell me that I want to accept people from every country except for the US so here's what I do I take a bunch of identity systems potentially something like a st e residency potentially some kind of pH number verification potentially you know consensus through J
verification maybe some other government IDs and I create a system where in my sort of contract that issues shares if you send in ether I only the contract only actually does that if it includes a z knowledge proof that basically says I know I I possess pieces of information that basically are cryptographic certificates from some entities saying that I a citizen of some cont other than the so smart basically take this zero knowledge proof you would pass it into blog as a transaction smart contract to be part through knowledge proof If the proof is correct then we give you the Shar otherwise we will just your money and say no thank you so the nice thing about this neur knowledge proofs is you can do that without actually revealing
any other thing about your identity the only thing you actually need to reveal is the very specific fact that the verifier will Pro wants to verify you could potentially verify that you're a citizen of some particular country you could verify that you have some kind of credit credit for according to some credit system you could verify that you are AI individual in some sense so there there's you know huge amounts of potential when basically at the same time getting extremely high degrees of kind of wellity security but conserving privacy at the same time so applications would know exactly what they need to know and absolutely nothing to be on that so that's something that's really cool technology and it actually is a very nice compliment to blockchains
basically because bling provide authenticity your groups provide very strong L privacy if you want both these have BL together so there are many classs of applic applications where if you make just make your knowledge proofs verifiable inside of smart contracts the tower versatile versatile privacy solution watch so there's a called that was developed primarily as a white paper by Andrew Miller and by a couple other researchers and the idea there was basically that if uh if they introduce this kind of notion of a sort of private contract and a private contract is kind of like a smart contract that has some number of participants but the state
associated with all the with all the participant is encrypted so then the idea is that it's all encrypted with and then there is kind of one particular party which kind of is a manager now if you could even have like every you could even have a system where you have like one each user kind of being the manager of your own data you could sort of architect it in different ways but the idea is that if he wants to update the contract you would need is this sort of manager would create a kind of zero knowledge proof that says here is the old state of the contract encrypted here is the new state of the contract also encrypted and then by the way here is this magic zero knowledge proof that basically states that I know that this new state is the correct encrypted
result of applying the encrypted transaction to the Old State so everything is still encrypt everything that gets published in the blockchain still encrypted but because of this neuro knowledge approv magic basically have all so that's something that for example could be built on top of theum could actually be the platform you know potentially achiev powerful zerge proofs are really cool technology they do have no drawbacks so the map is very complex it's said also the sort of thing that uh also have some technical challenges so one of the major ones is that even though verifying a proof only takes 6 milliseconds creating a proof actually takes about 5 seconds so if you're a startup one possible Opportunity by the
way is to basically create a kind of FB USB do that uses you know an fpga or as to just into accelerated lot people make grps much more quickly so if someone wants to click business ID and they have context they can do hardare there you go um so then aside from that there's also simp kinds of cryptography so there's ring signatures linkable ring signatures there's a sort of we limited forms of Home encryption but so if you're only efficient so there's a bunch of kind of different individual tools that you can combine together that can provide privacy in specific contexts whether it's currency transactions identity management the content of of sort of the terms of particular like two part
contracts between two individuals uh voting I so lots of different applications they might have their own kind of privacy Solutions and it's definitely one of our goals to kind of work with you know both the academic Community application developers sort of high what kind of you programming language developers to see if we can build tools that meet these price Solutions as easy as possible so that's one thing that we want to do um another and we have kind of started doing it so I've written a piece of stample code that does bring signature verification on top of etherum we have a proposal for a hardore game change that sort of add some new offes that makes that much more efficient so it's starting but you know
still a lot of work to go aside from that sort of still stting on the higher levels the other major challenge that we have is basically account security so in the case of blockchain like there's one kind of security is making sure the watching itself s of continues running that there aren't any 51% attacks that the system kind of retains Integrity that you can't censor transactions that's all all good the other thing that you need to make sure is that basically that even if the system itself is absolutely secure that the accounts that users use to access the system are also Absolut also as secure as possible so yesterday I had a bunch of slides where basically showed some incidents that happened in the Bitcoin community
and in the ethereum community so actually the big account security losses are more in Bitcoin lands in ethereum land what tends to happen is smart contracts that have bu that's also in area of research and it's one that would be really more compeed active participation so basically the challenge is let's say I have half a million dollars of ether let's say another a million doll dit school and my and my log to 100 different centralized applications and bu company shares through autonomous and a bunch of uh other things all the falls in in one account let's say I lose the private ke of that account by default I lose access to everything so let's say that private let's say the computer that the private
key get that private key is on gets hacked or gets St on the guy basically has access to everything so how do we make systems where we we can avoid those kinds of pitfalls of security but without just bringing centralization right back in so there are approaches so one of them is this concept of BU state where instead of having one one control need and you need two of them in transactions that's kind of interesting technology you know there's obviously work to do in more primly another option is hard wallet and these AR usually exclusive so I think hard should be used as part for M
part of multi solution not that's the only thing there's there is uh different approaches involving kind of two Factor authentication there is uh obviously Hardware on that have different kind of access controls on them there's different ways of kind of presenting the information to the user so I think there's a lot of kind of innovation still to be done in that sector now just to sort of expand on that expand on that sort of sector a bit more so we've already had Bitcoin wallets for about three or four years either Bitcoin Hardware wallets Bitcoin multi State wallets so the industry of protecting the security of people's Bitcoins has existed for a while now I think the solutions so far still aren't that but
you still there's still a bit of work now that we're moving from just talking about Bitcoin and just talking about the cryptocurrencies to talking about AUM and general purpose decentralized applications the security situation becomes more interesting one of the one of the reasons why is because when we talk about currency it's easy to tell what what what what's a tiny amount of money and what's a huge amount of money when we talk about general purpose application let's say some application requests to use your account to send a message from account numberx DB1 C to account number 0x 587 with zero ether and with data 0x 7 ev5 c14 020 blah blah
blah you see this how do you know now the application itself tells you well okay all you really doing is you're just is you're just uploading a post on decentralized crit what if what that message is actually doing is stealing all your dig going to setting up to Sounder so that's not something that you can kind of figure out sort of a priori that's something that's really a matter of kind of how do you actually figure out what's less valuable what's more valuable how do you present information to the user how do you make sure that the user experience is actually one that makes it more convenient the SES that are lower value but that actually requires more FR some senses that are more that are higher value some people
don't don't make mistakes accidentally so those are all areas that need sort of a lot of research need a lot of experimentation get this idea number two solve the problem and by the way please do it in the same USB device that generates with your so don't have to carry two USB so then um that's account security Now go talk let's talk about Linate so basic problem Bitcoin watch Time Blog time of 10 minutes now these days we have the blog size debate so thanks to the wonderful innovation of the blog size limit some people are are apply experiencing
confirmation class of 20 to 30 minutes but even still even even if you go down to 10 minutes even if you go all the way down to the 14 seconds that it's you're to even still for many applications of Sig up it's still you know people basically who are who using web applications want some notion feedback so that's something that Wasing protocols currently don't really provide well now one thing that we're doing is we're trying to make hearing watching itself fast as possible that's good the another thing that we're looking at in parallel is essentially protocols on top to try to provide sort of instant finality for some applications even if the Interline watching layer is small so
if you've heard of P Channels State channels lighting networks we're looking at sort of that kind of technology and seeing if we can make it sort of as widely applicable for as many class of applications as possible so where where does like see matter number one retail payments so if you're making a retail payment you wanted to be confirmed and you know even 14 seconds is too long what like one or two seconds number two iot applications so two years ago IBM wrote a white paper talked about democracy of devices we talked about how you can use the the as a kind of platform to allow devices from different companies to talk to each other that's all wonderful you have a g you know instead of living in the Apple house or the St house you still get to live in
Cal house but problem is iot you know when I talk towe about about year later they brought up L basically said okay but we want these devices to too much mment you're saying your bling has a block time of 14,000 millisecond so it's important to say 14,000 milliseconds milliseconds aren people think so we need to come up with something faster um number three any kind of decentralized exchanges so I think in general like I am very interested in the notion of like decentralized changes because centralizing changes are
terrible they get ped every few months and you know the fact is these are crypto assets if we can exchange them then decentralized the way we really should be personally I hope all these sort of centralized crypto to crypto just go D next two years or so so investment opportunity number one short number two donate to create a decentralized one um so that's uh but at the same time you know there are real challenges and actually making the platform performance enough that people are wanting to actually trade on them so like we see the games we see that you know you can get rid of like Get rid of you know cryptocurrency hats get rid of like 95% of the consumer protection problems in the crypto exchange industry even in the case of Fiat to crypto exchange you can
actually replace exchanges with centralized intermediaries that just provide sort of back tokens and then you make a back you make the exchange between like back tokens and e or whatever else on the lach so even there you can knock down you know the fact is at least like 90% of like of cryptocurrency exchange wantes are on the cryptocurrency side they're not on PS currency side so if we can make the crypto at Le the cryptocurrency side centralized we can knock down you know the L from from that about 90% you know of course a lot of those steps are actually technically FR because the exchange the like is feeling different C but you know St the same thing so problem is with number one we more
Legacy number two proba more stability number three um obviously want to deal with you know issues like minor front running but at the same so I think there is a lot of potential but at the same time there are a lot of challenges one them now I will say that there actually already even on top of theum there is kind of one decentralized exchang that's already running there's the the the mer mer OTC which is that have already have some pretty good sort of trading between the coins and E going but you know it's still an area that needs a lot more grow um number so what and you know there get the application probably a bit less important but even still just from user experience at the point to think
just you know one second is so much better than 14 but people are willing to Cate 14 like if you look at something like you know traditional DNS when you buy a domain name or update some settings people often have to like wait up to a day for everything to so you know if we can not that down 14 seconds then I guess that might be good enough um so now we move we talked a bit about privacy next next item on the list is for group St so see I've talked about 20 minutes right now un fortunately these next actions are going to be a bit longer so in general what is basically why we care about simple answer is that Pro bunch of reasons no number one big mining bur
right now Burns about $600 million a year if will include environmental externalities it include government subsidy cost on top chances are the total costet is somewhere around $1.2 billion a year so if we can come up with the exm that doesn't have those costs then chances are we can actually you know we can number one not not spend as much money on on on electricity and number two save the envir yay that's said that's said according to Donald Trump environment is isn't a problem um so the uh the idea the way the proof of
State basically works is the way as I describe it it's kind of like virtual mining so take proof of work you have $1,000 use your $1,000 to buy a computer PL the computer in download a software package your that computer will now crank out Walks from time to time and you get Ling rewards from time to time on some schedule take your mistake you have $1,000 use those $1,000 to buy $1,000 in ether inside of ethereum there is you have a mechanism by which you can convert your 1,000 ether into a virtual minor then the virtual minor have there there are more rules in the protocol that basically simulate the virtual Miner having the right to crank out to crank out blocks and give you a block
work time time so try to the Bas line is to simulate a similar process but without the cost of the or so the nice thing is on top of that you actually have other benefits so one of those benefits is you the finality so with proof of work with proof of work the only way that you can intensify people is with rewards with proof of stake they can use rewards and you can use penalties so the original per developers didn't didn't actually even realize at this point you know this is why people talk back in 2011 people talked a lot about about nothing as supp FLW it's with the the early Pro of stake protocols they use they Ed rewards they
didn't use penalties they didn't even use the impli penalty that group of work has which is the ority individual use in reality you can engineer protocols that have penalties that are as high as for work and potentially millions of Times Higher you can literally create a protocol which is the equivalent of you know imagine proof of a version of proof of work where if you participate in a 51% attack your as your Asic mining Farm birs down so imagine how how sort of how much more secure proof work would be is that well guess what we count for it is so that's the second thing third thing is I think it offers a lot of opportunities to kind
of re-engineer the mechanism so that you have number in general faster BL sign more efficiency um even some sort of moderate gain stability you know you lots of sort of other benefits so even the one of the other pieces of research I'm looking at is sort of this is somewhat more academic but basically a sort of version of of sort of proof of State sort of proof of State kind of nxd style consensus that is uh converges in a kind of subjective partial synchrony model and not just sort of synchronous Network so what that basically means in in sort of left G terms is that even if the
network runs much much more slowly than you expected this thing is still guaranteed to convert you just converges more slowly so the reason why that's nice is because if you have that property then suddenly you can be a lot more regressive in what the default Network in what the default block time is so you don't even have to you don't have to say 14 seconds you can knock it straight down to like two to four seconds so that basically if any of you follow follow our research chat that's basically the reason why we hear about that so much so that the in general we kind of see Le over the past few months we've been doing kind of a lot of like the heavy research mapping up a of State beside space another probably is thing that we'
realized is that we were looking at everything ring from algorithms that were kind of inspired by traditional Pro stake algorithms so P Point NXT bch def more approaches and algorithms that are inspired by traditional Visa toing algorithms DLS pvft everything in that category so the thing that we realize is that algorithms in the second category they do have nice mathematical properties in terms of being able to kind of formally prove that they're that they work even if you know up anywhere up to a third of the network is is faulty but at the same time they have the problem they don't scale all L numbers of NS so if you know a lot of people people you might have heard some
complaining other forums that you know oh why does Casper have a limit of 250,000 well the reason why we had that limit in in the initial portion is because we were exploring algorithms that look more like like these are traditional visiting F algorithms right now we're looking much more at sort of more blockchain style algorithms and those have lower conversion properties but the benefit is that you can support un a limited number of Val again because no matter how many validators there are at the end of the day there's only one validator that gets to create a block for each BL so that's something that we're kind of looking looking out as well maing out the design
space family also looking at kind of number generation in grou of Stak so the other kind of major category of attack that people who kind of AR too well in for go the issue sometimes the all about is it's state grinding once again big issue in in in algorithms in 2011 in in sort of modern algorithms you can actually sort of design the r number generation in a way that actually is much more resistance to gr attacks just as a quick sort of outside VI of evidence you can actually do this notice how nobody has ever complained about State ring in pvsd so that's another area of research um so we're the in general our group of State Ro m is basic say number one
figure out the algorithm figure out some like basic do kind of our own sort of intuitive research make sure that it's roughly sound number two make a test in Python in parallel do a bun more formal proofs on it if step two step two a and step two to pass number three deploy was Implement crance and question so that's kind of the progress um before we talk about scalability the other issues are there's also the metop plan kind of metropolis hardcore so if you go on github.com eips you'll see the list of like about 10 to 15 changes that we want to make for Metropolis some of them are kind of
fearly technical efficiency improvements one of the major ones is what we call sort of abstraction so the idea behind abstraction is basically that right now there are two types of accounts externally owned accounts and contracts so externally owned accounts accounts control by individuals and there there's kind of one sort of account scheme that's based on kind of sequence numbers and to cryptography bed right into the protocol for securing the problem is that this approach is still kind of inflexible there are some applications where it actually doesn't really work well you have to do a bunch of kind of complicated TS so you have to have some accounts that just service kind of pass through accounts those pass through accounts have to hold ether in them and so forth so our approach with abstraction is we want to eventually
pull the two categories accounts into one just have contracts and even regular accounts are going to be contracts as well so regular accounts are basically going to be kind of pass through contract they're going to accept transactions coming in they're going to check if the transaction has a Val signature if it does they're going to strip the signature away and pass transaction L out message so the and the way it'll work s programmatically is that there's going to be some notion of a kind of global entry point address from that address basically any anyone can send any transaction all transactions will be sent from that address and then they'll be sent from that address to the accounts that ultimately is the account that the person wants to send the transactions
from the account itself will do this with a signature check it will pass it through and for it a line is good so the nice thing about this model is we want basically we want to sort of eum ify account security Essen so the reason why people like etherum in the first place is because everything is kind of so General about it you can kind of mix and match things in lots of different ways you have a lot of freedom as think like how you build things out in code we want to do the same for account security so if he wants to have multi account we feel that account should have the exact same sort of status as a regular account does if he wants to have an account that's protected by some kind of Ro signature some kind of pH knowledge proof we feel that that account should
have the exact same t as regular account do if you want to experiment with like different ways of making transaction of doing transaction noes or sequence numbers so that you can send transaction slightly out of order we could you should be able to do that too if you if you really like utxos you should be able to do that too so TR complet make everything from the protocol kind of as someone kind of move it into an ethereum code itself as much as possible that's the kind of initial step later on or later kind of abstraction roap actually is trying to move as much of the theum protocol as we can into thean virtual machine so that's kind of the goal now that finally I guess we we get
move on to scalability so in general scalability biging watching land biging land um big Topic in you know r r up 150 different PR watching each one can do 100 transaction second so why do people care scity answer is pretty simple etherum gives you 15 transaction second right now if you want to replace Visa 4,000 transactions a second if you want to replace the sh High Stock Exchange 80,000 transactions a second if you want to have an identity system where all 7 billion people in the world send one transaction every day 7 billion per day
divided by 86,400 seconds in one day that still gets you to um basically Bally about 85,000 transactions a second so you know it's those are the scales that you need to be at if you want to actually create a decentralized baser for right now we man get away from that now there are sort of very partial scalability solutions that can get you kind of a bit further and uh but at the end of the day there are with the way current blockchain technology works there are very fundamental limitations so the fundamental liation is simple in with the way the current blockchains
work every computer processes every transaction the obvious cor of that the system cannot process more transactions than one single computer so that's the problem now it turns out public blockchains on top of that actually have even more incentive incentive compatibility compatibility issues they have to deal with centralization risks they have to deal with BL propagation issues now there are ways to cleverly re-engineer protocols to kind of meet those problems not be problems anymore so that's the first step so if you do that you might be able to get from 15 transactions a second to maybe 150 transactions a second yay fact is there's still a big difference between
150 and 86,400 now next step is actually breaking through the barrier so how do we make a blockchain where you don't need need every single computer to process every single there are some now I think there are a lot of designs that try to scal blockchains but they try to kind of scale them in ways that don't really H out the core of the problem so one way not to head out the core of the problem is side chains problem with side chains is okay fine they're a good functionality solution you can now have like assets that can jump into block chains they're not a scalability solution the reason is that if you want the side chains to share the same source
of security the same miners same validators you still every single minor every single validator still has to validate every single transaction in all those side chains basically if your option A increase the block size from 1 megab to 1 gab option b have a s size CH which one megab practically speaking there's no difference you're not really Mak fundamentally better second that approach to scalability must have, chain problem with that approach which is sure you're increasing scalability but you're doing so at the cost of reducing security by a factor of a, so basically okay you have many more blockchains but why am I supposed to trust any so third
bad way of handling scalability is you try to decentralize start distribute something but not other things so there's a bunch of protocols that basically say oh we're much more scalable because even though everyone has to process every transaction not every note has to store every transaction you don't have to store the history you forget and you can like forget large portions of the history okay fine you can get 2x you get 5x you get 10x you're not going to get 1,000x in order to get 1,000x you have to create a system where you do not need every computer to process every transaction so this is where charting comes from so the core idea behind sharding is basically that you create a kind of
blockchain protocol where you do not need every computer to process everything instead think of it as putting transactions into groups and then you randomly assign let's say 100 validators for a group those 100 validators validate that group another 100 validators validate another group 100 validators valid another group and so you process many different groups of transactions in her and so you actually do have high that's the long-term Vision that's what we're going for now practical challenges in char number one Shing is very hard to do in the group of work context so this is another side benefit of grou say the reason is if you try to actually do that with group of
work so let's say 1% of the miners valid these transactions 1% valid these transactions 1% Val these let's say I'm an attacker let's say I have 2% of the network let's say I want to attack one particular transaction either because I want to double spend it or because I want to give a points or whatever else what I could do is I can concentrate all of my mining power on that particular set of transactions overwhelm that particular set of cross bers and basically system so input of mistake here's why the reason why you can't do that is very simple you as a validator do not have a choice about which transaction groups to Val you validate you as a validator get assigned
transaction groups to validate and you either validate them or too bad you don't get them reward you don't have a che which Val to validate so what's the consequence of this I as an attacker with 2% of state do not have the ability to concentrate my sort of state power on one particular group of transactions now if let's say I as an attacker have more than about 40% of the St chances are okay fine there's going to be some some some situations where I might be able to might get a majority in some think are sort of grp transaction group just by chance and I will be able to break theem but that already is pretty close to 1% that once the number of validators you're finding each individual
transaction is large enough at that point you basically get you at some point you get to the point where you pretty much have something that's statistically indistinguishable from every no value in every transaction so that's sort of so that's one of the reasons why we're going REM State second now second major difficulty let's say I have 40 coins I send one transaction this that sends those 40 points to person a I send another transaction that sends the same 40 points to person B if the transactions are being processed by different validators how do you can you make sure that they don't both get confed at the same time they interfere with each other
so in order to sort of understand how we solve that problem you have to actually of understand how the shorting mechanism sort of works in a bit more detail so the idea here is imagine you actually split up the actual space into let's say 26 virtual regions all address start with 0 during region one all addresses start with 01 they're in region two all add start with 02 they're in region in Region Three all all block all star staru FF they're reach 256 now transactions whose effect is limited to one particular region so where Center
is in one region the recipient is in the same region any intermediate contracts in the same region those can be processed in parallel in fact these transaction groups they actually are groups of transactions whose in is limited to one particular Shar so or one particular kind of AG range now let's suppose that I want to do make a transaction from an address in Shard a to an address in Shard B how do I do it so this is where notion of kind of asynchronous receives so the idea here basically is I let's suppose I want to send 50 units of digix
coin from chart number one to chart number 145 what I do is step one in chart one I destroy 100 digit points then I generate that transaction generate the cryptographic receipt that says 100 digit points in chart one were destroyed and this is targeted toward CH 125 that's step one now that's step two take a kind of veral proof remember bur trees you all know about them take a cryptographic proof that that was actually was created and then I see once confirmed take that proof publish it into Shard 145 after the transaction now there's just a contract
for G distri SCH on chard 145 that contract can interpret that particular receipt and it can say Okay looks like there has been a receipt and looks like 100 digit coins in Char one have been destroyed now therefore I am going to do two things first of all I am going to create instantiate dig digits points in ch 145 out of nowhere and I'm going to send them to the entire destination address the thing number two is I'm going to register a record in ch 145 stating that that would could spend so if someone tries to clean up seat again which is what it's already spend second time it's going to
so that's the basic mechanisms two steps separate the debit and the credit so step one the debit happens just in chart one the credit happens just in Char 145 the communication only happens through the kind of the root hash of the entire of the entire the kind of brot has by with the next the thing that basically proof of what happened in chard one is actually Anor 2 and The Shard 145 have anchor 2 as well so that's the basic idea now this is a mechanism you can actually extend going far beyond just coins you can in general you can think of it as a way of kind of create any kind of asynchronous programming language where you can make any kind of like
AR