宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > SAND > 正文

前沿:TEE 在跨链桥中的应用

作者:

时间:1900/1/1 0:00:00

作者:Middle.X

感谢Ronnie@BoolNetwork、Aki@Darwinia参与本文内容的探讨,本文部分内容原载于《?PAKA跨链研究报告?》,点击查看完整报告。

在众多的跨链安全事故中,私钥泄露是其中一个重要类型。典型的案例是今年3月份AxieInfinity官方桥RoninBridge遭遇的情况和6月份Harmony官方桥HorizenBridge遭遇的情况,二者都因为跨链桥的验证人节点私钥泄露而导致重大损失。

由于验证人节点需要用程序来对跨链事件执行签名,这使得私钥不得不暴露在网络中,极易成为黑客攻击的目标。然而这样的问题,其实通过用TEE来管理节点私钥就可以很大程度上避免。TEE还能以多种方式被应用于跨链桥,能够在优化跨链桥的安全性和性能上都发挥积极作用。

TEE全称为可信执行环境,它对于我们的日常生活而言并不陌生,手机上的指纹验证就是在TEE中运行的。

TEE是在给定设备上运行的与主操作系统隔离的计算环境,就像一块飞地。这种隔离是通过硬件强制实现的。在TEE中运行程序的过程是隐蔽的,外界不可感知,这减少了TEE遭受黑客攻击的可能性。程序在TEE中运行完成后,输出的计算结果会被附上一个由设备生成的签名,该签名将被设备供应商远程验证,并生成远程验证证明。远程验证证明能够向外界证实该程序在TEE中被完整的执行,没有被篡改和干预。正因为如此,TEE可以运行具有高安全性要求的应用程序,例如加密密钥管理、生物特征认证、安全支付处理等。

我们将结合pNetwork、Avalanche、BoolNetwork、LCP的案例来说明TEE在跨链桥中的具体应用。

pNetwork

pNetwork是有ProvableThings团队开发的一个跨链桥,于2020年3月推出,是一座Wrap桥,Wrap资产被称为pTokens。

Wrap桥的基本模型是Lock-Mint和Burn-Unlock,pNetwork通过一个TEE节点组成的网络来负责验证源链上的Lock和Burn行为,并在目标链上执行Mint和Unlock。

任意拥有TEE设备的主体可以质押200$PNT,即可成为pNetwork的TEE节点。pNetwork中的TEE节点网络将负责对跨链消息进行共识签名。在初始化时,TEE节点集需要共同参与秘钥的计算,以生成公钥和私钥碎片,其中公钥只有一个,处于公开状态,私钥碎片则是在本地生成后,存入TEE中“密封”。即便是TEE节点的运行者也无法知道私钥碎片。

浙江:谋划布局人工智能、区块链、第三代半导体等颠覆性技术与前沿产业:浙江省人民政府印发《浙江省全球先进制造业基地建设“十四五”规划》。其中提出,谋划布局未来产业。谋划布局人工智能、区块链、第三代半导体、类脑智能、量子信息、柔性电子、深海空天、北斗与地理信息等颠覆性技术与前沿产业,加快跨界融合和集成创新,孕育新产业新业态新模式。重点培育柔性电子材料、石墨烯材料、3D打印材料、超导材料等产业,部分领域达到世界先进水平。(浙江省人民政府官网)[2021/7/19 1:02:54]

TEE节点除了需要运行Enclave内的程序,还需在Enclave外运行接入链的全节点,以便于Encalve内的轻节点查询区块头。

pTokens之旅

从Token到pToken的过程如下:

用户调用源链智能合约的Lock函数,发起Lock交易T,将Token存入源链托管地址,在交易备注字段中提供他们想要收款的目标链地址;

TEE节点监听到交易后,进一步获取交易T所在区块的区块头N的所有Lock交易,向Enclave中传入,同时也会将区块头N及这些Lock交易的默克尔路径传入;

Enclave中的轻节点程序首先验证区块头N,然后用区块头N验证所有Lock交易;

一旦通过验证,Enclave就会签名一批Mint交易,为所有目标地址Mint对应数量的pToken;

各Enclave相互进行加密通讯,以合成完整的签名,并提交这些Mint交易;

交易被广播到目标链,被目标链确认后,用户的目标地址就获得了pToken。

从pToken到Token的过程如下:

