• 简述 Polkadot 和区块链互联网


    在过去的数年中,区块链技术在流行度方面取得了惊人的进步,带动了大规模特殊区块链的出现:以太坊提供了智能合约,莱特币交易速度是比特币的5倍,Zcash 在实现零知识证明,等等。在过去的一篇文章中,我提到过阻碍加密货币获得更多受众的原因。在这篇文章中,我会以简单的方式解释为何将这些区块链全部连接在一起可以解决它们的主要问题。这种互连叫做区块链互联网,其代表一种允许数据和交易以无需信任的方式从一个区块链流向另一个区块链的网络。

    1-加密仓——信贷-

    连接加密仓

    如今,每个区块链拥有自己的特性、社区、共识算法、以及维护网络安全的参与者(矿工、权益持有者……)。因为各个区块链在自己的生态系统中发展,它们不会互相获利。事实上,它们是竞争对手。以比特币(BTC)为例,从矿工决定换而挖比特币现金(BCH)开始,比特币就变得没那么安全了。就矿工数量而言,这个转变对比特币来说影响并不大,但是这样的变动却会损害社区较小的区块链的安全。

    如果不依赖于通常中心化的第三方平台,跨生态系统的交易无法顺利实现。例如,针对基于以太坊代币的投资无法直接通过 Zcash(ZEC)和其数据的高度保密性实现。生态系统间的数据转移又是一大亟待应对的挑战。好几家公司现在已经研发属于自己的私有联盟链,以利用该技术改进内部流程。试想一下商户 M 利用私有链技术来管理商品的物流。再试想一下快递公司 P 利用私有链来追踪其货车和包裹。让 P 方的数据为 M 所获得是有用的,这样的话,M 方可以追踪其商品,直至交付于其客户。现在从客户的角度来看,在一个公有链上追踪从 M 方购买且由 P 方运输的商品同样是非常有价值的。如今,该工作流并不完美也不透明,也并非是无需信任的。只有在区块链(公有链和私有链)互相连接的世界里,它才会发挥作用。

    一种允许独立区块链互相交换信息的协议——Polkadot

    Polkadot 希望将区块链联合在一起

    Polkadot 是由Web3基金会发起的一项计划,由 Parity technologies 负责开发,旨在却不限于使区块链互联。我将阐释该协议的目标以及其带来的解决方案。出于通俗易懂的目的,接下来还是采用简单的方式进行讲述,大家也可以通过阅读白皮书或其简版详细了解这个协议。

    Polkadot 使开发者和企业能够利用其协议建立区块链,即平行链(parachain)。只要这些平行链建立在Polkadot的基础之上,它们将共享同样的权威证明(PoA)共识。由于该类型共识嵌于 Polkadot 中,平行链开发者可以专注于各自区块链的特异性。所有平行链都和一种被称为中继链(relay chain)的通用区块链无缝连接,后者扮演连接所有平行链的角色。

    安全性由网络上的若干位参与者保证:每个平行链拥有等量的完全节点,这些节点具体负责一个平行链,被称为核对人(collator)。这些核对人收集来自用户的交易,并对其进行验证,然后将验证后的交易传输至负责中继链(Relay chain)的参与者。这些参与者被称作验证人(validator),他们在中继链上运行相当于轻节点的节点。验证人负责验证和广播发送自核对人的区块。为此,每接受一个区块,验证人必须抵押他们的 DOT(中继链代币)。为了确保验证人做出正确的行为并且不广播无效的交易,我们引入另一类参与者,称为钓鱼人(fisherman)。他们只要证明验证人的错误行为,就会获得高额报酬。除此之外,验证人需要获得提名人(nominator)的批准,提名人也需要抵押他们的 DOT 来提名验证人验证人不仅有权抵押,还能够投票通过或否决某条平行链,因此,掌控好这些验证人十分重要。

    简而言之,交易由一个平行链到另一个平行链的工作流如下:

    1. 用户在平行链 A上创建一个交易以向平行链 B发送信息。
    2. 该交易被发送至平行链 A的一个核对人。
    3. 核对人确保该交易有效,并将其包含在一个区块中。
    4. 核对人平行链 A的一个验证人 展示这个区块以及一状态转变证明。
    5. 验证人验证得出该接收到的区块只包含有效的交易并抵押出他们的 DOT 代币。
    6. 当有足够的提名人抵押他们的 DOT 并提名验证人时,向中继链广播其区块将得到授权。
    7. 该交易被执行,同时,来自A的数据被发送到B。

    由于上述流程皆需保持无需信任,一旦核对人传输错误信息,该行为的证明会生成,随后该核对人可能遭受惩罚或清除。同时,验证人处于钓鱼人的监视下;为了保住代币,提名人会倾向于提名行为好的验证人

    如今,人们可能会对利用 Polkadot 的协议重建任何现有区块链的想法持怀疑态度。很明显,在不久的将来,当前参与者及区块链很可能仍不会利用 Polkadot 重建自己的生态系统。这是一个鸡与鸡蛋的问题;然而,新的区块链参与者肯定会对这项技术感兴趣,因为使用 Polkadot 协议既省时又节约成本。Zcash、Melonport 及一些其他参与者已经对利用 Polkadot 新建或重建他们的区块链表现出了兴趣。如今,即使诸如比特币之类的区块链无法短时间内说服它们的矿工网络成为核对人验证人,在现有区块链和 Polkadot 的平行链之间搭建桥接器还是一个有可能实现的选择。

    由于以太坊是图灵完备的,它应该是最容易被搭桥的区块链之一。Polkadot 白皮书解释了如何能够通过所谓的内向合约(break-in contract)和外向合约(break-out contract)来将以太坊主网连接到 Polkadot 网络上。为了将数据从以太坊传输到 Polkadot 平行链上,部分验证人要么需要运行以太坊主网上的完全节点并监听具体合约的日志,要么需要具备一种从绑定的第三方完全节点接收交易证明的机制。在后一种情况下,验证人无需运行整个区块链,但是将依赖默克尔证明(Merkle proof)实现对交易的验证。为了保证交易的规范性(canonicality),验证人在广播中继链上的交易前需要等待最少数量的区块确认。

    为了将信息从Polkadot发送到以太坊,人们可以赋予某些验证人将他们的DOT抵押到转出交易中的权利。一份知晓授权验证者名单的内向合约,在收集到规定数量验证者签名后即可以创建交易。

    就比特币而言,让部分Polkadot验证人来运行多重签名钱包及在比特币区块链间转移交易,似乎不是没有可能。然而,一些限制可能降低这类转移的安全性,例如比特币钱包认可的签名数量(一般不超过16个)。不像有专用桥接的以太坊合约,比特币钱包不允许以编程方式编辑被授权验证人名单。这样的限制可以通过开发专用于达到此目的桥接钱包来规避。

    总之,多亏了特定桥接器的存在,大多数现有区块链可以连接至Polkadot网络。为普通区块链搭建桥接器可能不如以太坊简单直接,但也是有可能实现的。与Polkadot的平行链交换信息的同时,这些区块链可以保留它们现有的共识类型以及网络安全参与者。是否开发桥接器将取决于用例及需要。Parity technologies已经开源了一种可通过权威证明共识将区块链连接至其它任意Parity链的桥接器。现如今,Oracle网络已经开始采用该库的修改版本,阅读此文章可了解更多关于该用例的情况。

    优势

    Polkadot的最终目标是将区块链连接到一起。该协议具备几大关键优势,对于愿意基于其建立区块链的开发者来说尤其有趣。

    该协议最为明显的优势就是合并安全性。开发者无需通过创建一个矿工/验证人社区来保证区块链的安全:现有的验证人提名人集合会负责这个方面。

    第二大争论点在于Polkadot允许的可扩展性。我撰写这篇帖文时,比特币和以太坊是最受欢迎的区块链,都是基于工作量证明共识。两者的吞吐量都不高且同时遭受网络拥塞的问题。结果,其用户面临更高的交易手续费及更长的交易广播时间。每个Polkadot平行链应该服务于单个用例,这一点与分片概念相似。这些链的平行性(因此命名为平行链)和对权威证明共识的利用不仅有助于提升网络的吞吐量,相比基于工作量证明的普通区块链来说,在能源浪费问题上也表现出巨大优势。

    尽管初看上去相当困难,Polkadot协议被设计得尽可能简单和中立。只要能够给出用于交易的有效性证明,任何区块链技术都可以在此协议的基础上得以建立。由于独立于底层的平行链,该协议与私有联盟链完美兼容。实际上,某些信息可以加密,对核对人或验证人来说不可读取的同时却依然可以从他们的工作中获益。然而,企业可以在需要时对外共享专用信息。回想一下前文的例子,其中包裹的行踪信息应该只对2个特定方透露。得益于非对称加密,发货的电商商户和收货的消费者都可以读取该行踪信息。对于他们来说,只有这个信息是可读的,以另一个密钥加密的交易依然是不可读的。

    Polkadot不是唯一希望将区块链联合起来的协议。诸如 Cosmos、Blocknet、Aion 等协议同样积极致力于建立区块链互联网。下一篇文章将专门对这些协议进行对比说明。


    原文链接: https://medium.com/@thibauts/polkadot-the-internet-of-blockchains-explained-in-simple-words-9981ded05bc9
    作者: Thibaut S

  • 相关阅读:
    linux 安装ssh以及ssh用法与免密登录
    linux下安装Tomcat和java jdk
    光盘文件的挂载和yum源配置
    linux常用命令
    使用样式更改多个控件的外观
    silverlight 控件初始化和布局
    XML的读写
    dataset对XML的操作。writexml() and readxml。dataset.AcceptChanges()。dataset.DIspose()。释放资源
    C# 结构体 struct
    C#操作XML小结(转)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313191.html
Copyright © 2020-2023  润新知