写点什么

揭秘区块链间的连接桥梁——蚂蚁跨链 ODATS 设计之道

  • 2019-12-25
  • 本文字数:2509 字

    阅读完需:约 8 分钟

揭秘区块链间的连接桥梁——蚂蚁跨链ODATS设计之道

认识跨链

各行业乃至行业中某个领域根据自身的产业结构构建不同区块链网络,每条链上都流转着相应有价值的信息与资产。但通常情况下,任何一个行业的价值都不可能完全孤立,往往有跨行业协作的业务需求,这也催生了区块链应用落地的一大挑战——多链信息孤岛。



比如一个简单的资产跨链转移例子:


基于区块链搭建的供应链金融平台上,流转着 Alice 的一笔应收账款资产,当 Alice 有转让需求,但接收方 Bob 却在另外一个区块链资产平台上,如果两个平台业务上相通且区块链平台具有跨链能力的话,就可以使 Alice 的资产在其链上销毁或者永久冻结,同时 Bob 所在的区块链平台确认 Alice 资产已冻结后,创建对等的合法的应收账款资产给 Bob。


这个过程的关键是要求 Bob 的区块链能“看见”且“认证”Alice 的资产状态,进而诚实履行创建资产的任务。


整个跨链过程可以看成一个原子事务,一旦 Alice 资产永久冻结后,Bob 所在的区块链就必须给 Bob 发行对等的资产。两条链上的状态需要在一定时间内达成一致,不能永久处在一个中间态,否则不能保障资产守恒以及不可双花等基本要求。


跨链需求的本质可以定义成这么一个跨链信息交互模型:链 A 上面的信息经过共识确定,可以安全可信地流转到链 B 中,链 B 可以认证信息,并且按照约定执行后续的跨链逻辑。

如何实现跨链技术

这就需要一种“可信连接技术”,能把一条链上的可信数据,真实可靠地告诉另外一条区块链上,中途能像区块链本身数据流转一样保证数据无法被篡改,那么两条链上的参与方就可以互信对方数据,就像是在一条链上一样进行可信的业务协作了。



要实现这个跨链模型,首要解决的核心问题是跨链消息的认证,常用跨链技术里可以使用「侧链机制」直接认证的,或者使用「公证人机制」间接认证;区块链间异构特性带来的数据结构差异,需要设计相关数据协议约定和引入桥接组件等方式解决数据差异性的问题;最后是完成跨链事务的设计,使得两条链上的状态能够安全达成业务的一致性,且该事务具有原子性。


现有跨链技术能力已经有多种方案去解决以上基本问题,使链与链之间具备基本的交互能力。但在面对实际的业务场景,还需要解决哪些具体问题,面向未来万链互联的技术愿景,跨链技术基础架构还需要完善哪些技术能力?来看蚂蚁区块链跨链技术交出的创新答卷。

蚂蚁区块链 ODATS 跨链协议设计之道

蚂蚁区块链 ODATS 技术愿景是为了超越价值流转的边界,构建跨链通讯基础设施,承载区块链价值互联网。ODATS 从实际业务场景出发打磨的商用跨链平台,从底层协议到高可用组件实现与业务编程界面有着诸多丰富设计,现在为大家解读 ODATS 在协议层不一样的几个重点设计要素,预览跨链核心。

跨链协议的安全性、适用性


异构区块链账本上的可信数据的数据格式、验证逻辑、验证信任根都是独立的,其规格可以通过区块链自身协议定义清楚,任意客户端包括另外一条链上的单位,原理上都可以直接认证。


但在实际跨链中更多存在中继者/公证人等角色做了一层“桥接”,桥接过程中完成原数据的安全认证、数据格式转化、数据重新声明等动作,本质上这些行为是一种「证明转化」:在不改变原有数据语义的前提下,进行数据格式转化、数据证明的转化、信任根的转化,以便于验证者安全简便地解析和认证跨链信息。


ODATS 把以上过程梳理成协议,即“证明转化协议”,使其可以清晰地去描述了流转跨链消息时数据格式验证规格以及数据语义的信任根和安全性。


设计这种协议设计有什么好处?


首要的考虑是安全性,“证明转化协议”将安全规格“量化”出来,这是跨链机制的核心,等同于区块链的共识机制,是业务评估其承载价值能力的最重要基础。


其次是适用性,就如同面向各式各样的实际的区块链场景,业务通常会根据场景情况使用不同的共识算法与参与方信任模型去构建出适用场景的信任边界以及安全度等维度不尽相同的区块链,当在跨链时,面向不同规格的区块链实例,也需要根据信任关系和安全等级去灵活构建跨链网络。

统一的分布式自治跨链身份


身份体系是通讯的基础,目前很多跨链解决方案中并未重视区块链身份体系的搭建,区块链跨链标识往往只能在局部跨链使用,跨链作为面向万链互联的基础设施,区块链身份体系将会是重要基础。


