查看原文
其他

Algorand Co-Chain技术解读

Algorand Algorand Official 2020-11-11

01

ALGORAND公链(非许可链版本)


区块链的前景和挑战


透明、不可篡改和素不相识者之间的信任,这些是公有非许可区块链的基础。然而,在技术发展不足的情况下,区块链多年来一直是人们梦寐以求的实现目标。


ALGORAND 非许可区块链


Algorand 提供真正去中心化、可扩展和安全的非许可区块链。它具备真正去中心化的特点:每个代币都可以参与共识协议,与任何其他代币具有相同的权力。它具有可伸缩性,因为它只需使用少量的运算,即可支持数十亿用户在几秒之内生成一个区块。而且它很安全,因为它不可能被少数矿工或受托人或者一小部分代币的所有者破坏。事实上,只要 Algorand 区块链的大多数代币掌握在可靠的人手中,它就能保证正常工作。
Algorand 协议依赖于全新的技术,例如其独特的密码抽签和超高效的拜占庭协议。
除了完全的去中心化、可扩展性和安全性之外,Algorand 非许可区块链还具有以下显著特性:
  • 无分叉和即时交易确认。Algorand 区块链不会分叉。每个新区块都是单独商定的,并且保证永远留在 Algorand 链上。[1]因此,用户可以立即信赖新区块中包含的交易,而不必等待区块在链中具有足够的深度。
  • Layer 1 处理标准资产和智能合约。区块链在不同的层面上处理不同的交易。第 1 层是最直接和最安全的一层。传统意义上来说,第 1 层只处理普通支付和共识协议本身,新资产的发行、智能合约和其他的所有事务都在第 2 层处理。但众所周知,第 2 层的协议速度慢、成本高并且容易出错。相比之下,Algorand 在第 1 层还会处理标准资产和大量智能合约的发行,包括资产代币化、原子交易[2]抵押借贷,并且能够在必要时隔离和收回有争议的交易。事实上,Algorand 在第 1 层就满足了智能合约的大多数当前用例,并且具有与普通支付手段相同的安全性和效率。

02

ALGORAND许可链版本


许可型区块链的主要优点是能够保护交易不受外界干扰。[3]


在 Algorand 的非许可链版本中,每个原生代币(除了作为本地货币 (Algo) 的计量单位之外)都可以参与共识协议,并具有与其他代币相同的权力。但是,在 Algorand 的许可链版本中,企业 E 只能将给定的 10M 代币池用于共识协议,并以任何方式将其划分到自己选择的验证节点集合 V 中。例如,E 可以选择 V 仅包含 5 个验证节点,并为每个验证节点分配 2M 共识代币。这样做的结果是,E 为五个验证节点中的每一个提供了生成新区块的相同能力。另举一例,E 可以选择 55 个验证节点,为前 5 个验证节点每个分配 1M 代币,并为另外 50 个验证节点每个分配 100K 代币。这样的话,E 为前 5 个验证节点分配的区块生成能力就是其他 50 个验证节点的 10 倍。
Algorand 的许可型版本具有极细的颗粒度级别,可以为不同的验证节点分配不同的权重。
通过Algorand 许可区块链,而不是从头开始构建自己的许可链或采用另一个许可链,E 获得了以下主要优势:
a) 按需分配的加权去中心化。选择任意数量(任意权重)的验证节点是至关重要的。实际上,E 可能想做出这种选择来提高自己区块链的安全性,或者扩大它所服务的社区。最初为少量金融机构服务的区块链可以从少量的验证节点开始。但是,如果以后它想要为中小型银行和信用合作社服务,而所有这些机构都希望参与区块生成,该怎么办?适用于少数参与者的共识算法可能无法有效地适用于成百上千的参与者。而中途改变策略可能相当具有挑战性!通过允许共识协议扩展到数十亿个验证节点,E 能够保证在任何时候毫无问题地扩大验证节点集。缩小规模容易,扩大规模就难了。
b) 交易最终性和第 1 层智能合约。无论是私有还是公有区块链,许可型还是非许可型区块链,对于任何区块链来说,交易最终性都是一个至关重要的属性。在第 1 层处理大多数智能合约需求的能力也是如此。通过在 Algorand 中增加权限控制特性,E 从而获得一个许可型区块链,该区块链会自动继承这些至关重要并且很难拥有的属性。