用户调用源链智能合约,发起Burn交易T,将pToken发送到销毁地址,备注字段中写明目标链上的收款地址;

TEE节点监听到交易后,进一步获取交易T所在区块的区块头N的所有Burn交易,向Enclave传入,同时也会将区块头N及这些Burn交易的默克尔路径传入;

Enclave中的轻节点程序首先验证区块头N,并用区块头N验证这些Burn交易;

工信部:区块链等前沿领域不断取得新的突破:3月1日上午10时,国务院新闻办公室举行新闻发布会,介绍工业和信息化发展情况并答记者问,会上指出,目前产业结构优化升级成效显著,一批重点产业链竞争力加快提升。

当前战略性新兴产业加快发展,量子通信、区块链、虚拟现实等前沿领域不断取得新的突破,新能源汽车产销量连续6年蝉联世界第一,2020年,高技术制造业和装备制造业增加值占规上工业增加值的比重分别达到15.1%和33.7%,成为引领带动产业结构优化升级的重要力量。[2021/3/1 18:02:54]

一旦验证通过,Enclave就会签名一批Unlock交易,从托管地址中向所有目标地址转出对应数量的Token;

各Enclave相互进行加密通讯,以合成完整的签名,并提交这些Unlock交易;

交易被广播到目标链,被目标链确认后,用户的目标地址就获得了Token。

由于私钥在Enclave中保管,且验证和签名的过程也在Enclave中进行,恶意攻击者攻击网络在经济上和实践上都不方便。此外,pTokenNetwork还鼓励TEE节点采用不同厂商的设备,不同厂商的TEE设备的具体原理可能是不同的,多元化厂商的TEE节点将进一步提高攻击者的攻击难度,因为攻击者需要攻破多个厂商的TEE设备才有可能实施攻击。

因此,采用TEE节点组成的MPC网络,相比非TEE节点组成的MPC网络,增加了一层安全保护。此外,pNetwork选择将代码开源,开源代码明确了Encalve当中进行的每个过程,而远程证明中包含程序的哈希根,任何人都可以验证Enclave中执行的代码与pNetwork公开的代码的一致性,这是进一步的安全声明,因为排除了程序编写者作恶的可能性。

2021年10月,pNetworkV2发布,该版本将pNetwork拓展为了一座AMB桥。

pNetworkV2延续了V1的核心特性,依旧使用TEE节点组成的MPC网络来验证跨链消息,但V2版本将不局限于资产跨链相关的消息。

AvalancheBridge

AvalancheBridge(AB)是Avalanche的官方跨链桥,目前支持AvalancheC链与Ethereum之间的跨链资产传递。

声音 | 海南省委宣传部文改办主任:海南自贸区(港)区块链试验区将致力于区块链前沿技术研发:据人民网消息,2018人民网区块链技术冬季论坛在海南生态软件园召开。海南省委宣传部文改办主任谭敏表示,当前区块链拥有分布式计算、点对点传输、不可篡改等特点,价值互联网正在酝酿一场新的革命,作为国内正式授牌的首个区块链试验区,海南自贸区(港)区块链试验区将致力于区块链前沿技术研发、人才培养制度创新和场景应用构建,打造完善的区块链产业生态圈,打造千亿级产业集群。

海南是区块链得天独厚的自然、人文政策环境,中央明确将海南全面深化改革上升到国家战略,支持海南大胆试大胆闯,自主改,推动产业创新和制度创新;要求海南深化供给侧结构性改革,统筹实施网络强国战略,大数据战略,互联网 行动,大力推进新一代信息技术产业发展,推动互联网、大数据、卫星导航、人工智能、实体经济深度融合,这为区块链产业发展提供了千载难逢的发展机遇。

区块链是新生事物,要包容地去培育,研讨、交流、学习是重要手段。通过具有前瞻性、理论性、实验性的探讨和交流,相信大家会对区块链有一个全新的认识。[2018/12/22]

与pNetwork相同,AvalancheBridge用TEE节点组成的MPC网络来验证跨链事件,AvalancheBridge的TEE节点被称为Warden。为了追求更低的费率和更快的速度,AvalancheBridge在设计上做了些许优化。

首先,为了加快验证效率,AvalancheBridge直接在TEE内运行全节点,并在Enclave内建立索引来查询交易,而不像pNetwork的TEE节点在Enclave外运行全节点,在Enclave内运行轻节点。当然,pNetwork现在支持9条链的资产传递,未来可能支持更多,如果这么做,Enclave的存储空间可能会构成挑战。

