什么是区块链协议
扫描二维码
随时随地手机看文章
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是一个区块链,它试图通过一个被许可的协议来解决企业采用区块链的问题,在这个协议中,只有受信任的实体才能加入网络并验证交易。
区块链协议的基本特性
交易及智能合约
区块链实质上是进行记录交易的账簿。关于区块链的交易是指根据区块链的规则(智能合约)管理资产的交易。
共识
区块链网络上的所有对等点都一致同意验证事务。这种共识性是由输入到区块链协议层的算法控制的。区块链为所有对等点提供了每个事务的相同副本,从而消除了信任,形成了一个不可信的分布式网络。
区块链协议的基本特征可以总结为:
· 去中心化 :区块链必须以一种可以访问和复制的方式存储网络上的任何节点。
· 不可变性: 区块链永久记录所有事务。记录一旦添加,就不能更改。
· 共识: 区块链上的事务只有在所有参与节点达成协商一致后才进行验证。