c) 可升级性和持续创新。无论何时将升级改进和创新添加到核心的无许可型 Algorand 主链,使用许可型版本的 Algorand 协议均会自动为 E 提供未来的升级改进和创新。


03

ALGORAND Co-Chain:定义和挑战


定义


Algorand Co-Chain是特殊的 Algorand 许可链版本。因此,它是一个可扩展的许可链框架,可按需实现去中心化,具有交易即时确认和第 1 层智能合约等特性。它还满足一个额外的关键特性:

(d) 与其他Co-Chain的互操作性。许可型区块链能让给定范围内的用户安全地进行互动。但它可能不允许他们与其他实体和个人进行互动。这是一个很大的限制,因为“外部”的世界比“内部”的世界更大,我们可能想要与更大的世界互动。一组金融机构可能想建立他们自己的许可链。但是一些医疗机构可能也想这样做。由于医疗保健是经济的重要组成部分,所以金融机构链想必希望与医疗机构链进行交互和资产交换。如果没有外部的互操作性,许可链的成员就可能被困在自己的链中。


Co-Chain Algorand 许可链,它能保证 Algorand 无许可链与其他Co-Chain之间高效和安全的互操作性。


第一个挑战:安全性


许可链之间的互操作性很容易声明,但很难得到保证。考虑一个简单的例子。用户a拥有资产 x,他希望与拥有资产 y的另一用户 b进行交换。
如果 ab属于 Algorand 无许可链或同一个 Algorand Co-Chain,此问题可以在 5 秒内解决,并且具有最终性和安全性。实际上,他们可以使用原子交换,这是 Algorand 中作为第 1 层交易可用的主要工具之一。但是,如果 a是Co-Chain A 的成员,b是另一个Co-Chain B 的成员,该怎么办?

不同链间的资产交换通常通过哈希锁定协议来实现的。但是这种方法存在相当大的问题。除了需要多个逻辑复杂的步骤之外,它还容易受到拒绝服务攻击。这样的攻击可以使欺骗一方保留自己的资产,同时获得另一方的资产。为了避免这种情况,协议可能需要持续很长一段时间,这可能使拒绝服务的成本高于相关资产的价值。


第二个挑战:明确所有权


但是,这又会产生另一个问题,并且该问题适用于仅涉及xy及其各自区块链AB的任何协议。也就是说,由于A B是许可型的私有链,最多只有它们的成员知道xy交换了原始资产,因此,b现在由链A的成员拥有。如果链B 损坏,没有什么能够阻止y多次向其他区块链的成员出售b或用其交换其他资产!从本质上讲,这相当于资产交换的双重支付。
如果许可链的大多数验证节点是恶意的,或者其密钥已泄露,那么该许可链就算是腐败了。在腐败的链中,原始区块可以被替换为假区块,这样就再也无法弄清楚谁拥有哪些资产。(这就是去中心化对安全来说至关重要,以及几百个验证节点比几十个更好的原因!)许可链的损坏具有很强的隐匿性,因为它的私密性可以防止外部人员注意到这种腐败。链的损坏是比较罕见的事件,但当它发生时,应该只影响链的成员,而不应该影响诚实链!没人能够保证另一条链可以保持诚实。但是……

链的互操作性应该保证诚实链的成员所获得的任何资产都有明确的所有权。即便从腐败的链的成员处获得的资产也是如此。


04

ALGORAND(简化版)Co-Chain体系结构

