义务协议:理解区块链协议

在系统存在的地方,就有协议。

区块链技术作为一种突破性的解决方案出现,人们并不知道他们需要它来解决他们并不知道自己有的问题。随之而来的是一系列至今尚未被解释清楚的术语和概念。其中一个术语就是区块链协议 – 这个术语经常与区块链网络交替使用,但它并不完全相同。

在这篇文章中,我们将分解区块链协议的概念,以及它与区块链本身的区别,以及一些关键的工作原理和应用。

什么是区块链网络?

区块链是所有加密货币的基础层。它是一个去中心化的网络,允许在全球范围内进行快速、无需许可、匿名和安全的点对点数字资产交易。该网络充当分布式数据库:在区块链上进行的所有交易都是公开的、匿名的,存储在区块中,并且可以被任何人查看。

区块链由分布式网络中的节点 – 在全球范围内运行以维持网络运行的计算机 – 提供支持。节点通常作为矿工(在像比特币这样的工作量证明网络中)或者质押者/代币持有者(在像以太坊或卡尔达诺这样的权益证明网络中)工作。作为对他们努力的回报,矿工和质押者会获得他们帮助验证的交易费的一部分。

在工作量证明网络中,矿工的任务是解密下一个区块的哈希 – 一种唯一的加密标识符。为此,他们使用原始的计算能力,并基本上竞争计算速度。在权益证明网络中,这不是通过计算完成的,而是通过持有大量网络原生货币来实现的,因此对下一个要批准的区块有发言权。

区块链本身由比特币首创,比特币是存在的第一种加密货币。由佐仓中本(Satoshi Nakamoto)这个未知实体构想出来,比特币区块链被一群去中心化的爱好者以相当象征性的方式带到了现实中。

比特币加密货币作为网络的燃料,用户支付一部分交易费用作为转账费用。

以比特币为基础构建的以太坊区块链扩展了区块链的工具库,引入了智能合约。智能合约是预先编写的算法,当满足特定条件时会自行执行。例如,一旦从特定地址接收到特定的NFT代币编号(XYZ),就将200个ETH发送到地址(X)。

智能合约允许在部署区块链应用程序方面具有无与伦比的灵活性,实质上是当今所有DeFi的基础。由以太坊网络首创的智能合约已被大多数当今知名的区块链协议采用和实现。

既然我们已经确定了什么是区块链网络,现在让我们来了解一下什么是区块链协议。

区块链协议本质上是规定区块链网络运行方式的规则。它并不是区块链网络本身,而是嵌入到所有工作中的一组规则。它定义了网络中不同元素何时、如何以及在何种程度上可以或不能执行某些操作。

Blockchain Protocols and Their Working

每个区块链的支柱是管理其每一步行动的一组协议。这些协议是支撑网络安全、连通性和共识程序的支柱,确保一切运转如时钟般精准。由于没有中央机构监督交易,这些协议在维护可信赖的账本副本和通过共识方法验证交易方面起着关键作用。一旦验证完成,它们就会被记录在不可更改的区块中。

我们周围的主要协议

在有系统的地方就有协议。协议是告诉某些东西如何运作的基础层代码。当然,协议并不局限于加密货币。它们对于互联网的工作方式至关重要,控制着从一台计算机到另一台计算机的数据传输。

我们现在认为理所当然的许多事情都是由网络协议实现和管理的。其中最突出的包括TCP/IP:传输控制协议/互联网协议,用于连接Web上的设备,以及HTTP/HTTPS:超文本传输协议(HTTP),用于在Web服务器和客户端之间传输数据。

区块链协议的不同之处在于什么?

然而,谈到区块链协议,就会出现不同之处。它比传统的数据传输更有趣、更复杂。区块链网络是一个分布式的决策框架,每个决策体都不仅仅是遵循算法。这意味着规则集必须得到所有组成网络的节点的一致同意、遵守和验证。

这里情况变得有点复杂。实际上,有三种类型的区块链协议:

  • 网络协议
  • 共识协议
  • 状态转换函数

每种类型都同等重要,所有这三种类型的协议都必须严格遵循,才能保证事情顺利进行。

网络协议

网络协议规定了网络节点之间可以(和不能)通信的规则。这包括节点如何发现和识别彼此,交换关于区块、交易和其他常规事务的信息。它包含了节点应该如何解读彼此消息的语法。

共识协议

共识协议概述了节点如何就哪些交易是有效的或无效的达成一致。您可能知道,每个节点在其硬盘上都保存了整个网络的完整副本。这个副本包含了网络上注册的每一个比特的数据。每个副本都会实时更新,随着新区块的生成和新交易的验证。

因此,当一个节点提交一个新的区块以添加到网络时,它不仅仅发送一个区块 – 它实际上提交了其迄今为止的整个区块链副本。每个网络上的节点都要扫描、评估和(无)效地验证由其他所有节点提交的网络的每一个副本。在像比特币这样的工作量证明网络中,只有最长的区块链才会被验证,这意味着大多数节点都同意其有效性。正如您可以想象的那样,这是一项艰巨的工作,需要大量的计算能力。

在股权证明网络中,验证者是由网络随机从持有大量网络原生代币的节点中选出的。有些人可能将这种方法等同于资本主义的垄断,但垄断网络的前景已经提前解决了。这包括限制每个节点被允许抵押的金额、被允许验证的交易数量、验证的频率等。无论如何,所有的限制和限制都在协议中明确规定。

状态转移函数

这就是技术性问题。

状态本质上是网络在任何给定时间内“认为”情况如何。当前的“位置”、节点之间的关系以及节点、交易和区块的移动 – 都构成了网络的状态。

随着时间的推移,网络的状态发生变化,其中的元素集合和平衡也发生变化。状态转移需要以特定的方式注册,网络协议也负责这一点。随着节点进入和离开网络、交换信息和改变区块链的结构,新的可能性和新的复杂性会出现。

状态包含了网络在任何给定时间内能够和不能够做的一切。如果满足条件 A 和 B,则网络将无法再执行 X 和 Y。如果状态由条件 C 和 D 定义,则唯一可能的操作是 W 和 Z。这种逻辑的转变对网络的运作至关重要。

A blockchain protocol need to be followed by all the nodes of the network

每个上面描述的部分都是一个名为“已验证状态”的三重谜题的一部分。随着关于交易的信息进入网络协议,它在那里得到验证或丢弃。如果经过验证,它将进入共识协议,共识协议充当门卫。如果数据与其他节点的数据一致,则允许数据进入网络状态。

如果被接受,数据将被传递到状态转换函数中,然后成为网络的新验证状态。验证状态是定义块添加到链中后实际“发生”的实际边界。这可能包括改变某个钱包的余额或启动智能合约。

节点能否违背协议?

节点是否可以违背协议,如果是的话,会发生什么?如前所述,验证区块需要所有节点在线检查所有其他节点提交的所有数据。为此,必须严格遵守区块链协议。如果一个节点不服从 – 那么它就无法与其他节点合作,因此 – 将无法获得回报。这意味着区块链中没有异议的余地,使其状态本质上成为极权主义的。

然而,有时区块链会被强制或故意分成两部分,这被称为分叉。分叉恰恰是因为一些节点提交了与分布式分类帐的其他部分相冲突的数据。

A blockchain only keeps blocks agreed upon by all nodes of the network

在正常工作条件下,网络不会费心去弄清数据出错的原因 – 它只会切断节点与网络的联系,让其无处可去。因此,潜在的恶意节点被禁止影响网络。我们可能会发现,大多数“错误”的区块链副本仍然被保留在某个地方。

然而,分叉也可能是一件好事。区块链网络不能简单地“更新”其当前状态。每个新的验证状态都是网络的全新副本。

A blockchain network can split into two, sometimes creating new networks along the way

您可能已经听说过,每次重大的区块链更新都被称为分叉。因此,当需要更新区块链时,开发者会故意将其分叉为一个新副本。预更新版本被保留作为传统版本,而新分叉版本则成为真正的版本。

理解比特币协议

让我们深入了解区块链协议所管辖的事物。以比特币网络为例。

比特币不像黄金块一样传递。每当您发送和接收 BTC 时,实际上并没有“获得”或“给出”比特币。实际上,每个新交易都会注册一个数字签名。该签名包含一个哈希 – 上一笔交易的唯一加密 ID – 和接收方的公钥。因此,每个交易都由加密证明保护,这种证明无法被更改或伪造。

The structure of transaction in the Bitcoin blockchain

在线买家和卖家的主要担忧是,在某些时候,他们可能会受到利用,成为金融诈骗的受害者。这可能以网络钓鱼或彻头彻尾的虚假交易的形式出现。还有双重支付问题,以及对系统的篡改,以谋求不公平的利润。由于区块链不受中央实体的管理,所有交易安全问题完全落在协议的肩上。

