There was no way we could implement it in the Bitcoin repo in a couple months. Weĭecided that if the Casper Authors could not implement Casper on the platform they invented and wrote in almost a year, , including the Nothing at Stake problem but is very complicated and there are currently no working implementations. The consensus algorithm proposed by Vitalik Buterin and Virgil Griffith, addresses many of the problems with naive Proof-of-Stake No implementations of Proof-of-Stake that correctly address the Nothing at Stake Problem well. Proof-of-Stake is, in theory, much faster than Proof-of-Work and is in general very fast. In the bitcoin repo, we ended up completely removing Proof-of-Work from bitcoin, which was less trivial than it sounds. This was not optimal for a decentralized exchange. The main drawback of Proof-of-Work (bitcoin's consensus mechanism), low throughput in exchange for high security and Had we chosen this consensus mechanism, we would have created the slowest decentralized exchange in existence. Here is a summary of our findings: Proof-of-Work (PoW) We researched various consensus algorithms to try to find the fastest one. This was the basis of our design rationale. When we approached this massive project we knew that for people to use a decentralized exchange, it had to be extremelyįast. Consensus algorithm chosen (BIG factor, difficult to get right).There are pretty much two factors that effect throughput and exchange performance for decentralized exchanges specifically: Was to have as much throughput as possible, since liquidity is a necessity in any type of exchange. Everything is baked directly into the blockchain.įor this reason, we can run an off-chain matching engine alongside a full node that is able to execute an atomic tradeįor this project we made multiple design decisions in order to improve the performance of the exchange. These attributes, as well as the way that we have separated the transaction types, make it very easy to add marketįeatures that are related to any type of value exchange, without using or needing any Ethereum or NEO-style smartĬontracts. WeĪlso added transaction attributes, allowing us to easily add the required information for each new transaction type. Transactions, asset transactions, asset creation, and native coin transactions are each different transaction types. We will explain the tradeoffs of using this type of consensus in the "Design Rationale" section below.Īfter implementing Delegated Proof-of-Stake, the main challenge of this project, we implemented the required marketįunctions easily by creating new fields in transactions as well as new transaction types. That involves voting in block producers, who are selected to produce blocks on a schedule, in order to maintain aĬonsistent blocktime while being able to handle many more transactions per second than most other consensus mechanisms. We removed Proof-of-Work and replaced it with a new implementation of Delegated Proof-of-Stake, a consensus algorithm Our implementation of aĭecentralized exchange is built off of Bitcoin, with many major changes to certain inner workings of bitcoin that We are submitting this project as a part of the Binance DEXathon,Ī coding competition held by Binance with the goal of building a Decentralized exchange. Binance Dex Binance Decentralized Exchange
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |