工作量证明共识机制
比特币的去中心网络采用的是工作量证明共识机制。
去中心网络之所以需要共识机制,是因为这是一个非基于信任(non-trust-based)的网络,任何人无须许可都可以接入这个网络。并且,这些节点分散在网络条件差异非常大的全球互联网之中。在完全无中心的情况下,这些节点要同步一致,共识机制即为这些节点达成一致的机制。
关于分布式网络的共识机制,有著名的“Fisher-Lynch-Paterson 不可能结果”,即在一定条件下达成共识是不可能的。而比特币的工作量证明共识机制在实践中被验证是有效的。这是因为它采用了一个实用主义的解决方案。
比特币的工作量证明的关键特点是,它巧妙地融合技术和经济因素,不只是纯粹通过技术本身来达到这一点,而是纳入了与自身作为一个数字现金系统相关的挖矿奖励。按《比特币:技术驱动金融》一书的分析,比特币的共识机制有两个与过去不同的特点,我们略做引申讨论。
为什么比特币网络中的节点们愿意打包交易、维护账本?它们并非出于“善意”,而是因为,它们能因这些挖矿行为获得比特币形式的经济激励。这是一个自行发行的电子现金系统的独特优势,如果所开发的是其他没有自行发行代币的 IT 系统,我们就无法设计矿工挖矿奖励这样的经济激励机制。
激励挖矿节点参与挖矿的,除了与新区块相关的奖励之外,挖矿节点还可以得到区块中包含的所有交易付出的交易费。但到目前为止这个数值还较小,大概为新区块奖励的 1%。
去中心网络之所以需要共识机制,是因为这是一个非基于信任(non-trust-based)的网络,任何人无须许可都可以接入这个网络。并且,这些节点分散在网络条件差异非常大的全球互联网之中。在完全无中心的情况下,这些节点要同步一致,共识机制即为这些节点达成一致的机制。
关于分布式网络的共识机制,有著名的“Fisher-Lynch-Paterson 不可能结果”,即在一定条件下达成共识是不可能的。而比特币的工作量证明共识机制在实践中被验证是有效的。这是因为它采用了一个实用主义的解决方案。
比特币的工作量证明的关键特点是,它巧妙地融合技术和经济因素,不只是纯粹通过技术本身来达到这一点,而是纳入了与自身作为一个数字现金系统相关的挖矿奖励。按《比特币:技术驱动金融》一书的分析,比特币的共识机制有两个与过去不同的特点,我们略做引申讨论。
一、它引入了奖励机制
在这样一个加密数字货币应用中引入了经济激励,维护网络的节点就可以得到有价值的比特币作为奖励。为什么比特币网络中的节点们愿意打包交易、维护账本?它们并非出于“善意”,而是因为,它们能因这些挖矿行为获得比特币形式的经济激励。这是一个自行发行的电子现金系统的独特优势,如果所开发的是其他没有自行发行代币的 IT 系统,我们就无法设计矿工挖矿奖励这样的经济激励机制。
激励挖矿节点参与挖矿的,除了与新区块相关的奖励之外,挖矿节点还可以得到区块中包含的所有交易付出的交易费。但到目前为止这个数值还较小,大概为新区块奖励的 1%。
二、它包含了随机性的概念
比特币系统形成的共识不是完全可靠的,但是在等待了 6 个区块约 1 个小时之后,出问题的概率呈指数级下降。在 6 个区块之后,一个交易发生双花情况的概率可被认为是零。从纯理论上看,完美的共识不可能达成,但从实用的角度看,这个共识是可信的。所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频