现在的开放的互联网的安全通讯里,已有一份健全且久经考验的体系:PKI 基础设施。开放的跨链互联网络有着与现有互联网一致的需求:开放、安全通讯、分布式自治,而不一样的点是该区块链证书的对象是一条链及链上对象,对于链的身份,这里涉及到如何开放地定义链的“唯一标识”,对于链上的对象,包括账号以及合约等,如何出域对外可验证。


业务引入了职能与 PKI 体系类似,而更轻量级且更具分布式自治及扩展性的“分布式身份”体系,设计区块链证书,描述区块链的唯一认证根以及其安全更新与公开吊销,让业务在由区块链组成的价值互联网里进行安全跨链,做到“有根可寻”且“安全可控”。

数据安全与隐私保护


隐私保护及数据安全是区块链面向实际场景的重要问题,而跨链流程往往意味着链上数据要面临隐私公开和数据要在安全域外不可靠流转等安全敏感问题。就如数据要上链就要公开被全网共识一样,貌似数据隐私安全天生就站立在跨链的对立面。但随着各类链上隐私保护方案的研究与落地应用,跨链要解决数据隐私安全问题也是面向实际生产场景的首要任务。


与“中继链”以及“预言机”等集中型的重型跨链中继解决方案不一样,蚂蚁区块链采用的是跨链路由形态。在联盟链场景中,这类跨链中继中心会是落地障碍,其引入了跨链两方外新的信任体和数据安全域,这让跨链协作的业务变得更为复杂的同时,中继中心也是数据安全的杀手。


跨链路由与证明转化协议以及身份体系结合,互联的两条区块链各自的安全信任域内各自部署“证明转化”的跨链路由,路由上可管控数据进出身份,数据可以按需出域,路由间通过 TLS 安全通道 P2P 直连,使数据直接到达信任的彼岸,实现跨链数据按需出入与传输可控。


以上解决的是跨链数据的物理隔离安全,其内容安全同样也存在需求,证明转化里还支持链下可验证/可信计算,支持引入 ZKP 和 TEE 等可信计算技术,完成跨链数据出域的同时,支持内容的隐私保护。


本文转载自公众号蚂蚁区块链。


原文链接


https://mp.weixin.qq.com/s/9OxlPUyeHak5Zkjo5HB9tQ


2019-12-25 14:002800

评论

发布
暂无评论
发现更多内容

2. Spring早期类型转换,基于PropertyEditor实现

YourBatman

Spring Framework 类型转换 PropertyEditor

谷燕西:不需要银行的银行业务

CECBC

移动互联网

第六周-学习总结

Mr_No爱学习

架构词典:语言

lidaobing

架构 语言

基于有限状态机与消息队列的三方支付系统补单实践

Java架构师迁哥

Redis 持久化方式-RDB

李尚智

redis redis持久化

Newbe.ObjectVisitor 0.4.4 发布,模型验证器上线

newbe36524

.net core ASP.NET Core dotnet

S型曲线不止关乎身材?|技术人应知的创新思维模型(2)

Alan

创新 思维模型

算法训练营课程纲要

陈皓07

第十一周作业

solike

Spock单元测试框架实战指南四 - 异常测试

Java老k

Java 单元测试 spock

警察营救安徽望江县17岁女生跳河自尽过程中,现场看热闹的旁观者们在做什么?

wbliu85

5种分布式事务方案与阿里的 Seata 中间件

Bruce Duan

分布式事务 seata

Windows下MySQL无法启动万能解决方案

MySQL从删库到跑路

MySQL

拆解增长黑客之实战(二):留存与变现

懒杨杨

读书 增长 产品运营

Redis 子进程开销监控和优化方式

李尚智

Redis开发与运维

「生产事故」MongoDB复合索引引发的灾难

Kerwin

数据库 mongodb

话题讨论 | 作为地地道道的程序员半年内都没摸过代码是什么样的体验?

xcbeyond

话题讨论

告别“效率内卷化”,华为用一年时间让职场人支棱起来

脑极体

国家计算机网络与信息安全管理中心官员:数字货币的风险仍需关注

CECBC

信息安全

Bitmap为什么那么快?

Man

redis 中间件

排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时

蚂蚁集团移动开发平台 mPaaS

小程序 问题排查 mPaaS

甲方日常 64

句子

工作 随笔杂谈 日常

报销发票抵扣工资的CTO,该不该? | 法庭上的CTO(5)

赵新龙

CTO 法庭上的CTO

数字经济跨越五个融合发展阶段,区块链正成为基础支撑结构

CECBC

数字经济

百篇已过,又是一个新篇章,谈谈感受吧

良知犹存

代码人生

第六周-作业1

Mr_No爱学习

生产环境压测建设历程之三 淘宝网2009年的痛

数列科技杨德华

读写分离这个坑,你应该踩过吧?

楼下小黑哥

MySQL 主从同步 读写分离

《Python深度学习》第二版重磅来袭——(Keras之父亲自编写)

计算机与AI

面试被问线程安全怎么保障,我的回答让面试官眼前一亮

996小迁

Java 架构 面试 多线程

揭秘区块链间的连接桥梁——蚂蚁跨链ODATS设计之道_区块链_Geek_d42ef0_InfoQ精选文章