原文链接

Both in the glossary and in some of our previous posts we've touched on mining and the two main methods in use today: PoW and PoS. We'll discuss each method in this article, but first we'd like you to read the fundamentals: intro to cryptocurrency and intro to blockchain so that you can follow along nicely.

Proof of Work

With Proof of Work, your miner (the computer or group of machines under your control) does the following:

  • takes from the internet the order to process some transactions. In other words, it takes from the miners geographically closest to it a set of transactions it's supposed to verify, in which it is written who's sending how much of a cryptocurrency to whom.

  • the miner then builds a block – a list of transactions that need to be validated. How many transactions per block depends on the size of those transactions. Those which send from many addresses to many addresses are much larger than those sending money from one to maybe one or two addresses, as previously explained.

  • the miner combines all the data from this block (literally glues them together), adds some more data into the mix, and then tries to guess the final bit of data which will result in a valid hash when hashed. For example, in Bitcoin, the hash has to be prepended by a certain number of zeroes. The computer, thus, does the following: “Try summing up all of this and the number 1. Incorrect? Okay, try summing up all of this and number 2. Incorrect? Okay, try…”

  • the computer's processing power will dictate how many of such guesses per second it can do.

  • after a successful guess, the computer gets a block reward which is currently 12.5 BTC in Bitcoin, or 6.18 XMR in a system like Monero, etc.

The profits of mining this way will vary by hardware, software, and currency – we've gone into some detail here.

A mining rig

The advantages of PoW are:

  • outside factor effect. With the PoW mechanism, the production and circulation of money requires external factors like power and hardware. It is not possible to get the expense of power or production of hardware back. Why this is important will be explained in the PoS section below.

  • it's simple to pool mine. It's easy to just grab another computer's calculated hashes, combine them into one big pool of hashes, and have many computers hashing together, splitting the profits.

  • it's useful for areas with surplus electricity, like China with its hydroelectric dams.

The disadvantages of PoW are:

  • PoW isn't possible on smaller and weaker devices like smartphones. Not only do these devices lack the space to store hundreds of gigabytes of blockchain data, but they're also not computationally powerful enough to mine effectively. The battery would be emptied very quickly, not really accomplishing anything.

  • PoW mining is slow. With Bitcoin, it's one block every 10 minutes, and the transactions that fit inside that block will be processed. Anything else has to wait for the next block. This causes long waiting periods or expensive transactions (those that attach a higher transaction fee are processed faster).

  • PoW is already spending enormous amounts of electricity. Simply mining a single block costs more electricity than some countries need in a whole year. This will only get worse. The dependence of a cryptocurrency on electricity is unsustainable in all but the most stable environments. This dependency also means that a more expensive electricity bill or a government-imposed limit to the types of spending electricity can be used for can stop an entire cryptocurrency.

  • PoW allows for the centralization of mining. China already has 80% of the world's Bitcoin hashing power, and if their cartels join forces, we've got an 80% attack, not a 51% attack.

  • Because the block reward keeps decreasing, miners keep getting fewer and fewer tokens of a mined blockchain. At the same time, as more people are mining, the mining difficulty increases, so it gets harder and harder to mine. This makes mining more and more expensive compared to profits, and fewer people bother with it, exiting the system. The currency self-sabotages. Less hashpower among the miners also makes the 51% attack more likely.

As an example, Bitcoin might still rise to some $25000 or $50000 through the next 5 years or so, but as transactions get moved off chain onto solutions like the Lightning Network (designed to transact small amounts on the side, without waiting for validation from the main chain, thus moving fees off the main chain too), mining becomes even less profitable. With block rewards approaching 0 and transaction fees all but gone, this will further escalate the miners' departure from the network, opening it up to a 51% attack or total stagnation.

Proof of Stake (PoS)

Proof of Stake

With Proof of Stake, no complex equations need to be guessed so powerful computers are no longer necessary, and with them, there's less need for electricity.

Examples of PoS coins: Ethereum (soon), BlackCoin, CoinMagi, Diamond, Mintcoin, OKCash, HyperStake, Quotient, etc.

Let's take Ethereum as an example. Proof of Stake works by randomly selecting a “validator” – an account with enough Ether to be considered a stakeholder, someone who's invested into the ecosystem. Initially, that would be 1000 Ether. The more Ether a validator has, and the longer it has been on the candidate's account, the more chance that they'll be picked. This validator then stakes the Ether (locks it up for a period of months) and guarantees to uphold the laws of the ecosystem – to truthfully validate transactions. Once a new transaction arrives, it's added to the block, validated, and the block is sent to the other validators for confirmation. For this work, the validator gets the transaction fees of the transactions they processed.

