产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

揭秘区块链间的连接桥梁——蚂蚁跨链 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:002429

评论

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

Flink获取kafka中每条消息对应的topic

shengjk1

flink kafka flink 消费 kafka 获取 topic等信息

死磕Java并发编程(1):探究Java并发机制的底层原理

Seven七哥

Java Java并发 并发编程

我从来不在朋友圈晒投资人合影,却融了很多钱

邓瑞恒Ryan

高效工作 人脉 职业规划

国内10大前端团队网站

bigezhang

技术 大前端

当我们在说5G网络安全的时候,究竟在说什么?

石君

5G 5G网络安全 5G安全 网络安全

Fire Fast 再深一层的是什么?

树上

管理 考核 Fire Hire 用人

如果明天没有恐惧——两小时看完余欢水后想到的……

伯薇

个人成长 心理学 小说 恐惧

Java中的Stream用还是不用

孙苏勇

Java 流计算 程序设计 性能

机房运维需要了解东西

Spider man

Idea工程启动时报错:Command line is too long

玏佾

intellij-idea

Windows环境MySql8.0忘记root密码重置

玏佾

MySQL

程序员陪娃看绘本之启示

孙苏勇

程序员 生活 读书 成长 陪伴

Arduino 蓝牙遥控+超声避障小车

黄耗子皮

树莓派 极客

2020,这个世界会好吗?

IT民工大叔

读书笔记

聊聊:Java

谢烟客

Java 编程 开发者 随笔杂谈 「Java 25周年」

像黑客一样思考

Fooying

黑客思维 黑客 安全攻防

给业务线的总经理多交代了几句

霍太稳@极客邦科技

创业 效率 团队管理

复用到何种程度

孙苏勇

Java 程序设计 复用 面向对象 抽象

媒体的经营 01 | 媒体/内容行业投资分析的维度

邓瑞恒Ryan

创业 内容 重新理解创业 媒体 投资

一篇文章搞定 java 中的 path 和 classpath

shengjk1

Java classpath vs path classpath path

回“疫”录:开篇

小天同学

疫情 回忆录 现实纪录 纪实

Scrum vs Kanban,如何选择

TerryLee

Scrum Kanban 敏捷开发 Worktile 研发管理

阿里面试,一面就倒在了Java内存模型上?赶紧来看看

Seven七哥

面试 Java并发 内存模型

极客父母送给孩子的 ABC Book 就是这么 GEEK

魏彬(rockybean)

GEEK BOOK

一文搞定 equals 和 hashCode

shengjk1

Java equals vs hashcode

三点思考,判断一家公司是否值得加入

邓瑞恒Ryan

高效工作 个人成长 职业

关于Iterator和Iterable

shengjk1

Java Iterator和Iterable

破解 Java Agent 探针黑科技!

谭建

Java JVMTI APM Profile

你不必读完一本书

池建强

学习 读书

公司大了,人多事杂,如何落地项目制?

树上

项目制 落地 公司管理 业务线 考核

一个值得推荐的人才测量标准

Selina

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