区块链技术分几部分,从交易签名,矿工验证,共识机制,分布式记账,智能合约,一直到通证经济。其中通证经济和共识机制是基础。
通证经济
很多人把没有通证的分布式数据库也叫做区块链,但是没有通证的分布式数据库效率是很低的,价值不大。这是因为:
1.通证提供了简洁方便的激励机制;
2.通证的交易提供了二级市场的流动性,让价值实现变得非常简单;
3.通证的价格又能够不断地汇聚闲散在社会各处的信息流。
第三点由哈耶克在1945年提出,但是在区块链经济中却被大多数人忽略,此处暂不赘述。
共识机制
共识机制也是非常重要的组成。好的共识机制要保证记录和交易验证不被少数人所控制,同时又要能达到效率高、速度快的效果。
最早的共识机制是比特币所运用的工作量证明(Proof-of-work,POW)。工作量证明这个概念由Cynthia Dwork 和Moni Naor 1993年在学术论文中首次提出,2009年被中本聪应用到比特币的共识机制中。
关于POW
POW的流程是这样的:每个矿工节点收到许多交易后,首先他需要验证这些交易是否真实;验证完之后,把这些交易以默克尔树的形式放进区块中,然后加一随机数据,计算出一个准随机的哈希数;如果这个值低于某个预定的哈希难度,则这个区块所对应的奖金就属于矿工;就这样不停地计算,直到哈希难度条件满足为止。
这样的目的使得最终完成区块上链存储功能的是第一个满足哈希难度条件的人。所以没有人知道下一个挖矿的人是谁,这样就避免DDOS攻击。同时只要算力不会过度集中,也可以避免51%攻击。事实证明,这样的共识机制安全可靠。BTC、BTH、 ETH和 LTC目前都是采用POW算法。
但是,如果POW是完美的,那么区块链的发展早就该高歌猛进了,然而现实并非如此。
尽管POW满足了安全性,但存在速度非常慢这个bug。比特币只能做到每秒七次交易。另外由于ASIC芯片的发明,算力被集中在了少数人和机构手里,比如比特大陆就控制了约40%的算力,所以现在比特币的持有量是非常中心化的。
另外一个问题是:POW能源消耗巨大。挖比特币所消耗的能量,已经接近丹麦整个国家的能耗了。
关于POS
为了解决这些问题,2011年Sunny King提出了权益证明(Proof of Stake, POS)的共识算法,并用于Peercoin (King还考虑了币龄)。POS让矿工把自己所拥有的数字货币作为抵押,如果矿工造假,则所持数币就会被没收。但是挖矿难度和所持的数币数目成反比,这样数币越多,挖矿的概率就越大。这样异步的难度,就可以提高速度,同时又有一定的不易预测性。
但是POS速度提高了,安全性又降低了。由于有不小的概率可以预测下一个容易挖到区块的是哪个账户,黑客会对该类账户发起DDOS攻击。同时,当有分叉时,矿工会同时挖两个链,这样就会造成Nothing At Stake的分叉行为。
NXT用的是POS, ETH今年六月也要换成POS。
关于DPOS
BM (Daniel Larimer)在2013年提出了DPOS,也就是类似于代理人权益证明共识算法。DPOS全面放弃了去中心化,用代理人来验证交易,而代理人由全链根据一币一票来投票产生。DPOS的好处是速度可以做到很快,目前据说有300tps。同时也省了很多挖矿的能耗。BM根据DPOS设计的BTS和STEEMIT,现在火爆的EOS也是基于这个DPOS设计的。
但是DPOS也有很多问题。虽然速度比较快,但DPOS放弃了去中心化的设计。BTS11个超级节点早期运营基本是BM说了算,现在EOS这21个节点也很容易形成小圈子腐败。
区块链是需要有应用场景的。从数据处理的角度来看,中心化的数据处理是最高效的。而区块链在去中心化的前提下仍保有优势,就在于中心化组织机构有做得不好的地方。中心化造成不对称信息大,或者因此产生很多道德风险。
但中心化方式也有应用很有效的领域,这些领域并不需要区块链技术。所以POW,DPOS在这些地方都没有用武之地。而在去中心化要求比较高的地方,区块链的优势就体现出来了,这种情况应用POW或POS就比舍弃了去中心化的DPOS好。
所以留给DPOS发挥的余地在哪儿呢?
DPOS需要在中心化做得不好,去中心化也做得不好的场景中找到合适的应用,然而这样的刀锋情形并不多;
此外,21个节点也很容易被黑客攻击。21个节点的DPOS用来做一个侧链,子链还行,用来做公链就太不安全了;
最后,BM这个人虎头蛇尾,控制欲很强,在BTS最后被大家赶走了。
通证经济
很多人把没有通证的分布式数据库也叫做区块链,但是没有通证的分布式数据库效率是很低的,价值不大。这是因为:
1.通证提供了简洁方便的激励机制;
2.通证的交易提供了二级市场的流动性,让价值实现变得非常简单;
3.通证的价格又能够不断地汇聚闲散在社会各处的信息流。
第三点由哈耶克在1945年提出,但是在区块链经济中却被大多数人忽略,此处暂不赘述。
共识机制
共识机制也是非常重要的组成。好的共识机制要保证记录和交易验证不被少数人所控制,同时又要能达到效率高、速度快的效果。
最早的共识机制是比特币所运用的工作量证明(Proof-of-work,POW)。工作量证明这个概念由Cynthia Dwork 和Moni Naor 1993年在学术论文中首次提出,2009年被中本聪应用到比特币的共识机制中。
关于POW
POW的流程是这样的:每个矿工节点收到许多交易后,首先他需要验证这些交易是否真实;验证完之后,把这些交易以默克尔树的形式放进区块中,然后加一随机数据,计算出一个准随机的哈希数;如果这个值低于某个预定的哈希难度,则这个区块所对应的奖金就属于矿工;就这样不停地计算,直到哈希难度条件满足为止。
这样的目的使得最终完成区块上链存储功能的是第一个满足哈希难度条件的人。所以没有人知道下一个挖矿的人是谁,这样就避免DDOS攻击。同时只要算力不会过度集中,也可以避免51%攻击。事实证明,这样的共识机制安全可靠。BTC、BTH、 ETH和 LTC目前都是采用POW算法。
但是,如果POW是完美的,那么区块链的发展早就该高歌猛进了,然而现实并非如此。
尽管POW满足了安全性,但存在速度非常慢这个bug。比特币只能做到每秒七次交易。另外由于ASIC芯片的发明,算力被集中在了少数人和机构手里,比如比特大陆就控制了约40%的算力,所以现在比特币的持有量是非常中心化的。
另外一个问题是:POW能源消耗巨大。挖比特币所消耗的能量,已经接近丹麦整个国家的能耗了。
关于POS
为了解决这些问题,2011年Sunny King提出了权益证明(Proof of Stake, POS)的共识算法,并用于Peercoin (King还考虑了币龄)。POS让矿工把自己所拥有的数字货币作为抵押,如果矿工造假,则所持数币就会被没收。但是挖矿难度和所持的数币数目成反比,这样数币越多,挖矿的概率就越大。这样异步的难度,就可以提高速度,同时又有一定的不易预测性。
但是POS速度提高了,安全性又降低了。由于有不小的概率可以预测下一个容易挖到区块的是哪个账户,黑客会对该类账户发起DDOS攻击。同时,当有分叉时,矿工会同时挖两个链,这样就会造成Nothing At Stake的分叉行为。
NXT用的是POS, ETH今年六月也要换成POS。
关于DPOS
BM (Daniel Larimer)在2013年提出了DPOS,也就是类似于代理人权益证明共识算法。DPOS全面放弃了去中心化,用代理人来验证交易,而代理人由全链根据一币一票来投票产生。DPOS的好处是速度可以做到很快,目前据说有300tps。同时也省了很多挖矿的能耗。BM根据DPOS设计的BTS和STEEMIT,现在火爆的EOS也是基于这个DPOS设计的。
但是DPOS也有很多问题。虽然速度比较快,但DPOS放弃了去中心化的设计。BTS11个超级节点早期运营基本是BM说了算,现在EOS这21个节点也很容易形成小圈子腐败。
区块链是需要有应用场景的。从数据处理的角度来看,中心化的数据处理是最高效的。而区块链在去中心化的前提下仍保有优势,就在于中心化组织机构有做得不好的地方。中心化造成不对称信息大,或者因此产生很多道德风险。
但中心化方式也有应用很有效的领域,这些领域并不需要区块链技术。所以POW,DPOS在这些地方都没有用武之地。而在去中心化要求比较高的地方,区块链的优势就体现出来了,这种情况应用POW或POS就比舍弃了去中心化的DPOS好。
所以留给DPOS发挥的余地在哪儿呢?
DPOS需要在中心化做得不好,去中心化也做得不好的场景中找到合适的应用,然而这样的刀锋情形并不多;
此外,21个节点也很容易被黑客攻击。21个节点的DPOS用来做一个侧链,子链还行,用来做公链就太不安全了;
最后,BM这个人虎头蛇尾,控制欲很强,在BTS最后被大家赶走了。