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

Loading player…

A Fast and Scalable Blockchain for Enterprise Users

DevconSun, Oct 7, 2018, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/3/a-fast-and-scalable-blockchain-for-enterprise-users Almost every bank and major financial institution inChina as well as across the world is eager to revamp their computing infrastructure through blockchain. What a blockchain designed for them should look like? Is it enough to replace PoW with PBFT? What else can we do to leverage the resources enterprise users have? You will find the answers in CITA. Speaker(s): Jan Xie Skill level: Intermediate Track: Scalability Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 3 was held in Cancún, Mexico on Nov 1 - 4, 2017 Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

[Music] hello everyone I'm Jen yeah I'm the CEO of crib tape which is a blockchain start of Base in China and I was a Syrian developer in the italics research team and now I'm fully committed to our our own blood and product name Silla which is a permission blood chain and today I want to share with you the most important design the most important design choice of ceará and why it makes it a unique and the topic is scalable blockchain for enterprise which is a scalable solution you can use the day with the advent of a theorem we can be decentralized application very easily on Owen theorem and encrypted we provide all kinds of consultancy services to our customers include notary crypto assets to settle many supply chain we build all kinds of prototypes but the most question we've been asked by our customers is is the solutions you built for us scale what if what if the what if the blockchain application becomes super success and there are a lot of our users using it it's the solution can handle that much users right but all of not all of us know platin has its own scalability problem because in blood sure we need to replicate or we need to replicate the transactions as many copies the nose in the network and broadcaster replicates to ordinals and ordinals need to process the same task again again and again and then votes so no matter how many notes in the network you the whole the whole network that the throughput of the whole network is the same as a single note you can you can increase the network throughput or by simply adding notes into the network so how do we solve the problem there there are actually two solutions the hard way is what a theorem of italic is doing now is scale out by sharding right what if what if we don't replicate each transaction that many time what if we split transaction into groups and we also split nodes into groups and each group of nodes only need to process a subgroup of transactions and each group of nodes only need to maintain a sub state of the blockchain that's that that's what shot in doing but shutting is hard if you if you have if you listen to metallics talked yesterday you know there is a Shalamar in in in the sky in a scalability problem you can you can reach you can reach decentralization scalability and security at the same time so in ensuring the most hard part is security how can you do it in a safe way so it's very hard and it's theorem team is working hard on this and maybe we and we don't have it today the other way or the easier way is scale-up right if the whole if the spirit of the whole network is the same as a single node in the network what if we just upgrade a node in the network we can use a workstation even mainframe instead of a laptop to run a node then the the through book of the whole system will naturally increase right that's the solution promoted by some big names in this industry if it's so good why why don't I serum just use this solution the problems of scale of solution is obvious if you if you want to build a very decentralized network you have to make the cost of rannian node very low if you if it if you need a mainframe to run a full node a any individual cannot afford that cost and you mean you may also need very good network condition for that for node right so the cost is very high for scale for for a mint mainframe node and the other problem is centralization if the if the cost is so high then any individual cannot afford it then only people with a lot of money can run a 4 node in the network so the solution is not suitable for a public chain but for for crypt tape or for a permission blockchain the context is different right the users in the network or enterprises they they can afford the cost and information blockchain we can set a barrier for for enter so if you if you want to join to be a validation we can ask you to buy some minimum hardware to become a validation node so scale-up solution can be used in permission blockchain and we have a even better way to do that how we don't need a mainframe that's not the way today we we can use the same technique used by all those internet companies so insider' will redesign the architecture of a full node to use micro services we break the functionalities of a four node into many independent modules and each module can run as a independent process all of those processes can run each process can run on an independent server so you can use a server cluster to run a full node that's very different from the full four node clients of other blockchains today because public Bloch and clients goal is to have individual round the phone out on their laptop but for enterprise users they can afford a cluster and they have the operators to maintain cluster right this architecture can fully unleash the resources owned by enterprise users so insider' we have consensus service which is in charge of ordering all the transactions received by node and we have executed to process transactions we have authentication service RPC service and all the micro services exchange messages each other through a message bus currently we use Rebbe MQ as the message bus between those micro-services so we turn the scale up note we turn the scale up solution into a scale out solution inside a logical node what is a logical node because in Siddha a faunal is not necessarily our server so we call we recorded a logical node because it may run on a server cluster so on the right side is a logical node with many servers inside it from the other phone as point of view point of view it doesn't know if the other funnel is wrong is running on 10 servers or hundred of servers so what's the benefit if we break the functionalities into independent processes we can do a lot of concurrent and parallel optimizations for example in Siddha we have implemented asynchronous transaction validation and execution what does it mean when a foo note when foo node receives a new block the new block will be broadcast to execute an hour service at the same time and us and executed service can optimistically pre compute the new block and validate transactions in in the new block it's our concurrent process and this change will largely increase the system's efficient efficiency this is a synchrony in a single block and we because much farther than that we separate consensus service and executor service completely so when the system load of a is super high and all the transactions cannot be processed in one block time which is three seconds in Serie the the execution can last across many blocks and the state route of the final result will be right back to will be written back to the block when it's finished maybe it's three blocks later and we also we also do a lot of parallel optimizations in Silla so this is a better picture than previous one right instead of only one service we can run many service instances for for any of the macro service we can have three authentication service to validate transaction signatures we can have three RPC service instances to receive requests from clients and we can have many executors to round transactions in parallel so this is the this is a benchmark result of Syrah we did one week ago we we deployed a network with ten logical nodes on a cloud service and the throughput of the ten node network is 15 thousands transactions per second and in comparison some other blockchain solution or the the most popular approach and solution today can reach only fifteen fifteen hundred transactions per second so it's a ten times difference and we found that the throughput of the whole network will increase proportionally to the to the to the to the ability of a single node in the system like the orange bar we use a 4x large server and blue in in the blue and red deployment they use twice powerful hardware and another interesting thing is we find that the blue deployment and the performance of blue deployment is almost the same as red deployment but the blue one uses a single server for a logical node but the red one use three lower grades servers for a single node for a single logical node so the result is very promising and all of this is just a beginning we are still pushing very hard to increase the system's Ruppert to do more parallelism in silla and actually the micro service architecture is the only cloud friendly architecture the de cloud for any blotching architecture today because you can fully utilize the server instances on cloud you can run many server instances to power a phone note and there are many other interesting designs and I I can no not not enough time but well we have native contract other than EVM Conchetta in the default see that stack with support EVM concha by default but you can always rewrite your solidity country with native code and our native conscious support solidity ABI and it provides solidity compatible storage API so you can use mappings those data structures in native concept and a solidity country can go into native concept naturally without any change this is an example in rust by the way Siddha is written in rust and the beautiful of the the scale of solution is that the solution is of orthogonal to all the future scaling solutions like sharding plasma state channel you can use them together and I believe even in scalability solution like plasma the root chain still need very very high performance still need to do a lot of things like we did in Siddha to support all those orders child chains and this is a typical network of Siddha so we build this neck we built this network for enterprise users each enterprise user can run a full node which include many micro services and their users can get access to the network through their phone out this Hebron model within this hybrid model deserves more consideration and more research and we can build decentralized enterprise application on this network and if you are interested in Sita Sita is fully open sourced and you will you can find his white paper is all of its code and we view talker image and we provide some a simple bootstrap document so you can follow the steps and run a set of network and benchmark it we have many customs yet this is why we we we need such high throughput such high performance because our cost must include like China banknote printing and minting company their product literally has billions of users right thank you [Applause] [Music]

Automatic transcript — names and jargon may be misspelled.