比特币开发人员解决了这些问题,并引入了数字签名和加密证明等机制来缓解这些问题。因此,比特币协议只允许验证具有与其他节点中存在的加密证明相匹配的区块。

时间戳服务器和工作证明系统

双重支付是区块链中的一个重大问题。这是指用户试图两次使用相同的数字货币进行支付的情况。由于货币的数字化特性,这种情况可能会导致货币被复制或复制而不被检测到。

假设一个用户拥有 1 个比特币,并试图通过将其发送到两个不同的地址来支付两次。在传统支付系统中,系统会检测到双重支付尝试并拒绝该交易。然而,在去中心化的区块链网络中,这种情况是通过工作证明系统和共识算法来防止的,这确保每个交易都是有效的且未被使用过的。

A timestamp is attached to each block

为了确保这一点,比特币协议实现了一个时间戳服务器,为每个交易的哈希附加了一个唯一的时间标签。工作证明系统记录每个时间戳,并拒绝任何与系统中已注册的哈希相匹配的交易。

在比特币网络中铸造的每个新块都附带了一个工作证明。该证明也称为Nonce或一次性生成的数字。它作为矿工已经花费一些计算能力来验证该块且成功的加密证明。

然而,有些坏块包含与其他节点挖掘的数据相矛盾的数据。如果检测到一个坏块,它会被拉出并进一步评估是否存在任何不一致之处。如果被确认有效,该块将像往常一样被添加到网络中。否则 – 它将被丢弃。

迄今为止的协议巨头

也就是说,每个主要网络都遵循其自己的协议,专门为其共识机制设计。比特币网络运行在比特币协议上,以太坊运行在以太坊协议上,依此类推。

以下是迄今为止最重要的区块链协议:

Name
Polkadot (DOT)
Avalanche (AVAX)
Polygon (MATIC)
Solana (SOL)
Binance Smart Chain (BSC)

Polkadot (DOT)

Polkadot是一种开创性的区块链协议,彻底改变了不同区块链之间的互操作性,借助智能合约实现了无缝通信和数据共享。其独特的提名权益证明(Nominated Proof of Stake,NPoS)共识机制提供了一个高度安全且可扩展的平台,平均区块时间仅为6秒,交易费用低至0.10-0.20美元。

知名项目:Kusama、ChainX、Moonbeam、Chainlink、Reef Finance

Avalanche (AVAX)

Avalanche是一个开源平台,已成为全球去中心化金融(DeFi)爱好者和区块链开发者的希望之光。其先进的Avalanche共识机制允许高吞吐量和快速的最终性,使其成为市场上最可扩展和最快速的区块链之一。Avalanche平均区块时间为2秒,交易费用低于1美元。

知名项目:Pangolin、Trader Joe、Benqi、Lydian Lion、SushiSwap

Polygon (MATIC)

Polygon是一种下一代Layer-2扩展解决方案,正在改变以太坊的可扩展性和交易费用问题。其权益证明(PoS)共识机制快速验证金融交易,平均区块时间为2-3秒,远远快于以太坊。平均交易费用为0.002美元,对于希望建立成本效益高的去中心化应用程序的开发者来说,Polygon是一个理想选择。

知名项目:Aave、Quickswap、Curve Finance、Polymarket、Zapper

Solana (SOL)

Solana是一种高性能的区块链平台,由于其历史证明(PoH)共识机制而在区块链行业引起轰动。Solana具有高吞吐量和快速的终态性,平均区块时间为0.4-0.8秒,平均交易费用为0.00025美元,使其成为一种极快速和价格实惠的区块链平台。

知名项目:Raydium、Serum、Mango Markets、Audius、Bonfida

Binance Smart Chain (BSC)

Binance Smart Chain(BSC)是一种区块链平台,通过与以太坊虚拟机(EVM)的兼容性和运行去中心化应用程序的能力改变了游戏规则。其兼容性还使其成为开发人员将其应用程序从以太坊迁移到更高效和成本效益更好的平台的吸引选项。

知名项目:PancakeSwap、Venus、Spartan Protocol、BakerySwap、Autofarm

寻找区块链开发解决方案的地方

在ICODA,我们拥有多年的区块链开发服务和开发可行的区块链产品的专业知识。如果您有区块链软件开发项目,我们很乐意帮助您。无论您需要代币或去中心化应用(DApp)、去中心化交易所(DEX)或非同质化代币(NFT)市场的推出,还是只是想弄清楚区块链开发解决方案如何使您的业务受益 – 您来对地方了。立即联系我们,获取简要计划并开始工作。