【科普】亦来云区块链架构

作者:Kevin

译者:Mike Hou

基本概述

通过与比特币联合挖矿,亦来云的安全性和可靠性通过比特币PoW工作量证明的算力保证了,这个挖矿策略也节约了资源并避免了重复的能源消耗。

因为亦来云采用主链+侧链的结构设计,所以有效避免了主链过载,并且带来了更方便的路由和灵活扩展性,也增加了亦来云成为未来互联网应用的基础设施的可能性。

主链是一个信任区和一个可靠的互联网数据库。而智能合约只是节约了可靠数据库的处理。只有很有价值的需要公证的数据才会被记录在主链上;只有需要算力保证可靠性的数据处理才会使用到智能合约。

联合挖矿

亦来云主链采用与比特币联合挖矿的模式,达成共识的处理在两个链上是同步的。这样的话,比特币就相当于亦来云的父链,亦来云就是比特币的辅助连。矿池可以部署联合挖矿的代码,然后矿工们会同时提交工作量证明给两个链。利用联合挖矿就不会增加能源的消耗,能耗量会等于任何一个链单独挖矿的能耗。通过这个机制,亦来云主链可以有非常强的算力保证,这样就有能力给区块链创新提供全球性的扩张。这也充分利用了现有比特币的算力资源,同时还很环保。

亦来云实行与比特币联合挖矿。联合挖矿的策略可以节约资源并避免重复消耗。矿工提交工作量证明给比特币和亦来云,然后就可以享受竞争挖矿的收益,而且还不用增加额外的算力。亦来云的共识机制是AuxPoW+DPoS,挖矿奖励配比是:70%给AuxPoW和DPoS(包含矿工和庄家),30%给生态系统应用奖励和基金会日常运营和发展。基于亦来云构建的Apps的代币可以通过侧链发行。这些代币可以支持跨越主链和侧链之间的双向资产转移。

联合挖矿的额外好处包含:


跨多链之间的信任传递。亦来云主链与比特币主链联合挖矿。这个联合挖矿的特性可以扩展到亦来云侧链,只要侧链也采用PoW的共识机制。因此,联合挖矿的链可以不断递归下去,这就构建了一个链之间的信任层级结构。

孤立结点。一个辅助链或者侧链依赖于联合挖矿但并不需要多个结点的共识。在极端情况下一个链只需要一个结点,而不需要去降低主链或其他链上总账本的可靠性,其他公链的共识算法都没有这个优势。

从亦来云生态里总体看主链+侧链结构

这个设计的亮点之一是它可以充分利用主链加侧链的组合去优化区块链技术的计算能力。主链只执行简单的交易和支付转账,而侧链负责处理智能合约来支持各种服务和应用。通过这样,架构扩展性和安全性就可以实现了。

跟移动设备上的操作系统类似,用户需要一个可信的地方来存储重要数据。亦来云主链就是整个网络操作系统的可信区域。亦来云区块链采用主链加侧链的方案来促成智能经济和一个健康的去中心化的应用环境。这意味着每个应用可以创建自己的侧链,亦来云区块链提供了内置、完整的、易用的侧链支持,它们也可以被个性化定制,允许客户端根据具体的场景来选择任何共识机制。

任何基于区块链技术构建的系统的算力都比一台传统的电脑要小,所以这不能够满足各种各样互联网应用的需求(比如视频类游戏或播放一个高清电影),这个是区块链依然不能在互联网上大规模应用的根本原因。亦来云团队认识到了这个事实,因此相信区块链的开发不能单纯依赖主链的算力,亦来云旨在通过给侧链提供支持来扩展区块链系统,这会有助于满足运行高IOPS(每秒吞吐量)应用的需求。亦来云主链会负责虽小但是很重要的交易和转账ELA的职责,这样来给区块链系统提供稳定性,亦来云想避免不必要的智能合约导致主链的膨胀过载。相反,只有核心的基础设施更新会在主链上进行。其他所有智能合约都会在侧链上实现,从而实现可拓展性。

这种分层和结构化设计哲学为未来区块链架构铺平了道路,比如前面提到的独立的算力发展到分布式的算力。这是区块链技术的一个核心创新,而且比单一共识算法和链的部分技术更重要。团队会通过侧链来实现基础服务,可供全球公开使用,这些服务包含了ID(身份)生成,代币分发,数字资产交易和快速支付系统等,这些基础服务都是重要的基础设施组件,也是亦来云智能万维网的一部分。

另外,团队也会给第三方侧链开发提供支持。交易是主链和侧链之间的接口中最重要的部分。从主链转代币到侧链的交易过程相当于从主链上一个用户账号转账到对应侧链的一个多签名地址,这个过程会自动检验侧链识别这个交易并且存储等价的侧链代币到侧链账号。

读亦来云侧链的白皮书

主链,侧链和友好链