Because there's no more need to guess combinations and processing transactions is easy and cheap, it's easy to generate fake ones. But because validators have to reconfirm the information (like students in a school correcting each other's exam), it's almost impossible to think a bunch of validators will all confirm a malicious one's report. For this to happen, the malicious group has to not only be randomly selected at the same time (impossible), but also have 51% more Ether than the rest of the randomly selected validators who could have anywhere from the minimum to an astronomical amount of Ether.

Furthermore, if a validator is found to be malicious, they lose their stake and are kicked off the network. Cheating becomes an incredibly expensive sport. Someone with enough money invested into the Ethereum ecosystem to become a validator has no reason to sabotage this ecosystem because their holdings lose value (because of the scandal they caused if successful, or because they lose their stake if the cheating attempt fails).

The advantages of PoS are:

  • speedy processing of transactions
  • contrary to PoW, not harmful to the environment
  • not vulnerable to a state attack: no need for enormous amounts of electricity
  • can be performed on smaller and weaker devices because there's no need to download the whole blockchain, and since there's no need for much computational power either, can be easily adopted by the mainstream

The downsides of PoS are:

  • no external factors. Given that the stake is a part of the system itself, the whole game is internal. This means that someone with enough money to invest exclusively into the destruction of this system can do so by investing only money, as opposed to Bitcoin where they need to invest money, time, expertise, hardware, electricity, and more – all external factors.

  • the rich get richer. Those who have had their Ether the longest (the age of the Ether in an account is as much of a factor as the amount is) also have the best chances of becoming validators. This means their chances to earn more Ether on top of their existing pile also increases. This is different from Bitcoin's “rich get richer” system because there the rich have to keep investing in hardware and knowledge to remain competitive. It also hurts more to sabotage the network.

Delegated Proof of Stake (dPoS)

Voting and politics

In this PoS type, 101 delegates are picked by the community by voting with the cryptocurrency in question, e.g. 1 LISK 1 vote. Some blockchains have a different number than 101, but that's the default.

Delegates cannot modify transactions, only delay their inclusion into a block, but this has safety nets built into the protocol so prolonged exclusion of a transaction becomes expensive. This is also the only “technical” power these delegate validators have, and should they abuse the power, the community can instantly see it and vote them out.

Delegates get rewards for validating transactions, just like in PoS, so cheating again makes no sense because they lose both their stake and their role in the system. The rewards they do get they can spend on lobbying, spreading the word about the currency, cash it out into earnings, etc.

Some DPoS systems work in such a way that they can define a burn rate: a percentage of tokens to be destroyed upon getting a reward. For example, a burn rate of 40% will destroy 40% of the tokens received by a delegate. Destroying tokens leads to deflation, which leads to increased value of the remaining tokens – both those tokens in the hands of the delegates, but also the tokens in people's wallets around the world. It's like everyone who uses the currency gets dividends, because their money becomes more valuable automatically. The remaining 60% of tokens can, of course, still be used for anything the delegate wants to use them for.

Advantages of dPoS:

  • a more even distribution of block rewards. People will elect only those delegates who give them the most rewards, so the causal users and not just big holders will be rewarded.

  • real-time voting security. Any malicious action can be immediately detected by the voters and the malicious delegate can be voted out of the system.

  • same as with PoS, it's very environment friendly and easy to execute on smaller and weaker devices. It's harder to stop because it doesn't depend on external factors controller by the state, like electricity.

Disadvantages of dPoS:

  • it's possible that the delegates get organized into cartels. This already happened with the LISK blockchain which, even though it hasn't been released as a full product yet, has a cartelized dPoS in which 51 of the 101 delegates have joined and formed a “Lisk Elite Group” in which they vote for each other and don't distribute their gains to any casual user who hasn't voted for all of them. This is identical to the modern political system.

  • because fewer people are in charge of keeping the network alive, it's easier to stop it or organize a 51% attack (see above point about cartels).

DPoS is used by currencies like Bitshares, Crypti, Lisk, RISE, ARK, etc.

Proof of Authority

Proof of Authority is when certain nodes are selected as block validators and they stake neither their money nor their electricity, but their reputation.

The way it works is as follows: when setting up the network / blockchain, certain nodes are selected as allowed to seal blocks. These nodes will usually provide some kind of proof of identity to prove that they're trustworthy. Plenty of such unrelated nodes need to be selected for the system to become viable. If a node is found to be in violation of protocol rules, that node is kicked off the network and cannot rejoin because it is banned based on identity. The stake is that it cannot play with others any more.

PoA is only useful in private or closed or specific-use-case blockchains. For example, testnets use it (like Ethereum's Kovan) and cartels might use it. Airlines, hotels, and banks are ideal candidates – they don't have to like each other or trust each other, but it's in their best interest to work together and be truthful with each other in order to force the prices to stay up so there's no direct competition. A PoA blockchain is the perfect solution – the identity violating the rules, i.e. United Airlines, is kicked off the consensus and can no longer participate, and this destruction of trust is much more harmful to them as a business than the effect their cheating in the network could have had. The involvement of identity in the staking mechanism directly encourages the validators to remain truthful.

Conclusion

There are other methods, too – like Proof of Importance in use by NEM (XEM). It's similar to PoS in that it values wallets with over 10000 XEM and calculates their importance score based on their holdings and their participation in the network – the more transactions are bound to an address, the more important it is as an active participant. But this too has obvious downsides.

None of the methods is perfect and each has its own set of problems keeping extremely smart people busy. When and how much progress we'll see remains to be seen but one thing is certain – the progress is coming, and it'll be the turning point at which cryptocurrency goes mainstream.

相关资料:

http://www.sohu.com/a/313298052_120112221

[转]工作量证明(PoW)权益证明(PoS)和委任权益证明(DPoS)区别的更多相关文章

  1. 任何国家都无法限制数字货币。为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用  c.分布式算法的实现 d.数据存储技术 e.拜占庭算法 f.权益证明POW,POS,DPOS 原因一: 点对点网络设计 其中点对点的P2P网络是bittorent ,由于是点对点的网络,没有中心化,因此在全球分布式的网

    任何国家都无法限制数字货币.为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用  c.分布式算法的实现 d.数据存储技 ...

  2. 区块链共识机制之工作量证明(POW)

    像比特币.以太坊.NXT.Bitshares等这些区块链系统,其本质上是一种加密经济组织,它建立在点对点网络上,是去中心化.无管辖的,由密码学.经济学和社会共识来共同维护.这些加密网络因各种原因有着多 ...

  3. 【区块链Go语言实现】Part 2:工作量证明机制POW

    0x00 介绍 在上一篇文章中,我们建立了一个非常简单的数据结构,它是区块链数据库的本质.并且,我们实现了以类似链条关系的方式向其中添加区块的功能:每个区块都会链接到前一区块.然而,我们实现的区块链有 ...

  4. [GO]使用go语言实现比特币的工作量证明

    之前的博文已经实现了区块连的基本的工作原理,但在比特币系统中有一个很重要的概念:工作量证明POW,在比特币系统中它的作用就是在十分钟左右的时间内只有一个有能够记帐并得到奖励 在之前的博文中,区块的哈希 ...

  5. [区块链] 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)

    近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结.尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理.本篇文章主要参考& ...

  6. 区块链共识机制:POW、POS、DPOS、PBFT、POOL

    共识机制作为区块链的关键技术之一,在业务吞吐量.交易速度.不可篡改性.准入门槛等等方面发挥重要的作用. 区块链是去中心化的,没有中心记账节点,所以需要全网对账本达成共识.目前有POW.POS.DPOS ...

  7. 正确看待POW与POS,总结与区分

    POW:Proof of Work,工作证明. 比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值.要得到合理的Block ...

  8. 区块链知识博文1: 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)

    注:这是本人读到的关于共识算法最全和最好的分享博文,系统的介绍了拜占庭容错技术以及共识算法的原理和常用共识算法,原文链接请见后. 目录 一.拜占庭容错技术(Byzantine Fault Tolera ...

  9. IPFS:Filecoin和复制证明

    这篇文章主要来讲一下Filecoin协议里面的复制证明(Proof of Replication),由于协议涉及到很多概念,可能看起来有点晕乎乎的,小编尽量把复杂问题简单化 ,力求给大家做大普及IPF ...

随机推荐

  1. 题解【AcWing176】装满的油箱

    题面 一开始拿到这个问题并不好做,于是考虑拆点. 考虑将一个点拆成 \(c+1\) 个,每个点表示(编号,剩余油量). 然后 \(\text{Dijkstra}\) 最短路即可. 每次跑 \(\tex ...

  2. 赋值SQL语句

    UPDATE TAB_DEV_MS SET DT_DETECTION_STARTTIME = TO_DATE ( '2017-01-01 00:00:00', 'YYYY-MM-DD HH24:MI: ...

  3. MyBatis 动态代理开发

    MyBatis 动态代理开发 §  Mapper.xml文件中的namespace与mapper接口的类路径相同. §  Mapper接口方法名和Mapper.xml中定义的每个statement的i ...

  4. shell 预定义变量

    echo "上一次后台pid is $!"echo "当前进程pid is $$"echo "last command return code is ...

  5. SpringCloud大白话之服务注册中心

    SpringCloud-Eureka白话说明 eureka.client.register-with-eureka 属性表示是否将自己注册到Eureka Server, 默认为true. 由于当前应用 ...

  6. 同步选中所有checkbox

    $("input[type=checkbox][tag=ckAll]").change(function () $(this).parent().parent().siblings ...

  7. C语言随笔1:内存分配方式与动静态变量

    首先几个基本概念(网上的各种说法都很乱:个人理解整理了一下 内存分类方法很多,动态.静态:  五区:  三段: 内存的区: 1.动态存储区分为 栈区.堆区   也统称为堆栈段1.1栈区(.stack) ...

  8. input输入框在ios手机上获取焦点后有一个灰色阴影

    遇到的场景: 有一个输入框 设置 outline:none 然后我又想给他设置获取焦点的颜色 然后 我给input 设置 border 为 1px t透明的 然后 获取焦点的时候 重新设置border ...

  9. 小议WebRTC拥塞控制算法:GCC介绍

    网络拥塞是基于IP协议的数据报交换网络中常见的一种网络传输问题,它对网络传输的质量有严重的影响,网络拥塞是导致网络吞吐降低,网络丢包等的主要原因之一,这些问题使得上层应用无法有效的利用网络带宽获得高质 ...

  10. php设计模式之工厂方法实例代码

    实现不修改原代码,扩展新功能 <?php header("Content-type:text/html;charset=utf-8"); /** * db接口 * 实现连接数 ...