现在,我们来概述一下 Algorand Co-Chain如何互操作。为简明起见,我们先忽略隐私特性。


序言


我们用 MAIN来表示 Algorand 的主网,它是无许可并且公开的。相应地,每个Co-Chain监控 MAIN的区块。对于每个Co-Chain CMAIN维护
  • C的验证节点的最新列表VALIDATORSC

  • 以及C的成员拥有的,可以转让给其他链的所有资产的最新列表ASSETSC
最初,当一个Co-Chain形成时,这两个列表都可能被包含在本质上是C在“MAIN中的创世区块”。(这个创世区块与C的原始创世区块不同,它指示哪些是C的初始公钥,以及这些密钥最初拥有哪些资产。)
随着时间的推移,VALIDATORSCASSETSC都通过 CMAIN中发布由 C的最新验证节点列表(适当多数)签署的适当交易进行更新。

需要强调的是,MAIN不仅对Co-Chain C 中发生的交易一无所知,而且也不知道 C的实际公钥,更不用说使用这些密钥的实际用户了!事实上,ASSETSC不会透露有关 C中控制 ASSETS中资产的公钥的任何信息。


Algorand Co-Chain 到主链的资产转移


Algorand Co-Chain A 的用户 x可能想要通过公钥 tx将他拥有的资产 a转移到 MAIN。用户 x这样做可能出于多种原因。例如,x可能想拍卖 a,而“出价的人越多,价格就越高”。因此,与其在 A上拍卖 a,用户 x可能更愿意在 MAIN上拍卖,这样不仅有 A的成员报价,还有 MAIN或其他Co-Chain的成员报价。事实上,Co-Chain的任何成员都可以轻松地向 MAIN转移稳定币,唯一的目的就是参加拍卖。
与Co-Chain A 中普通的转移相同,将 atx转移到 MAIN的操作由 tx 的数字签名授权,用符号表示为 SIGx(tx, a, MAIN)。由于 tx拥有 a ,并且转移得到了适当的授权,SIGx(tx, a, MAIN)会进入经 A的验证节点适当认证的 A的一个新区块 X。此时,Co-Chain A 的所有成员意识到 txA中的任何其他公钥均不拥有资产 a。因此(除非 A已损坏),tx不能再授权 aA内或 A外的转移。
A的所有其他区块相同,X的结构是为了便于将 SIGx (tx,a, MAIN)和转到 MAIN的所有其他资产转移与所有其他信息隔离开来,这些信息必须仅对 A的成员保持可见。从概念上来说,表示方式如下:

X= (SIGx (tx, a, MAIN), other transfers to MAIN, H)


其中HA中所有交易的单向哈希(通常长度为 256 位),必须在A中保持私密。需要注意的是,X的格式非常紧凑。实际上,除了打算传递给 Algorand 主链的信息外,它只包含 256 个字节。
此格式的区块X以及它在A中的证书会传播到MAIN的节点。

由于Co-Chain A运行与MAIN相同的共识算法,并且MAIN知道 A 的验证节点,因此MAIN的验证节点可以解析X的证书,并了解到

  • txA拥有资产a的密钥,并且

  • 密钥tx的所有者希望将 a转移到 Algorand 的主链。

相应地,

  • 资产a会从 ASSETSA中移除,并且

  • 密钥tx会被记录为MAIN拥有(在MAIN中!)资产a的(可能为新的)密钥。


注意:步骤 1 中使用的MAIN既是公有的,也是非许可的。具体来说,MAIN为非许可型这一事实能够保证tx成为MAIN中的密钥,不会出现任何问题。并且MAIN是公有的这一事实能够保证所有人意识到资产a现在位于MAIN中。这能够保证y将(在下一个步骤中)获得a的明确所有权。事实上,无论Co-Chain 是否损坏,xA中的任何其他成员均无法将a转移给任何其他Co-Chain的任何成员。


从主链转回Co-Chain的资产转移