亦来云主链采用仲裁人联合签名和SPV(简单支付验证)机制来保证跟侧链转账的安全。主链代币持有者(ELA持有者)共同选举仲裁者,仲裁者负责对从侧链到主链的代币取款进行签名,每个侧链结点会同步主链所有的区块头部。

亦来云侧链可以使用任何共识机制。目前,亦来云团队已经开发了基于PoW(工作量证明)共识的侧链,它能够连接主链来完成基于SPV和DPOS的存款和取款操作。这个基于PoW的侧链可以使用主链的算力来确保它的安全性。这个意味着如果DApps选择使用一个基于PoW的共识机制,他们都可以利用ELA联合挖矿的哈希算力,而这个算力是从强大的有弹性的比特币网络继承来的。

另外,通过这个跨链技术,亦来云也可以完成跟其他发行了自己代币的区块链之间的互联转账。这类区块链可以支持跟亦来云互相转账,我们称之为”友好链”,并且在主链和友好链之间进行原子交换也是可能的。

从主链到侧链的转移资产

1.用户想把他的5个ELA转换为S代币(一种代币);

2.发起5个ELA的转账,从主链地址U到主链地址S(S是侧链在主链上的地址);

3.编号为#1、金额5个ELA的交易被创建,而且实际侧链地址U也被关联到这个交易;

4.交易#1执行,从主链地址U到主链地址S;

5.值班的仲裁者处于等待状态,直到交易#1被加到主链矿工的区块里并且获得足够的区块确认;

6.然后值班的仲裁者通过SPV(简单支付验证)模块获得交易#1;

7.值班的仲裁者获得侧链地址U并构建交易#2,交易#2包含了交易#1的SPV证据路径和5个S代币;

8.侧链矿工打包交易#2并把它放到侧链的区块里;

9.通过侧链有的共识机制,它等待足够多的区块确认;

10.用户在他的侧链地址上收到5个S代币。

从侧链到主链的资产转移

1.用户想将5S代币转换为ELA代币;

2.发起从侧链地址U到主链地址U的5个S代币的转账;

3.编号为#1、金额5个S代币的交易被创建,而且实际主链地址U也被关联到这个交易;

4.交易#1执行,从主链地址U到主链地址S;

5.值班的仲裁者处于等待状态,直到交易#1被加到侧链矿工的区块里并且获得足够的区块确认;

6.然后值班的仲裁者从它自己的侧链结点收到交易#1(每个仲裁者有一个专门属于每个亦来云生态侧链的结点);

7.值班的仲裁者获得主链地址U并构建交易#2,交易#2包含了交易#1的哈希值和5个ELA代币;

8.值班的仲裁者广播交易#2给其他所有仲裁者结点去签名。每个仲裁者给交易#2签名然后把签名发回给值班的仲裁者;

9.值班的仲裁者一直等待接收到超过2/3的仲裁者的签名,然后连同交易#2一起提交到主链;

10.主链矿工打包交易#2并把它放到主链的区块上;

11.通过主链上PoW的共识机制,它等待足够多的区块确认;

12.用户在主链上收到了5个ELA代币。

亦来云的友好链

当你转换N个ELA代币到侧链代币,所有你正在做的其实是锁住在主链上的x个ELA,然后解锁在侧链上的Y个代币。每个侧链地址有一个在主链上的对应的ELA地址,恰恰是为了这个原因。然后,有其他一些特殊场景下,不是亦来云生态里的区块链,比如NEO、ETH等等,这些都是我们所说的友好链。

亦来云对友好链的支持被分为两个阶段的过程:


1.第一阶段支持亦来云主链和友好链之间的跨链原子交易。这类交易是点对点的并且需要各方协商汇率并创建双向和受限的原子交换交易。

2.第二阶段是基于去中心化的交易所,支持主链和友好链之间的自由交易。用户不再需要创建像原子交换例子中的用户之间的交换交易。

主链和友好链之间的资产转移:


原子交换的第一阶段会通过哈希锁定机制来达到,并且会这样工作:

1.Alice想卖5个ELA代币给Bob,来交换25个F代币,因为目前市场汇率是1ELA等于5个F代币;

2.Alice声称了一个随机数字X,并用它得到一个哈希值Hash(X),这就对交易#1加5个ELA的编码的结果;

3.Alice将交易#1从它的地址EA放到亦来云主链E;

4.Bob在亦来云主链E上看到交易#1,用25F代币和友好链F上的Hash(X)创建交易#2;

5.Alice在友好链F上看到交易#2,然后使用随机数X和她自己在友好链E的私钥解锁这个交易。这样25个F代币就被转给了Alice;

6.Bob看到交易#2已经被解锁,此时取回X;

7.Bob用自己在亦来云主链E上的私钥和随机数x对交易#1签名。这就解锁了交易#1,且最终5个ELA被转到了他在亦来云主链E上的地址。