New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Perishable Proof of Transactions - New Consensus for Day to Day dApps - David Wu (TAUCOIN.io)

TOKEN2049Sun, Oct 9, 2022, 12:00 AM

Transcript

uh let me just test this mic one bitcoin worth one million good one bitcoin two million one bitcoin three million good good oh good okay so so we have this thing working so the problem for one bitcoin was one million is actually not too many people on the street using blockchain technology it's we kind of like running this small hogwarts school that we think are playing magic but in the in the in the real world people not really using blockchains so the problem is like how we're going to using bitcoin of how we're going to use blockchain for day to day okay so one bitcoin one million we need uh we need the uh slice oh okay so let's see okay great good so um so the problem is how we're gonna use a big blockchain technology for a day-to-day application rather than just use that for speculating some kind of assets uh so that's the the the big problem for us to reaching bitcoin uh was one million and the second problem for the people on the street is their application is very much tied to the servers so the problem for tying to servers basically you're paying too much commission fee and you're basically under control of the big tag and uh um there are many many problems so give that we actually um think of a new idea which is a new consensus called perishable proof of transaction so this is a completely new idea basically the most important block in the bitcoin ledger is the genesis genesis block so we're kind of challenging the idea so if we can get rid of genesis block make the blockchain completely small and this may give something very different so i would like to take a technical discussion a technical journey and to look at these new ideas so first we have this thing called immutable blockchain which is bitcoin ethereum ada and many map the wonderful stuff i have nothing problem with that so so basically they require the community members to remember the full history collectively so there's a lot of burden for nodes to remember the the whole state space and the whole ledger but it's very good for long-term financial contracts like it's good for nft good for smart contracts good for defy and good for many many things but this is only a small part of the real world we have um so and the burden for ever increasing state size already become problem for ethereum this we're talking about four terabyte uh hashing map for the merkle patricia tree and in the bitcoin the utxo is just too big to manage some of the bitcoins that log into utex so we cannot just get them out because it's just too big to store uh for for many nodes so um now we're kind of thinking basically uh so i'm a techno person so i talked to my team we tried everything try to scale up a bitcoin but nothing worked everything failed so then we come back to let's challenge something very very basic how about we make a blockchain complete perishable so which means a history beyond a certain time frame such as six months will be completely forgotten will be ignored it's a completely crazy idea so we start this idea and suddenly we're entering to this gate there are a lot of magic happen to us it's starting to open a different world for our imagination so first only accounts with a transaction in past six months will be valid so transaction beyond six months will be completely forgotten it's probably very bad for regulators so nothing gonna be it's like snapchat you cannot use that proof of anything uh for regulators so may maybe mainly good and also we basically the blockchain is used to recording the metadata so what are the like metadata it's basically your address and your balance those very important informations because with the address we can achieve something called a key to key communication not account to account communication so with key to key communication it's much cheaper and much more independent because you can generate your key easily and you can get other people's key just like say sending me your public key and i can send your send message to you and because it's perishable it demands a very low computing resource so one ledger will be able to manage that under 15 megabytes so a modern phone can easily handle a hundred blockchain as a full nodes so this is something very amazing because these days the wallet none of the wallets are are decentralized because wallets basically have to connecting some kind of server you know even wonderful metamods i like that but you still have to connect in some kind of nodes you cannot just run a transaction by yourself um so given the uh computing resource small a phone be able to uh manage to become full nodes so the commission communication speed is no longer restrained by how good you're connecting to server but only restrained by your ability for uh viability of the bandwidth so we pay particular attention to save bandwidth because africa market is our design background we think if if this application doesn't work in africa um it wouldn't be a good technology no again if it works there it will be excellent here so we're kind of using africa background to to to decide that this does actually give us some very good finding because we found that the ipv6 protocol is so much available in africa that they don't really have this much nat issue so that's very uh going to be another topic we're getting very excited about that um so the design goal is like we want to have a small community to run their own coins for example africa again so if we go to africa there's no servers and too expensive and most people cannot afford bitcoin ethereum all those kind of wonderful coins to run that run their tokens but you have friends you have phones so as long as you have find friends and phones you can using parish blockchain to build your own small coin community you can circulate in your stable noodle coin like coin get noodle you can circulating a uh whatever you know membership you want you want to do that so that's the um benefits perishable can can can bring to us okay so the design goes for day to day application for small communities so let's get a little bit technical ppot perishable proof of transaction thanks to nxt so i really like that white paper so the basic like seven years ago uh on unknown guy anonymous again so this guy wrote this white paper i hope he's here so really thanks to him nxt white paper laid down this concept called the generation signature it's a technology of a network randomness to achieve consensus by using stake i think that's a very early stage proof-of-stake consensus uh basically the more stake you're holding the more probability you can generate next block so to win the reward so but there's a problem because network generation the generation signature can predict what's the future address has higher probability to receive block so they're able to moving stake from address to address to kind of getting more favored uh more more favored to win the next block so we're kind of changing ideas okay uh if we're using transaction history as the weight as a difficulty you cannot really moving transaction because transaction happens on address so we're kind of we're changing the pot a pos to plt proof of transaction so by doing that the security level increase so the reason most of the consensus don't use in pot because it's not good right it's not good but because people like the coins value go up and uh you really want people coding more coins so actually the more value goes up so we're taking a different perspective we want to have the change to be more active so the more transaction you're making in in the ledger the more probability you'll win next block okay but the problem for pot is someone might equivalent huge amount of power and control the network so here comes the perishable because every six months your transaction will be forgotten so no one is be able to just have like a huge amount of power for a very very long time so somehow these things are fitting together so we have a problem with the proof of stake we have the the power shifting attack then we're converting that to plt then plus and perishable then ppot become this final piece honestly we only figured this out literally like six months ago after two years research of scaling bitcoin and trying different things you know we just built everything and the build on the like relics we found this ppo team we feel very very lucky and we actually focused on this uh original principle called permissionless and non-delegates i know a lot of people don't like non-delegates it's a very very difficult concept to swallow um because ledge is so big the state is so huge you have to give data availability or transaction execution to some super nodes but in the perishable world there's no discrimination between super nodes and a wallet everyone is the same 50 megabyte you can have the whole node so it doesn't matter how big server farm you have you will end up the same as the wallet so there's only one row and permissionless so permissionless means uh the design purpose of tao is all about you don't need to own tau coins at all because we think any ownership of a certain coin is an inflection it's just too expensive and if it's not expensive expensive today it will get an example tomorrow like ethereum so it has to be permissionless so that's why we build our protocol without having to own powerpoint at all this is a protocol and open source and free for every community you can just run your things without owning any specific coins i think again it's very good for africa village they cannot buy any specific coins basically because the bank no bank account there so just want to emphasize uh holding a shorter history and uh the phone just getting released and and believe it or not the phone this has become very powerful most of them having like half gig uh half gig storage so can basically become a full node for literally 100 full blockchains okay so this one i want to emphasize is a little bit techno technical so transaction pool is converting to communication pool um so this is actually how we're actually increasing the communicating speed in the tall world there's no difference between messaging and the transaction which is not possible in bitcoin because when you let's say when play tinder i send 100 messages out and 99 no so those information cannot be stored on permanently i don't like that so it should be perishable so on the traditional blockchain so because there's no messaging you have to store everything on chain which become burden but in our case because it's perishable so everything is a transaction and because every node becomes full node you can have your own transaction pool for people building nodes you understand for wallets there's no way to own a transaction pool transactions transaction pool is owned by this holy grail node they have the privilege of doing that so now every node has a transaction pool everyone be able to communicate so that's how we're actually achieving this uh higher speed of a communication so now every participant has a pool now uh networking okay so the consensus part is actually very easy it's very easy to understand than uh any kind of zk stuff but the most difficult part is that networking consensus is very easy to implement so networking is difficult i'll give you an example so for the for the bitcoin world um i think we'll probably just only have a 100 full nodes server farm is huge but only 100 full nodes the communication complexity is n squared so 100 n squared no big deal we can gossiping so the gossiping protocol works well when those numbers are small uh if you're in probably effective nodes 1000 1000 square okay manageable but for serverless perishable nodes every phone become a node will easily easily we can get one million so one million square how do you deal with that how can people communicate to each other with this so much complexity of the of networking so this is actually we learned so much from um torrent so thanks to uh alvin who built this wonderful lib torrent protocol the more we dig into it we're just saying this is this guy's this is like a god you know so he comes this idea called a choke the choking mechanism so the choking mechanism said uh it's like coming from this called a prisoner dilemma you put two bad guys into jail and they have to talk honestly otherwise one guy would be punished but they're always bad guys okay one guy so i'm gonna tell the tell the lie i'm gonna get out of jail and i'm happy so the now the engagement called indefinite prisoner of dilemma okay that's a choking mexican it's an indefinite predator because you even get out of jail you come back tomorrow and you lie yes you get out you come back tomorrow since so in that situation everyone we realized that the best way is really to tell the truth like contributing data so the choke mechanism basis that for a particular time slot very very time short time slot only two nodes can communicate to each other if you're lying you're not providing data you'll be punished right away even you don't get punished today you'll be punished tomorrow because it's indefinite so the choking mechanism really make the torrent work so robust you'll be able to download the movies and all those sort of things without a problem thanks to this choking mechanism so we use the same idea um to managing the uh networking situation work but there's a lot of coding to write and a lot of testing to do so this is a difficult thing to do so that's one way of incentivizing people say telling choose and sharing data and the second thing so like in the real world i want for example make this gentleman do something for me the first thing i will try i'm going to thread you i think i'm going to scare you all right you're a brave guy i don't care then the second thing i'm going to do i'm giving you some benefit you may do it either or you'll do something for me right okay so the second approach is this is actually uh using by dht um it's like my name is david if another guy called daniel he comes out say okay i want to share a deal with you because we'll share very similar name we belong to the same tribe i will give you more favor i'll give you more data like probably you're my neighbor so in return next time when you relay data back to me because we're a similar name you give it back to us so this is like prefix peers so we're using two methods to encouraging data sharing even a very big uh complex network so we can i can go down to a lot of details on this thing but this is very exciting stuff the networking and the second thing is um because on the phone network there's no stable connections so any protocol we have like tcp uh utp uh quick and those kind of connection based protocol wouldn't work because the phone is behind firewall on and off and a second so there's no continuous connect stream this kind of nightmare how we're going to deal with this um then we come up this idea called the udp with levenstein distance so limestone distance is something that you have a when you're editing the world you type a wrong word that the uh the you know the the the editor will give you a option for of a new word so the constant calculating the distance between two uh two words and give you the um the correct one so the levels and distance is like okay we allow one node to sending data regardless to the other side and by the same time we're sending this leverage time distance which are very small value very very small and the receiver will compare these two things and band of day they'll be able to have the whole stream and limestone distance is better than bloom filter if anyone using bloom filter because balloon filter doesn't have a sequence limestone distance has a sequence so with sequence you have a small footprint of data you'll be able to communicate more missing information to the receiver then by exchanging limestone distance very quickly the data can be uniform so then the length of a limestone distance determine how fast you can get the outside data so what kind of experiments so so we think for um like for phone swarm so this kind of approach is better than tcp uh better than utp uh i'm sorry not your uh utp a better than utp and better than those connection based uh communication and uh we have a little thing about live signal to maintain swarm stability because every phone like when you're switching cells your ipi just change your your station change so we have this live signal it's a mutable data item uh keep your notes live to be able to receive and sending communication so so there are a lot of working in the a lot of work in the networking to make this thing happen okay so as finally i want to talk about some uh attackers because i really enjoy uh talking about how people attacking us and how we defend and this kind of getting very technical so first very famous secret chain attack the secret chain attack is a general attacking mechanism including double spending nothing at a stake history reorganization so those kind of attack is talking about a one supernodes they'll be able to mining behind the scene and generating a chain and after they're spending some money on the other chain then they suddenly give you the chain that they're sort of getting money back uh and also uh one powerful note they can recreate the entire history and and community get confused same thing nothing's as thick so it's a very difficult thing to uh to deal with so in our world we create this concept for the consensus point it's not epochs not a checkpoint it's because all the nodes are able to vote uh because every node is a full node they're able to vote so we'll keep on collecting the consensus point because when a community observing a chain it's very difficult it's actually actually it's harder to holding a secret chain without to be found by the community so whatever happened prior to the consensus point will be taken as a genesis whatever happened prior to consensus point will be taken as a genesis this actually makes computing so much faster you don't have to compute it from the first block all the way to today so consensus point as long as got reached as long as i get getting consensus reached sorry my english uh reached and everything prior to that become genesis point genesis block so we hope that can fix the problem certainly it's much safer than just having uh it's much safer in the environment that people not be able to vote in so so that's how we deal with the pos secret chain attack and the state shifting attack state shifting attack is talking about uh you can predict in the future then you move your stake over to the future then you capture that block over there so we replace that with the transaction history there's no way you can you can move the future no way you can move your history because history is fixed to address and because of that we don't have to deal with the bft type of things it's it's a little bit too generalized i said this i think every delegation mode is a type of a bft which is wrong but uh you know i'm just making simple so every type of delegation is kind of a bft um so with everyone be able to vote we don't have to go into that route having delegates um so that thanks to uh this disputed denial of service distribute denial of service uh because it's a swarm it's no longer become a set of nodes uh we don't really have a single point of failure uh it's a swarm you know it's very difficult to attack a swarm you you have a mosquito there you just cannot shut them down it's always there so naturally a phone swarm is resistant to denial service and there's some little interesting things we found about because we're afraid of the control of the blockchain so in case of the worst scenario happens someone can choose the blockchain what do you do so we invented this thing called a negative block numbers so you know in the mathematical field when you're inventing something negative or even going to imagine an imaginary field that some magic will happen assume that blockchain is very very bad nobody like it so you you as a community leader you want to take a rebellion out of it so then we allow you to create this negative blockchain number you don't have to wait block to happen like every five minutes a block if you go to negative we can you can just take off a whole chain and put it into negative block then suddenly the whole community being created created with a negative history because six months you're starting from zero that's everything like 50 000 negative blocks will become instant valid then you just announce that i'm rebelling i'm a rebellion from tao i i know how's very bad i'm rebelling and i created next chain and suddenly the community can shift out so when people are doing air dropping the biggest problem is like the fee for paying for the air dropping tokens so because the negative negative blocks those can be avoided so we're encouraging about rebellion transaction pool is imaginable i think i have explained that uh and the final point i'm not going to keep you alone so the final point is the whole design purpose is you don't need tau you don't need power coins that's infliction so without owning a specific coin you basically let your community fly they can do whatever they want and without purchasing and buying your things uh we have lots of documentations and content on our websites and if you guys are interested you can read that and i have a video to summarize everything so if the gentleman behind the stage can play the video hi i am tower crypto phone mining crypto phone mining aims to enable one phone to independently mine and operate in 100 plus community blockchains it does not require assistance from central servers yeah music the app and api is developed by tao in cambridge science park uk the innovation is perishable proof of transaction ppot consensus the blocks older than six months will be forgotten in return for full phone node to achieve high communication throughput choked voting to resist secret chain attack thank you all

Automatic transcript — names and jargon may be misspelled.