MAIN中出售 a后,tx可能会想将拍卖所得的稳定币转移给 A

更普遍的情况下,如果 txMAINA两者的公钥,tx可能会想将它在 MAIN中拥有的资产 b转移到 A。同样,这样的转移可能是由 tx的数字签名授权的,用符号表示为 SIGx (tx,b, A),它会进入 MAIN的一个新区块。由于 MAIN为非许可型,A的验证节点可能会看到 SIGx (tx,a, A)出现在 MAIN的区块中,或者它们可以通过 tx本身看到这种出现的适当紧凑证明。无论哪种情况,A的验证节点都将导致 tx成为 A中资产 b的当前所有者,因为它已经是 A中的一个密钥。同时,只要 SIGx(tx, a, A)出现在 MAIN的区块中,tx便不再拥有 MAIN中的 b,并且 ASSETS A将更新为包含资产 b


Co-Chain互操作性


接下来,我们使用上面提到的相同资产交换示例来说明Co-Chain是如何互操作的。现在,AB是不同的 Algorand Co-Chain。具体来说,资产 aA中由公钥 tx控制,其私钥为 x所知,而资产 bB中由公钥 ty控制,其密钥为 y所知。


要交换它们的资产,xy通过以下概念步骤利用MAIN

1. 在链A中,tx“将a转移到MAIN”,并向MAIN提供转移证明。在链B中,ty“将b转移到MAIN”,并向MAIN提供转移证明。

2. 在MAIN中,txty通过原子互换交换ab

3. 在MAIN中,txb转移到A,并且 tya转移到B。链A B都能看到这两项转移。


步骤 1 的说明


步骤 1 可以通过txMAIN的区块中发布 SIGx (tx, a, A) 来实现,如上所述。相应地,在MAIN中,

  • 资产a会从 ASSETA中移除,并且资产b会从 ASSETB中移除。

  • 密钥tx不再拥有a

类似地,对于ty来说也是如此。


步骤 2 的说明


从现在开始,在 MAIN中,tx 拥有a,并且ty拥有b,它们可以在几秒钟之内以超级安全的方式交换这些资产。实际上,所采取的方式是第 1 层原子交易,这是 Algorand 非许可链的主要功能特性之一。


步骤 3 的说明


如前所述,在 MAIN中,tx b转移给 A 中的自己,因为tx仍然是A的批准密钥。类似地,对于ty来说也是如此。


附加说明


我们可以注意到,整个过程非常快。实际上,以上三个步骤中的每一步都可以在生成新区块所需的时间内执行。这一时间在 Algorand 的主链中不超过 5 秒。但是在 Algorand Co-Chain中生成区块可能会快很多。实际上,在 Algorand 协议中,可以在确保大多数验证节点看到区块所需的时间内生成一个区块。在网络速度很快的Co-Chain中,这一时间可以忽略不计。

我们还注意到,整个过程发生在第 1 层,因此无论是在主链中还是在Co-Chain中,都具有更高的安全性。

最后请注意,给定Co-Chain的资产累计价值可能超过 Algorand 主链的估值。然而,Algorand 的主链并不用于保护任何Co-Chain的资产。在给定的时间点,它仅用于处理给定Co-Chain的少量资产,并且仅持续几秒钟。也就是说,它用于处理Co-Chain想与另一个链交换的资产。


增强私密性


Algorand Co-Chain之间资产交换的隐私性可以大幅增强。

具体而言,txty可以是临时密钥,仅供 xy在本次资产交换中使用也就是说,在开始上述的三步流程之前,x生成临时公钥 tx 并将资产 a从之前持有a的任何公钥转移到 tx。完成步骤 3,并且 tx A中拥有资产 b后,x可以将 btx 转移到他选择的任何其他公钥。通过这样的方式,Algorand 的主链永远不知道 A中的哪个公钥最初拥有资产 a,以及哪个公钥最终会拥有 b




