写点什么

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

评论

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

【Redis】位图以及位图的使用场景(统计在线人数和用户在线状态)

石臻臻的杂货铺

redis' 8月月更

电商秒杀系统架构设计

泋清

#架构训练营

赶紧收藏!!!我直接上瘾!百万人都在学的Docker

指剑

签约计划第三季 8月月更

湖北钠斯网络数字藏品交易系统

开源直播系统源码

NFT 数字藏品

C++面向对象友元,全局函数、类、成员函数做友元

CtrlX

8月月更

SpringMVC(一、快速入门)

开源 springmvc 8月月更

再迎巅峰!阿里爆款分布式小册开源5天Github已73K

冉然学Java

架构 分布式 微服务 java; 编程、

优雅地实时检测和更新 Web 应用

领创集团Advance Intelligence Group

Web Web应用

Arco Vue + Flask 手把手实战开发一测试需求平台

MegaQi

测试平台开发教程 签约计划第三季 8月月更

华为云弹性云服务器ECS使用【华为云至简致远】

IT资讯搬运工

弹性云服务器ECS

设计一个跨平台的即时通讯系统(采用华为云ECS服务器作为服务端 )【华为云至简致远】

IT资讯搬运工

云服务器ECS

兆骑科创创业赛事活动举办平台,投融资对接,线上直播路演

兆骑科创凤阁

面试官:Redis 大 key 要如何处理?

Java永远的神

Java 数据库 redis 程序员 面试

什么是低代码开发?大家都真的看好低代码开发吗?

优秀

低代码开发

有了国产 DevOps 工具 ,还怕数字化转型成本高?

飞算JavaAI开发助手

零基础培训学习大数据课程

小谷哥

web前端培训班哪个好选择

小谷哥

大数据培训课程哪个好呢?

小谷哥

Docker到底是什么,能干什么?这一篇文章全部给你解释清楚了

Java永远的神

Java Docker 程序员 面试 云原生

IT故障快速解决就用行云管家!快速安全!

行云管家

运维 IT运维 行云管家

国产堡垒机品牌哪家好?功能有哪些?咨询电话多少?

行云管家

运维 堡垒机 运维审计 国产堡垒机 堡垒机品牌

跟我一起了解云耀云服务器HECS【华为云至简致远】

IT资讯搬运工

云服务器

从零开始,如何拥有自己的博客网站【华为云至简致远】

IT资讯搬运工

linux 文件权限控制

直播卖货APP——为何能得到商家和用户的喜欢?

开源直播系统源码

软件开发 语聊房 直播系统 直播源码

兆骑科创赛事服务平台对接,海内外高层次人才引进

兆骑科创凤阁

leetcode 155. Min Stack最小栈(中等)

okokabcd

LeetCode 数据结构与算法 栈和队列

【Redis】redis安装与客户端redis-cli的使用(批量操作)

石臻臻的杂货铺

redis' 8月月更

基于微信小程序的幼儿园招生报名系统开发笔记

CC同学

客户案例 | 提高银行信用卡客户贡献率

易观分析

金融 银行 分析 客户

开源一夏 | 自己画一块ESP32-C3 的开发板(PCB到手)

矜辰所致

开源 硬件设计 8月月更 ESP32-C3

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