写点什么

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

评论

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

面试进阶必备:“阿里爸爸”高并发秒杀架构设计笔记(全彩版)

Java 架构 面试 程序人生 编程语言

Apache ShenYu源码阅读系列-基于ZooKeeper的数据同步

子夜2104

Java 网关 shenyu

(实战篇)漫游语音识别技术—带你走进语音识别技术的世界

攻城先森

深度学习 音视频 nlp 语音识别

模块六作业

Geek_fc100d

「架构实战营」

Spark 系列教程(2)运行模式介绍

Se7en

微博评论系统架构设计

guangbao

(mode4)千万级学生管理系统考试试卷存储方案

消失的子弹

架构 云原生

后端的另一种打开方式-路由还能这么玩~

Bob

微服务 后端 网络 服务 引航计划

7. 简单生成器函数,Pool 实现多进程程序,异常管理,浏览器版本帮助手册

梦想橡皮擦

10月月更

12道Zookeeper高频面试题,你顶得住吗?

Java 架构 面试 分布式 后端

不愧是阿里P8架构师总结的Java面试笔记,上线仅七天,Github标星55K

Java 程序员 架构 面试 后端

这份阿里P8撰写的面试笔记就是逊了!才帮助十几个人圆了大厂梦

Java 架构 面试 程序人生 编程语言

架构实战营 毕业总结和毕业设计项目

李东旭

「架构实战营」

让我薪资提升了个新高度!这份阿里核心教程:理解JVM垃圾回收器手册帮了我大忙!

Java 架构 面试 程序人生 编程语言

架构1期模块九作业

五只羊

架构实战营

2021年常见面试真题汇总,含了14个技术栈,已助我成功拿到腾讯offer!

Java 架构 架构师 java面试

40K成功入职:六年开发终获小米Offer(附面经+面试题+答案详解)

Java spring 程序员

安全逆向分析实战

网络安全学海

Linux 网络安全 信息安全 WEB安全 漏洞分析

引航计划|AI|优质合集手把手带你玩转AI

Nydia

AI 引航计划

【LeetCode】字符串中的单词数Java题解

Albert

算法 LeetCode 10月月更

太牛了!同事凭借这份Java面试题1000道手册(pdf)入职了阿里,定级P7

Java spring 程序员 架构 编程语言

(深入篇)漫游语音识别技术—带你走进语音识别技术的世界

攻城先森

深度学习 音视频 nlp 语音识别

华为大佬的“百万级”MySQL笔记,基础+优化+架构一键搞定

Java 架构 面试 程序人生 编程语言

如何评估一个软件的项目费用?

石云升

项目管理 管理 引航计划 内容合集 10月月更

手把手带你做好团队管理|引航计划|管理

石云升

团队管理 管理 引航计划 技术专题合集

《Go 开发指南》-管理 Go 环境

看山

Effective-go 10月月更

毕业设计项目

燕燕 yen yen

架构是训练营

靠这份GitHub star过万的1121页图解算法成功杀进字节跳动

Java 架构 面试 程序人生 编程语言

模块五作业

Geek_fc100d

「架构实战营」

金九银十一线大厂Java面试题大全(整理版)1000+面试题附答案详解,最全面详细!

Java 程序员 架构 面试 后端

这份笔记太牛了!手把手教你从零开始搭建Spring Cloud Alibaba!

Java 架构 面试 程序人生 编程语言

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