[1]Algorand 共识不是一个漫长的过程。随着越来越多的区块被附加到给定的区块 B 上,人们越来越有可能对 B 达成共识。Algorand 单独对新的区块达成协议,这一过程完成后,再对下一个区块达成协议,以此类推。

[2]原子交易让多名用户能够通过单笔交易交换资产,或者以多种货币执行多笔支付。因此,原子交易中的任何参与者都无法欺骗其他参与者,并且没有人害怕自己是第一个尝试的人。

[3]另一个经常提到的选择许可型区块链的原因是安全。然而,这个理由忽略了一点,即去中心化本身就是安全性的主要来源。


* 完整技术论文将于近期发布,敬请关注。


SERGEY GORBUNOV | 加密部门主管

Sergey 是滑铁卢大学的助理教授。他主要研究基础密码学以及大型安全系统、计算机网络、协议和区块链的设计。他于 2015 年获得麻省理工学院博士学位,同时也是微软博士奖学金的获奖者。他的论文主题是使用基于格的密码技术构建高级加密协议,并因此获得麻省理工学院计算机科学领域的 Sprowl 博士论文奖。加入 Algorand 之前,他曾是 Stealth Mine的创始人兼首席技术官,并在 IBM T.J.Watson 研究中心工作过一段时间。

  

MAURICE HERLIHY

Herlihy 教授是分布式计算领域的世界级专家。他曾获得 2003 年 Dijkstra 分布式计算奖、2004 年哥德尔理论计算机科学奖、2008 年 ISCA 影响力论文奖、2012 年 Edsger W. Dijkstra 奖和 2013 年 Wallace McDowell 奖。他是 ACM 的研究员,同时还是美国发明家学院、美国国家工程学院和美国艺术与科学学院的研究员。

Herlihy 教授拥有麻省理工学院的计算机科学博士学位。


SILVIO MICALI | 创始人

Silvio Micali 从 1983 年起在麻省理工学院电子工程和计算机科学系任教。Silvio 主要研究密码学、零知识、伪随机数生成、安全协议以及机制设计。2017 年,Silvio 创办了 Algorand,这是一个完全去中心化、安全、可扩展的区块链,为去中心化的经济提供了一个构建产品和服务的公共平台。在 AlgorandSilvio 负责监督所有的研究,包括理论、安全和加密金融。

Silvio 是图灵奖(计算机科学)、哥德尔奖(理论计算机科学)和 RSA 奖(密码学)的获得者。他是美国国家科学院、美国国家工程学院和美国艺术与科学学院的成员。Silvio 在罗马大学获得了数学学士学位,并在加州大学伯克利分校获得了计算机科学博士学位。



加入Algorand官方群请扫码添加Admin

近期文章更新

 众筹平台Republic将基于Algorand发行创新数字资产,开辟投资新方式
 Realio将在Algorand区块链平台发行RST代币,共同推动去中心化金融发展
 Algorand携手SFB Technologies为马绍尔群岛打造世界第一个国家数字货币
 Algorand节点运行解锁计划:加速释放模型
 Algorand基金会发布透明度报告 
 Algorand迎来首个稳定币,Tether正式在平台上发行USDT 


Algorand官方账号



官网:    

https://www.algorand.com/    

基金会:

https://www.algorand.foundation   

官方微博:
https://weibo.com/Algorand    【ID:Algorand官方号】

区块链浏览器:

https://algoexplorer.io/

INC公示钱包地址:

https://www.algorand.com/resources/blog/algorand_wallets/ 

基金会公示钱包地址:

https://algorand.foundation/wallet-addresses 

Telegram电报群:    

https://t.me/algorand 

官方Bihu论坛号:

https://bihu.com/people/1353848925 

Medium:    

https://medium.com/algorand    

Naver Blog:    

https://blog.naver.com/algorandmarketing 

领英Linkedin:    

https://www.linkedin.com/company/algorand/ 

Modified on

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存