其次,AvalancheBridge使用普通地址,而非合约地址来托管锁定资产。这避免了一部分合约调用的费用。

初始化的时候,Warden之间相互加密通信,创建一个托管地址,并将私钥碎片密封在各自的Enclave中,该托管地址是一个0x开头的EOA地址,既可以用于以太坊,也可以用于AvalancheC链。

我们以ERC20资产的跨链为例,来阐述AvalancheBridge处理资产跨链的步骤:

动态 | 成都市人民政府:积极布局区块链等前沿技术领域:据成都市人民政府网今日消息,成都市人民政府办公厅今日公布《关于加快推进网络信息安全产业体系建设发展的意见》。《意见》指出,成都市将加快关键核心技术产品突破,积极布局量子保密通信、区块链、人工智能安全等前沿技术领域。在量子保密通信、区块链安全、工业信息安全、云计算与大数据安全等重大应用领域,实施网络信息安全应用试点示范工程。[2018/9/14]

Wrap:Ethereum->Avalanche

用户在以太坊上发起存款交易,将需要跨链的ERC20资产转入托管地址;

每个Warden监控该地址,以发现这笔存款交易;

Warden将交易传入Enclave,Enclave进行验证;

验证通过后,Warden会用各自的私钥碎片签署一笔Mint交易,并相互进行加密通讯以合成完整签名。

Warden向AvalancheC链提交Mint交易,使得托管地址调用Mint合约,为用户铸造Wrap资产(为了安全考虑,AvalancheBridge仅支持资产跨链至与发起地址相同的目标地址)。

Unwrap:Avalanche->Ethereum

用户在AvalancheC链上调用桥合约中的Burn函数,发起一笔销毁交易,将需要跨链的Wrapped资产发送到指定的销毁地址;

Warden监控到这笔交易后,将交易传入Enclave;

Enclave各自对这笔交易进行验证;

验证通过后,Enclave各自用自己的私钥碎片签名一笔Unlock交易,以将托管地址中对应数量的原生资产发送给用户的Ethereum地址;

Enclave相互进行加密通讯以合成完成签名,并将Unlock交易提交到Ethereum,交易被确认后,用户将在以太坊上收到托管地址的转账。

我们发现AvalancheBridge的资产跨链流程中,只有Mint交易和Burn交易需要调用合约,而Lock和Unlock交易只是普通的转账,不需要调用合约。这样的设计降低了Gas消耗,从而降低了用户端的跨链手续费。

招银前海金融首席研究员王朝阳:法定数字货币是一项非常前沿的技术创新,与现有的数字货币有很大的区别:招银前海金融首席研究员王朝阳表示,央行数字货币是一项非常前沿的技术创新,但它的货币本质并没有改变。央行的数字货币将和现有的数字货币有很大的区别,比如央行的数字货币仍然能够行使现代货币政策职能,且其发行和流通框架和现有的数字货币有本质区别。[2018/1/29]

无论是pNetwork和AvalancheBridge,都充分利用了TEE的特性,让私钥被外部攻击者窃取的可能性大幅降低。但我们要注意到,这依旧不能阻止TEE节点的内部串谋。

如果TEE节点之间合谋,可以试图合成私钥、替换Enclave里的程序,或者通过分叉源链制造虚假事件取Enclave的签名。

而我们下文要讲的BoolNetwork,则可以做到“外防攻击,内防串谋”。

BoolNetwork

BoolNetwork也是一个采用TEE节点网络作为外部验证者的跨链桥项目。BoolNetwork做了进一步的创新——增加了TEE节点的轮值机制和匿名机制。

BoolNetwork被设计为了一个任意消息跨链桥,支持任意第三方在其上构建跨链应用。BoolNetwork参考CosmosIBC,引入了Channel的概念,部署在不同链上的两个应用程序之间可以建立Channel,以实现二者之间消息的有序传递。每个Channel都会对应至少一个MPC委员会。该委员会在当前Epoch内负责对该Channel内的跨链消息进行共识签名。这个MPC委员会是轮值的,任期只有1个Epcoh,每个Epcoh都会重新选举。

BoolNetwork目前会为每个Channel分配两个委员会,互为备份,以提高服务可用性。

