大白话版 “波卡是什么”
什么是 Polkadot,它与现有的区块链有何不同?它的目的是什么?与哪些链竞争?这篇文章会以高度概括的方式对这一切进行解释 —— 除了基本熟悉术语区块链之外,不需要任何技术专业知识。
Polkadot 如何运作
Polkadot 有一条基于 Substrate 的区块链主链,称为 Relay Chain。其他区块链可以连接到该主链,我们称这些其他链为平行链。
连接链会产生自己认为合适的区块 —— 比特币区块链有自己的出块规则,以太坊有自己的规则,而智能合约区块链 Edgeware 则有自己的出块方法。
它们(平行链)从中继链中获得的是终结性(Finality) —— 让一个区块终结的能力,这样它和它内部的交易都不能还原。
如果发生分叉,则可以还原区块。分叉是运行区块链的不同软件程序之间的分歧,其中一组程序(也称为节点)将朝一个方向出块,而另一组将自寻其道。
分叉其实时有发生,并且通常会自行消失,但是在极少数情况下,寿命长的分叉可以接管先前的分叉,直到它被认为是主链为止。然后,该分叉将成为主链,并且将有效地还原在被覆盖的分叉上执行的交易。终结性可以防止这种情况。
Polkadot 本身并不是想要立即与任何流行的区块链竞争的区块链。取而代之的是,Polkadot 希望在区块链之间架起桥梁,以便它们进行通信 —— 目标是统一零散的区块链生态系统。
跨链可组合性
比特币是一个区块链。
以太坊
是一个区块链。两者本质上是不同的,锁定在比特币上的价值无法转移到以太坊 —— 你无法在无需信任的情况下将比特币发送给以太坊(在没有中心化中介机构代你持有你的比特币时)。
我为什么要将比特币移到以太坊?以太坊拥有一个充满活力的 DeFi(去中心化金融)生态系统,你可以在其中发放贷款或进行贷款,通过投资合成资产来让你的钱为你打工,甚至押注以太币的价格而不会失去对比特币的投资。在比特币上,这是不可能的 —— 钱就干坐在那里。
Polkadot 是一个用于跨区块链通信的系统。
Polkadot 能让完全不同的区块链以去中心化的方式相互通信。Polkadot 允许你编写跨链应用程序。它支持将消息从一条链发送到另一条链,而且如果我们把消息看作是任何内容,从金融交易、聊天消息甚至某些 Web 内容,那我们就能将其应用于上面提到的从比特币到以太坊问题。
共享安全
中继链是一个区块链,此区块链由我们称为验证人的实体保护(或者叫 “挖矿”,因为暂时没有大家更熟悉的术语了)。验证人运行的 Polkadot 节点有时会被授予生成新区块的权利。他们如果把这一点做好,就会受到奖励。
任何人都可以成为验证人,只要其背后有足够的抵押。抵押以 DOT 代币表示,DOT 代币是 Polkadot 的中继链的本地货币。按抵押额排序的前几百个验证人将被选为活跃验证人。
验证人如果履行职责不佳,可能会受到惩罚 —— 例如在本应工作的时候离线。这些行为将夺走他们的部分抵押,真金白银地没收他们的钱。
活跃验证人的子集被随机分配给每个平行链,并且每隔几个小时就会以不可预测的方式轮换分配。
每六秒钟,平行链就会向中继链发送一个候选区块。此时,该候选区块将由该平行链的专用验证人进行检查。如果该候选区块检查通过,它将被包含在主中继链区块中,而平行链可以产生下一个区块。平行链最后提交的区块已经终结,可以继续增长而无后顾之忧。
每条平行链都依赖中继链验证人来获得最终的认可印章。平行链越多,验证人就越多,整个系统在经济上就越安全 —— 请记住,你需要抵押才能成为验证人,并且当你履行验证人职责时,抵押就会被锁定(绑定)在系统中。
这样,所有平行链共享由中继链提供的安全性,并且每个链与整个系统一样具有抗攻击性。
免分叉升级和治理
传统上,升级区块链的功能总是会造成分叉:一些节点会更新,另一些节点不会更新,而那些没有更新的节点就会停留在另一条分叉上,直到他们进行更新并和其他节点保持一致。当你的链的节点遍布全球,而且你联系不上这些匿名节点时,处理这种分叉是很痛苦的。
Polkadot 通过链上 runtime 和链上治理来解决此问题。链上 runtime 意味着包含用于生成新块的规则的代码存储在链本身上。因此,运行你的区块链的节点和程序只需要阅读这些代码,这些代码就是最新的。那么我们如何更新此代码?
链上治理可以让任何 DOT 持有人对提出公投议案,或对公投进行投票。公投是对区块链逻辑或数据的更改建议。通过治理,社区可以对链上逻辑的变更提出建议并对其进行投票,该逻辑在通过时会自动应用。无需更换软件,无需人工干预。
你可以在 Wiki 上找到有关 链上治理 的非常详细的解释。