比特币莱特币等货币型区块链技术应用开发(公有链)的共识机制是POW(proof of work)工作量证明,也是我们说的挖矿。工作量证明是矿工在处理交易数据(对数据也是进行哈希)的同时不断的进行哈希计算,求得一位前23位为0的哈希值,这个值成为nonce黄金数。
当全网有一位矿工哈希出nonce时,他就会把自己打包的区块公布出去,其他节点收到区块验证区块后就会一致性认为这个区块接到了区块链上,就继续进行下一个区块的打包和哈希计算。在这个过程中,中本聪大神是通过算力的比拼牺牲了一部分最终一致性(因为会有分叉的产生)并且需要等待多个确认。
但是这种简单暴力的方法却保证了整个区块链系统的合法性,而且把系统的健壮性提升到极致,就算全网只剩下一个节点运行,这个区块链技术应用开发系统还是会继续运行下去。最后POW也充分提高了系统的安全性,依靠51%攻击理论去破坏系统是只有政府或者疯子才会采取的方法。
现在仍然是最初级的共识,从PBFT拜占庭容错机制、POW已经进化产生各种各样的共识,比如POS耐力机制、DPOS投票机制、Paft Raft算法机制等等。
区块链技术应用开发中智能合约和共识机制,在某种层面来说是有交叉和重叠的。智能合约,从本质上讲,工作原理类似于其它计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。