任何人都可以通过质押$BOL成为候选的TEE节点。每个Epoch开始前,BoolNetwork会通过RingVRF算法,为每个Channel选举MPC委员会。被选为MPC委员会成员的节点会获得一个用于通讯的临时身份,用于在共识签名过程中与同一委员会中的其他TEE节点通讯。当一个Epoch结束时,所有的临时身份都会失效,然后网络将重新进行节点选举,选出新的轮值MPC委员会,赋予他们新的临时身份。

尽管每个候选的TEE节点在注册的时候,需要提供永久身份信息,但节点在通讯时使用的临时身份并不会暴露永久身份信息。换句话说,节点在通讯时是相互匿名的。如果候选节点有100个,那么你只能知道与你通讯的节点是这100个当中的1个,而不知道具体是哪一个。

每个Channel的MPC委员会需要多少个TEE节点,签名的门限是多少,是由Channel创建人自定义的。常用的门限数值有15-of-21、13-of-19、5-of-9。

同一个Epoch内,不同Channel的MPC委员会成员可能会有重叠,也有可能有部分候选节点没有被选入任何一个委员会,而出现闲置的状态。这些情况都是正常的。

我们发现,BoolNetwork通过TEE、轮值机制、匿名机制的组合,构建了一个牢不可破的黑箱。由于签名程序运行在匿名节点的TEE中,而且它们之间的通讯内容是加密的,当处于工作状态时,TEE节点的运行者本人无从知晓自己被选入哪个Channel的MPC委员会,与哪些节点进行了共识通讯,签名了哪些消息,连“自知”都做不到,更谈不上“知人”。这基本上让节点串谋变的不可能。

从外部攻击者的角度,如果要攻击某个特定的Channel,攻击者无从知晓当前的MPC委员会背后是哪些设备、哪些主体,也无法从通讯中截获这些信息。无论是内部串谋,还是外部攻击,都只能选择攻破所有候选节点中的大多数,才有可能攻击成功,这无疑代价是巨大的。

BoolNetwork是一个仍在开发中的项目,还有些技术细节没有完全确定。

LCP

LCP的全称是LightClientProxy,是Datachain提出的一个将TEE用于跨链桥的新范式,本文撰写时,LCP尚处于概念阶段,没有代码实现。LCP与前述三者完全不同。pNetwork、AvalancheBridge、BoolNetwork的思路都是用TEE来管理私钥、验证消息、执行签名。LCP的思路则是用TEE来运行轻客户端。

LCP的思路或多或少借鉴了LayerZero,LayerZero用外部预言机网络来运行超轻客户端,但这个“超轻客户端”并不会像一个真正的链节点那样对新获取的区块头进行验证,而是通过预言机网络的节点们共识签名来确认区块头的有效性。LCP则希望在TEE内运行货真价实的轻客户端。

我们知道,轻客户端跨链桥是安全性最高的跨链桥技术类型,它通过在目标链上部署源链的轻客户端来使得目标链对源链的交易有验证能力。但其缺点非常显著:

链上的存储和计算资源紧张,链上的轻客户端在同步和验证区块头的过程中会消耗较多的Gas,这会使得链上轻客户端很昂贵,有些情况下甚至不具备经济可行性。尽管有一些方案,可以构建相对轻量级的链上轻客户端,但这些方案又会增加开发难度和代码复杂度。

将轻客户端放到链下执行可以有效解决上述问题,但我们需要链上对链下轻客户端的运行状态进行验证,这点可以通过TEE的远程证明实现。理论上,LCP仅需一个TEE节点,并不需要多个节点对交易的真实性进行共识确认。但为了保证可用性,安排一定的冗余还是有必要的。

当有交易T需要验证时:

交易T会首先被提交给TEE节点;

TEE节点将交易T、交易T所在区块高度N、交易T的默克尔路径传入Enclave

Enclave中的轻客户端运行更新程序,更新到的区块高度N,并用高度为N的区块头对交易T执行SPV验证。

Enclave在验证完成之后,通过远程认证,生成远程认证证明

TEE节点将交易T的验证结果及远程认证证明提交到目标链

目标链上的校验程序检查远程认证证明的有效性,确认程序的确是在TEE中运行的,以及运行的程序是正确的轻客户端程序。

