submitted by CelesOS to u/CelesOS [link] [comments]
The consensus mechanism is one of the important elements of the blockchain and the core rule of the normal operation of the distributed ledger. It is mainly used to solve the trust problem between people and determine who is responsible for generating new blocks and maintaining the effective unification of the system in the blockchain system. Thus, it has become an everlasting research hot topic in blockchain.
This article starts with the concept and role of the consensus mechanism. First, it enables the reader to have a preliminary understanding of the consensus mechanism as a whole; then starting with the two armies and the Byzantine general problem, the evolution of the consensus mechanism is introduced in the order of the time when the consensus mechanism is proposed; Then, it briefly introduces the current mainstream consensus mechanism from three aspects of concept, working principle and representative project, and compares the advantages and disadvantages of the mainstream consensus mechanism; finally, it gives suggestions on how to choose a consensus mechanism for blockchain projects and pointed out the possibility of the future development of the consensus mechanism.
First, concept and function of the consensus mechanism
1.1 Concept: The core rules for the normal operation of distributed ledgers
1.2 Role: Solve the trust problem and decide the generation and maintenance of new blocks
1.2.1 Used to solve the trust problem between people
1.2.2 Used to decide who is responsible for generating new blocks and maintaining effective unity in the blockchain system
1.3 Mainstream model of consensus algorithm
Second, the origin of the consensus mechanism
2.1 The two armies and the Byzantine generals
2.1.1 The two armies problem
2.1.2 The Byzantine generals problem
2.2 Development history of consensus mechanism
2.2.1 Classification of consensus mechanism
2.2.2 Development frontier of consensus mechanism
Third, Common Consensus System
Fourth, Selection of consensus mechanism and summary of current situation
4.1 How to choose a consensus mechanism that suits you
4.1.1 Determine whether the final result is important
4.1.2 Determine how fast the application process needs to be
4.1.2 Determining the degree to which the application requires for decentralization
4.1.3 Determine whether the system can be terminated
4.1.4 Select a suitable consensus algorithm after weighing the advantages and disadvantages
4.2 Future development of consensus mechanism
Last lecture review: Chapter 1 Concept and Function of Consensus Mechanism plus Chapter 2 Origin of Consensus Mechanism
Last lecture review: Chapter 3 Common Consensus Mechanisms
Chapter 3 Common Consensus Mechanisms (Part 2)
Figure 6 Summary of relatively mainstream consensus mechanisms
Source: Hasib Anwar, "Consensus Algorithms: The Root Of The Blockchain Technology"
The picture above shows 14 relatively mainstream consensus mechanisms summarized by a geek Hasib Anwar, including PoW (Proof of Work), PoS (Proof of Stake), DPoS (Delegated Proof of Stake), LPoS (Lease Proof of Stake), PoET ( Proof of Elapsed Time), PBFT (Practical Byzantine Fault Tolerance), SBFT (Simple Byzantine Fault Tolerance), DBFT (Delegated Byzantine Fault Tolerance), DAG (Directed Acyclic Graph), Proof-of-Activity (Proof of Activity), Proof-of- Importance (Proof of Importance), Proof-of-Capacity (Proof of Capacity), Proof-of-Burn ( Proof of Burn), Proof-of-Weight (Proof of Weight).
Next, we will mainly introduce and analyze the top ten consensus mechanisms of the current blockchain.
Delegated Byzantine fault tolerance. The improved Byzantine fault-tolerant algorithm makes it suitable for blockchain systems. The system consists of nodes, delegators (who can approve blocks), and speakers (who proposes the next block). It is a consensus algorithm that guarantees fault tolerance implemented inside the NEO blockchain.
In this mechanism, there are two participants: the professional bookkeeper "bookkeeping node" and the ordinary users in the system.
Ordinary users vote based on the proportion of holding stake to determine the bookkeeping node. When a consensus is required, a spokesperson is randomly selected from these bookkeeping nodes to draw up a plan, and then other bookkeeping nodes will vote basing on the Byzantine fault tolerance algorithm.That is, majority principle. If more than 66% of the nodes agree to the spokesperson’ plan, a consensus is reached; otherwise, the spokesperson is re-elected and the voting process is repeated.
-Representative application: Neo, etc.
Proof of authority. That is, certified by some accredited accounts, these accredited accounts are called "validators". The software that the verifier runs that supports the verifier to place transactions in blocks.
-Representative applications: VeChain, etc.
Directed acyclic graph. Each newly added unit in the DAG is not only added to the long chain block, but added to all the previous blocks, verifying each new unit and confirming its parent unit and the parent unit of the parent unit, and gradually confirming until the genesis unit. As the hash of its parent unit is included in its own unit, the blockchains of all transactions are connected to each other to form a graph-like structure with time.
In the DAG network, each node can be a trader and a validator, because the transaction processing in DAG is done by the transaction node itself. Taking IOTA as an example, IOTA’s Tangle led
ger does not need to pay transaction fees while ensuring high-speed transaction processing. However, it does not mean that the transaction is free, because in this ledger, the initiation of each transaction needs to verify the other two random transactions first, and connect the transaction initiated by itself to these two transactions, so the responsibility that miners on the blockchain bear is distributed to all traders. The DAG method of processing transactions can be called asynchronous processing mode.
Figure 10 The difference between the traditional blockchain structure and the DAG structure
-Representative applications: IOTA, etc.
Proof of elapsed time. That is, it is usually used in a permissioned blockchain network. It can determine the mining rights of the block holders in the network. The permissioned blockchain network requires any prospective participants to verify their identity before joining. According to the principles of the fair lottery system, each node is equally likely to become the winner.
Each participating node in the network must wait for a randomly selected period, and the first node to complete the set waiting time will get a new block. Each node in the blockchain network will generate a random waiting time and sleep for a set time. The node that wakes up first, that is, the node with the shortest waiting time, wakes up and submits a new block to the blockchain, and then broadcasts the necessary information to the entire peer-to-peer network. The same process will be repeated to find the next block.
Proof of stake velocity. Proposed by Reddcoin, drawing on the concept of "money circulation speed" in economics, it mainly allocates bookkeeping rights based on the coin age of nodes participating in the competition.
PoSV also allocates accounting rights according to the coin age of the nodes participating in the competition, but modifies the coin age calculation formula to a function of exponential decay of growth rate. Taking Reddcoin as an example, Reddcoin sets the half-life of the coin age growth rate to 1 month. Assuming that the unit token can accumulate 1CoinDay coin age on the first day, only 0.5CoinDay coin age can be accumulated on the 31st day, and only 0.25CoinDay coin age can be accumulated on the 61st day, and so on. In this way, the nodes are encouraged to use the token to conduct a transaction after holding the token for a period of time, thereby restarting the calculation of the coin age and increasing the circulation speed of the token in the network.
-Representative applications: Reddcoin, etc.
Table 2 Comparison of the advantages and disadvantages of current mainstream consensus mechanisms
Source: network resources
Chapter 4 Summary of the Selection and Status Quo of Consensus Mechanism
4.1 How to choose a consensus mechanism that suits you
Step 1: Determine whether the final result is important
For some applications, the end result is very important. If you are building a new payment system that can support very small amounts, it is acceptable for the transaction result to change. Similarly, if you are creating a new distributed social network, 100% guarantee that the status is updated immediately is not particularly necessary. On the contrary, if you are creating a new distributed protocol, the final result is critical to the user experience. For example, Bitcoin has a final confirmation time of about 1 hour, Ethereum has a final confirmation time of about 6 minutes, and Tendermint Core only has a final confirmation time of 1 second.
Step 2: Determine how fast the application process needs to be
If you are building a game, is it reasonable to wait 15 seconds before each action? Due to the low block processing time of Ethereum, games built on it will cause poor user experience due to Ethereum's throughput. However, the application for the transfer of housing property rights can be run on Ethereum. Use the Cosmos SDK to build an application that allows developers to freely use Tendermint Core. It has a short block processing time and high throughput, and is capable of processing 10,000 transactions per second. You can reduce the required communication overhead and speed up the application by setting the maximum number of validators for the application.
Step 3: Determine the application's demand for decentralization
Some applications such as games may not require very high censorship resistance as a by-product of decentralization. In theory, does it really matter that the validator can create a cartel in the game and reverse the transaction result for profit? If it is not important, a blockchain such as EOS may be more suitable for your needs because of the fast transaction speed and free fees. However, some applications such as autonomous banks are more powerful and decentralized. Although Ethereum is considered to be decentralized, some supporters claim that Ethereum's mining pool is an important part of centralized platform, although there are actually only 11 validators (mining pools). One of the major benefits of building your own blockchain instead of building on a smart contract platform is that you can customize the way the application completes verification. However, it is difficult to build your own blockchain, so the Cosmos SDK is very useful, you can easily build your own blockchain and customize the degree of decentralization you need.
Step 4: Determine whether the system can be terminated
If you are building a new application similar to a distributed ride-sharing service, then ensuring 24/7 service must be the first priority, even if there are occasional errors in accounting similar to transactions. One of the properties of Tendermint Core is that if there is a disagreement between network validators, the network will suspend operations instead of proceeding erroneous transactions. Applications such as decentralized exchanges require correctness at all costs-if there is a problem, it is far better to suspend trading on the decentralized exchange than there may be trading problems.
Summary: Choose a suitable consensus algorithm after weighing the advantages and disadvantages
All in all, there is no single best consensus algorithm. Each consensus algorithm has its own value and advantages. You need to have your own judgments and choices. However, by understanding the relevant processes of the consensus mechanism, including proposals and agreements, and establishing a framework to consider the types of consensus algorithms that your application may require, you should be able to make wiser decisions.
4.2 Future development of consensus mechanism
The consensus algorithm is one of the core elements of the blockchain. Although there are more than 30 consensus mechanisms listed in the article, there are still many niche consensus mechanisms that may not be discussed. As the blockchain technology is gradually known and accepted by the public, more and more newer and better consensus algorithms may appear in the future, which may be brand-new consensus algorithms, and more should be improvement and optimization version based on the current consensus algorithm.
After 2016 and 2017 years’ fast development, the current consensus algorithm does not have a recognized evaluation standard, but is generally more biased towards fairness and decentralization, as well as some technical related issues, such as energy consumption and scalability , Fault tolerance and security, etc. However, blockchain technology must be combined with requirements and application scenarios, and the consensus mechanism algorithm and incentive mechanism are inseparable. How to customize a suitable consensus mechanism according to the characteristics of your own project and optimize the current consensus mechanism will become the future direction of consensus mechanism development
As the first DPOW financial blockchain operating system, CelesOS adopts consensus mechanism 3.0 to break through the "impossible triangle", which can provide high TPS while also allowing for decentralization. Committed to creating a financial blockchain operating system that embraces supervision, providing services for financial institutions and the development of applications on the supervision chain, and formulating a role and consensus ecological supervision layer agreement for supervision.
The CelesOS team is dedicated to building a bridge between blockchain and regulatory agencies/financial industry. We believe that only blockchain technology that cooperates with regulators will have a real future. We believe in and contribute to achieving this goal.
Update: There are 2 more faucet I found http://bonusbitcoin.co http://bitfun.co Each of 2 needs another subscription (I mean with email and password, not just the email used on coinpot like the other 4), personally I just use the 4 listed above.
I bet some people on Reddit that I can do this. They didn't believe me. They bet me I was lying. I wasn't lying. They lost the bet. I took their money and bought a yacht. Then I used the rest to finish testing my farm/bitcoin mining idea. It's all in my post history over the years. LOL. This subreddit is so fucking gullible. Some serious gems in his post history. Sounds like a 14 year old ... Anyone have any idea if there is a website or btc mining pool where you can buy your bitcoin driectly from the miners? Big or small volume. When operating a crypto business from a risk based aproached view which is mandatory if you are a regulated business, this seems to be the most "low risk" way to buy bitcoin since the newly mined coins havent been used before. My new gaming PC, which also doubles at my new amateur crypto mining rig. (Photo credit: Fox Van Allen) When I bought my first hundredth of a bitcoin back in December for $138, I had no idea how ... /r/btc was created to foster and support free and open Bitcoin discussion, Bitcoin news, and exclusive AMA (Ask Me Anything) interviews from top... bitcoin diamond mining pool - According to BlockTrail, Bitfury is the third largest Bitcoin mining pool and mines about 11% of all blocks. The main difference between the Bitfury pool and other mining pools is that Bitfury is a private pool. Bitfury, the company, makes its own mining hardware and runs its own pool. So, unlike Slush or Antpool, Bitfury cannot be joined if ... - ccminer is to ...
[index]          
bitcoin mining software - best free bitcoin mining software pro. This is Bitcoin Mining Software 2020 BEST Bitcoin Miner How I became a Millionaire Thanks to... A somewhat in depth look at what BitCoin mining actually is: More Information on Bitcoin Mining and we are building up to getting your own BitCoin miners setup so you can start mining! Link Dump! white-crypto.com, free bitcoin mining sites without investment 2020, freebitcoin 2020, legit bitcoin mining sites 2020. site link https://zee.gl/fQaJn top hi... On Saturday, Zynga, the San Francisco-based social game maker, quietly took to Reddit to announce that it's now accepting bitcoins as a form of in-game payment. The pilot program, which Zynga is ... This video was made with the request of miningpoolhub reddit community. I explain how to get up and running with miningpoolhub using MultiPoolMiner. I did a basic monkey see, monkey do style ...