Genesis Hack中的协议跟踪邀请开发人员为现有 区块链 协议的性能和可伸缩性问题构建解决方案,或者从头构建全新的协议。在本文中,我们将试图通过两个示例区块链协议来理解什么是区块链协议,从而推断其基本特征。
什么是协议?
我们都知道,协议在计算机科学中是一组规则或程序,用来控制两个或更多电子设备之间的数据传输。协议有助于确定为了使计算机交换信息,必须对信息进行结构化,以及各方将如何发送和接收信息。
常见的互联网协议有TCP/IP、HTTPS和DNS。
区块链中的协议
区块链是由多个设备(节点)组成的网络,这些设备(节点)都是同等重要的,它们通过互联网相互连接。从本质上说,区块链是一个分类帐,它以分布式p2p方式存储交易并在被所有参与节点验证后才进行记录。
这种分布式账本工作在预先定义的规则上,这些规则是网络中所有参与节点(对等点)都同意的。这些规则包括:
- 如何管理和验证交易,
- 定义所有参与节点相互交互机制的算法,
- (在某些情况下),应用程序编程接口。
这些控制区块链网络的规则称为协议。它本质上是网络所遵循的通用通信规则。
区块链协议的必备术语
分布式分类账: 分布式分类账是一种数据库类型,分布在多个对等点上,记录一个接一个地存储在一个连续的分类账中。
智能合约:一组编码脚本形式的逻辑规则,可以嵌入到区块链中来管理事务。
共识算法:定义在网络上达成协商一致以验证事务的算法。
Coin和Token:每个区块链协议都需要一个数字资产来保持网络的运行。这些也被用来激励参与网络的同伴。这需要Coin和Token等数字资产的出现。在区块链领域,这两个术语经常互换使用,但两者之间有微妙的区别。
实际上,Coin和Token是用于为区块链网络提供动力的数字资产。它们的功能或多或少也是相同的。只有在协议中定义它们的级别才能区分它们。
Coin由协议本身在最低级别定义。,Coin是区块链网络的最新数字资产。例如,比特币协议的原生货币是比特币。
Token是在更高层次上由智能合约而不是协议定义的数字资产。例如,以太坊协议有一个本地的以太币。以太坊允许开发人员在其协议上构建dApp。一个dApp的节点通信规则可能与另一个由智能和人与人定义的dApp不同。因此,Token是dApp的原生数字资产。
51%攻击: 某人控制超过50%的网络节点修改交易历史和沉溺于双倍消费的能力。
示例:区块链网络上的节点应该向整个网络广播它们形成的块。如果一个节点或一组节点开始控制网络的50%以上,它就可以单独形成块,而不向网络广播这些块。网络仍然遵循区块链的公共版本,节点可以通过先在公共区块链上花钱,然后在私有区块链上花钱,从而实现重复支出。
之后,由于他们控制了51%的网络,他们可以广播他们的私有的区块链,并形成更长的链。由于最长链规则是最合法的链,其他参与者会认为这是正确的链。以前没有包含在这个链中的事务(因为它是私有的)将被逆转,让恶意节点访问其他人的钱。
区块链协议的例子
比特币网络将世界引入了区块链。根据设想的不同目标和用例,设计了不同的协议。我们将研究三种主要区块链协议的关键特性。
比特币协议
设计目标:允许通过分散的网络加密支付交易。
- 任何人都可以加入的公开的、未经许可的区块链。
- 底层技术组件:加密哈希函数、数字签名、p2p网络、公私密钥加密和工作证明(PoW)共识算法。
- 每个节点都可以访问区块链上的完整信息。因此,具有去中心化特性。
- 用户可以进行不可逆的事务,而不需要信任第三方。
- 本机加密货币--比特币
以太坊协议
设计目标:为开发者提供一个区块链平台,让他们可以启动自己的区块链项目和分散的应用程序。
- 公共区块链
- 底层技术:密码学哈希函数、数字签名、p2p网络、公私密钥加密、以及工作证明共识算法。
- 每个节点都可以访问区块链上的完整信息。因此,具有去中心化的特性。
- 用户可以执行不可逆的事务,而不需要信任第三方。
- 本机加密货币--以太币。
以太坊区块链提供了一个更大,更广阔的视野,以达到区块链可以服务的目标。以太坊平台启动了VeChain和OmiseGo等多个加密货币项目。它也成为了dApp开发的平台,并开发了Cryptokitties、Brave、PundiX等dApp。
在这个创新之后,多个协议与一个或另一个创新一起启动。例如,区块链的所有节点验证特性使其运行缓慢,从而导致了可伸缩性问题。Zilliqa、EOS和Cardano是尝试为可伸缩性问题构建解决方案的区块链的一些例子。
区块链协议的另一个创新是不同的共识性算法模型。利用比特币,引入了PoW算法。但是后来的发展产生了一些算法,如权益证明(PoS)、委托关系证明(dPoS)等。
Hyperledger是一个区块链,它试图通过一个被许可的协议来解决企业采用区块链的问题,在这个协议中,只有受信任的实体才能加入网络并验证交易。
区块链协议的基本特性
交易及智能合约
区块链实质上是进行记录交易的账簿。关于区块链的交易是指根据区块链的规则(智能合约)管理资产的交易。
共识
区块链网络上的所有对等点都一致同意验证事务。这种共识性是由输入到区块链协议层的算法控制的。区块链为所有对等点提供了每个事务的相同副本,从而消除了信任,形成了一个不可信的分布式网络。
区块链协议的基本特征可以总结为:
- 去中心化 :区块链必须以一种可以访问和复制的方式存储网络上的任何节点。
- 不可变性: 区块链永久记录所有事务。记录一旦添加,就不能更改。
- 共识: 区块链上的事务只有在所有参与节点达成协商一致后才进行验证。