您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

区块链协议是什么及其如何工作的?

发表于:2018-12-29 作者:区块网 来源:快资讯
  • 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是一个区块链,它试图通过一个被许可的协议来解决企业采用区块链的问题,在这个协议中,只有受信任的实体才能加入网络并验证交易。

    区块链协议的基本特性

    交易及智能合约

    区块链实质上是进行记录交易的账簿。关于区块链的交易是指根据区块链的规则(智能合约)管理资产的交易。

    共识

    区块链网络上的所有对等点都一致同意验证事务。这种共识性是由输入到区块链协议层的算法控制的。区块链为所有对等点提供了每个事务的相同副本,从而消除了信任,形成了一个不可信的分布式网络。

    区块链协议的基本特征可以总结为:

    • 去中心化 :区块链必须以一种可以访问和复制的方式存储网络上的任何节点。
    • 不可变性: 区块链永久记录所有事务。记录一旦添加,就不能更改。
    • 共识: 区块链上的事务只有在所有参与节点达成协商一致后才进行验证。