需要辨明的是,尽管pNetwork的TEE节点也会在运行轻客户端,但该轻客户端在验证交易之后会触发本地私钥碎片对交易的签名,链上最终验证的是签名,而非TEE内运行的程序本身,因此pNetwork依旧属于外部验证的范畴。LCP则是向链上提交远程认证证明,这当中会包含程序哈希以供链上检查TEE中运行了正确的轻客户端程序,用「原生验证的扩展」来归类LCP会更为恰当。

在TEE中运行轻客户端,事情变的简单许多,轻客户端不再需要考虑如何节约存储和计算资源,不需要复杂的“瘦身”和“扩容”方案。但我们需要认识到,在TEE中运行轻客户端,始终要比在链上运行轻客户端的安全等级降低了一些。因为TEE并不是绝对安全,其技术防护手段有可能被攻破,且TEE设备的厂商也有微小的可能性作恶。不过这个问题可以通过TEE节点的冗余和设备厂商的多元化来弥合。

小结

以上我们讨论了TEE被应用于跨链桥的几种情况。

TEE在跨链桥中最直接的应用便是保管私钥,正如我们所列举的pNetwork、AvalancheBridge和BoolNetwork,在人们对跨链桥安全性忧心忡忡的当今此时,我们或许应该期待用TEE管理私钥成为多签类跨链桥的标配手段。对于防止TEE节点的串谋,BoolNetwork将节点匿名化的思路给了我们很好的启示,而LCP的方案,为轻客户端跨链桥提供了一个新的范式,它在基本保持轻客户端桥的理论安全度的前提下,提升了轻客户端桥的通用性和可扩展性。

跨链桥依旧在激烈的演化之中,TEE的运用只是其演化方向之一。我们还在观察其他的演化方向,我们对更加安全的跨链桥充满期待。

参考资料

https://hackmd.io/@phala/BJh_3bbQU

https://www.8btc.com/article/608236

https://ptokens.io/ptokens-rev5b.pdf

https://medium.com/pnetwork/introducing-pnetwork-v2-bfa7fcdcedb8

https://zhuanlan.zhihu.com/p/406818768

https://medium.com/avalancheavax/avalanche-bridge-secure-cross-chain-asset-transfers-using-intel-sgx-b04f5a4c7ad1

https://mp.weixin.qq.com/s/Hw-jW9YtyJjxtI-xo_ANUQ

https://twitter.com/TigerVCDAO/status/1588215376235462656

https://docs.lcp.network/

标签:ORKETWWORNETbitcoin2networkRonin NetworkWorthpadStarkNet

SAND热门资讯
晚报 | 《金融时报》揭秘 FTX 风险投资:近 500 笔投资,总计超 54 亿美元;Huobi:将于近期上线 CNHT (Tether CNH)

整理:西昻翔,ChainCatcher“过去24小时都发生了哪些重要事件”?1、Huobi:将于近期上线CNHT(TetherCNH)Huobi官网发布公告称,将于近期上线CNHT(TetherCNH).

1900/1/1 0:00:00
2022 年链上数据报告:BTC、ETH 和稳定币

来源:Checkmate,?Glassnode 编译:DeFi之道 随着2022年混乱、动荡和残酷的一年即将结束,我们探索了比特币、以太坊以及稳定币市场的状态.

1900/1/1 0:00:00
解析:BitKeep Wallet 上线支持 KEY3.id 推出的 .bayc 等蓝筹 NFT 域名

作者:KEY3.id 12月5日,DID应用KEY3.id宣布与知名钱包BitKeepWallet合作.

1900/1/1 0:00:00
Alameda Research 倒闭之后将如何影响加密市场流动性?

原文链接:《CryptoLiquidityinaPost-AlamedaWorld》作者:ClaraMedalie&DessislavaAubert&RiyadCarey,Kaiko编译:倩雯.

1900/1/1 0:00:00
Pantera Capital:FTX 相关更新以及展望 2024 年比特币减半周期

原文:《FTXUnderscoresTheImportanceOfDeFi》作者:DanMorehead,JoeyKrug,JesusRobles编译:GaryMa吴说区块链 FTX相关更新 我们想提供一个关于FTX情况的更新.

1900/1/1 0:00:00
安永:QuadrigaCX 冷钱包中比特币被转移,仍未找到相关私钥

据CoinDesk报道,QuadrigaCX破产受托人安永会计师事务所周二发布声明称,已经意识到QuadrigaCX冷钱包里的BTC被转移至其它地址.

1900/1/1 0:00:00