论文 Towards a design philosophy for interoperable blockchain systems 的介绍和评论。有兴趣的读者可以使用超链接查看论文。

从前因为有了网络和互联网络,使得精心管理的计算机群能够相互通信。后来,人们将“i”改为大写字母“I”,将这样一种设计原则注入 Internet:要使得世界各地的设备能够进行互操作。和很多人一样,我经常思考网络和区块链间、以及互联网(the Internet)与我们叫做 'the Blockchain'(大写 'B')间的相似性。在今天所选的论文中,Hardjono 等人对该问题进行了深入研究,总结回顾了互联网设计理念的经验,并探讨了如何创建一个支持互操作性区块链基础设施。其中一些经验(方案)已经包含在 MIT Tradecoin 项目中。

我们认为,如果区块链技术想要成为未来全球商业和价值分布式网络的基本组成部分 ,那么它的体系结构也必须满足互联网体系结构相同的基本目标。

互联网设计理念

本文的这一部分来自 SIGCOMM 1988 “The design philosophy of the DARPA Internet protocols的摘要。DARPA (美国国防高级研究计划局)当时设想的互联网三大基本目标为:

  1. 生存性:即使单个网络或网关失联,互联网通信必须能够继续进行。
  2. 能够支持多种类型的通信服务(不同速率、时延和可靠性需求)
  3. 能够接入和整合多种不同的网络

此外,端到端原则 是确定功能职责分配的核心原则,解决了“到底是由网络来承担职责,还是由网络端点的应用程序来承担”的问题。一个经典的例子就是端到端加密,由于需要多方通信,端到端加密将责任分配到各个网络端点。

互联网是以自治系统(路由域)集合的形式组织的,通过对等协议连接起来。自治系统(Autonomous Systems, ASs)由合法实体持有并经营。全部路由器及相关设备在同一域名中具有唯一标识。域名间互操作通过网关进行(例如使用 BGP 协议)。

区块链设计理念

我们认为存续性问题与隐私和安全问题一样重要。因此,如果区块链系统和技术能够成为未来全球经济的重要基础设施,那么区块链系统间互操作性将是一个核心需求(不管在机器层面还是价值层面)

作者们定义的可互操作的区块链体系结构具有如下特征:

  • 由可区分的区块链系统组成,每个系统代表一个分布式数据账本
  • 交易可以跨多个区块链系统执行
  • 一条区块链中记录的数据,能够被另一个可能的外部交易以语义兼容的方式访问和验证

存续性是从应用程序级交易层面定义的:即使区块链网络(The Blockchain)中某些部分受损,交易依旧能够完成。

应用程序级交易可以由多个账本级交易(子交易)组成,并且可能涉及多个不同的区块链系统(例如,资产转移子交易,支付子交易以及税收子交易)。

(我们是否正在重塑 XA?)(校对注:XA 没准说的是 X/Open XA,一种分布式事务处理的规范。)

在扩展的区块链系统上确认子交易(Sub-transactions)对于用户应用来说是不透明的,就像在多个路由域上的数据包对于通信应用是不透明的一样。

在失败事件(the event of failure)中,针对存续性及区块链替代的概念提出了许多问题,例如,应用程序对单个区块链系统的功能和设计需要了解到什么程度、维护可靠性的责任应如何分配(例如,重发交易)。应该怎么处理智能合约因所在区块链系统无法被访问、因而无法调用或完成交易的情况?智能合约能够在区块链间转移么?合约当前所在的区块链信息是否应该对应用程序不透明(即,给每条区块链一个能够在整个区块链网络-The Blockchain-中有效的 “IP” 地址)?我们怎么知道何时会触发合约的链间迁移?

互联网的目标是支持具有不同需求的多种类型服务;而在区块链网络中,这一目标可被重新解释为支持具有不同共识算法、吞吐量以及延时特征的多种区块链系统。(我们可能还会增加安全性和隐私的特征)。

当涉及到需要接入多种不同区块链系统时,我们希望能够支持由不同实体操作(或发起)的跨链交易。在互联网中,最小假设(minimum assumption)是每个网络必须能够将数据报文或数据包作为最小通用单元传输。那么相应的,区块链的最小假设是什么呢?如何跨链引用数据?可以支持哪些匿名(针对用户和节点)组合?

价值(value)的概念位于区块链交易之上的一层(就像互联网将数据包的机械传输与数据包中包含的信息的价值分离开一样)。对于需要跨链转移价值(value)的应用程序族来说, InterLedger Protocol 提供了一种可能的方向。

Tradecoin

MIT Tradecoin 项目有许多目标,其中一个核心目标是开发一个可互操作的区块链系统“蓝图”(blueprint)模型,并且应用到多个使用场景中。

从本质上说,具有两种不同层次的互操作性:机械层互操作性、价值层互操作性(包括在人类世界中认为具有价值的结构)。“人类、社会、真实价值、法定货币、流通性、法律制度及条例有助于将价值(value)与区块链系统中流通的结构(例如,币,代币)相连接(绑定)……”两种层次视图遵循端到端原则,即将人类语义的价值(value)置于(外部)机械系统的网络端点。

法定信托(Legal trust)是一种将机械层的信托的根本技术与具有法律效力的债务和担保绑定在一起的合约。

法定信托(Legal trust)是连接机械层与价值层的桥梁。也就是说,技术信托与法定信托让真实世界的参与者可以量化和管理在机械层发生的交易风险,从而支持(在价值层的)商业信托。实现技术信托的技术标准化促进法律合约(也就是法律信托框架)的标准化,从而降低运营自治系统的总体业务成本。

(不仅如此,它还提供了企业在区块链上交易价值所需的信托)

Tradecoin 项目将单个区块链系统视为完全自治的,并通过网关连接它们。网关为跨域交易保证价值稳定性,可达性和交易中介。

为了支持可达性,网关需要能够解析标识符,并且提供类似 NAT 的功能,从而实现内部标识符与外部标识符间的转换。关于交易中介,在 Tradecoin 的设计中,网关似乎将扮演交易协调者(coordinators)的角色,并以独立的区块链系统当做资源管理器resource managers)。

由于区块链 BC1 和 BC2 需要授权访问,从一侧不能看到另一侧的账本信息,每条区块链的网关必须 “保证”交易已经在各自的账本上得到确认。也就是说,网关必须发布具有法律约束力的签名断言,并对于错误报告负责(有意或无意)。签名由某一个网关发出,或者由区块链系统中所有网关集体签名发出。

为了让以上流程顺利执行,有五个“可取的特征”:

  1. 交易初始化和接收的应用程序必须能够独立验证交易已经在各自的区块链上被确认。
  2. 无论选用何种网关选择机制,网关签名必须绑定。
  3. 在任意两条区块链系统间需要有多条可靠“路径”(网关集)。
  4. 标识符必须具有全局解释机制,以便始终可以解释为正确的授权区块链系统。
  5. 网关在域名内或域名间必须是可识别的(即不能匿名)。“网关必须能够相互认证,在它们的身份合法所有权或它们唯一代表的 'home' 区块链自治系统方面没有任何歧义。”

网关通过对等协议连接在一起:

关于区块链系统互操作性,必须指定类似于对等协议的概念:
(i) 定义两个区块链间跨域交易的所需的语义兼容性;
(ii) 确定具体所需跨域协议;
(iii) 确定所使用的委托和技术信托机制;
(iv) 定义对等服务法律协议(例如,服务等级,交易费,罚款,责任,担保)。值得注意的是,在 Tradecoin 互操作性模型中,区块链系统的网关代表了区块链的对等点(peering-points)。

在没有与区块链关联的明确定义的法律实体的情况下,上面的需求(iv)貌似是有问题的。

“互操作性迫使我们重新深度思考,在没有第三方(例如交易所)的情况下,有许可和无许可的区块链系统如何进行互操作。”


链接: https://blog.acolyer.org/2018/05/30/towards-a-design-philosophy-for-interoperable-blockchain-systems/

【转】互操作性的区块链系统设计理念相关推荐

  1. 互操作性的区块链系统设计理念

    本文为作者对一篇论文 Towards a design philosophy for interoperable blockchain systems 的介绍和评论.有兴趣的读者可以使用超链接查看论文 ...

  2. 通知|百度1+X区块链系统应用与设计职业技能等级证书(初、中级)线上师资普及培训班...

    NO.1 国家"十四五"规划将区块链纳入数字产业之一,产业实力持续快速提升,区块链人才成为推动产业发展的中坚力量 NO.2  区块链技术应用向电子政务.智慧金融.交通出行.工业制造 ...

  3. WDK_基于Fabric的区块链系统开发

    文章目录 摘要 一.Fabric环境搭建 1.1 安装docker 1.2 安装go 1.3 安装Node.js 1.4 部署hyperledger Fabric 二.Fabric的概念 2.1 逻辑 ...

  4. 区块链系统开发实现原理,区块链为什么叫区块链?

    区块链交易平台系统开发原理:"区块链使用强大的加密技术来维护虚拟安全,通过整体计算机的复杂数学运算机制来验证,删除与存储,区块与之前的区块相互关联,因此形成区块链." 区块链分为三 ...

  5. 这又是一则招聘贴——招聘区块链系统开发的同学

    大量招聘区块链系统开发正式员工和实习生,详情见大图,简历速速砸来.可以发送简历到图中的邮箱.

  6. 这是一则招聘贴——招聘区块链系统开发实习生

    大量招聘区块链系统开发实习生(包含前后端),详情见大图,简历速速砸来.可以发送简历到图中的邮箱. 

  7. 牛逼,一整套基于Java开发的的区块链系统(附完整源码)

    前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究,从各大招聘网站的区块链职位来看,薪资待遇都很不错,月薪30K到80K的都有, ...

  8. 区块链系统开发介绍模块

    区块链技术是当今新兴的一项技术,但这么说也不太妥当,因为十年前比特币的出现这项技术也随之诞生,但说其是当下很火热的技术是没问题的.区块链技术经过10年来的不断更新,终于在近两年都有了相关的应用落地,且 ...

  9. 基于Java开发一套完整的区块链系统(附源码)

    来源:https://blog.csdn.net/victory_long 前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究, ...

最新文章

  1. 教你如何运用python实现简单文件读写函数
  2. Python基础第19天
  3. .NET(C#)连接各类数据库
  4. ubuntu安装sublime
  5. java writeint_Java DataOutputStream writeInt()方法
  6. 拼多多api接口php算法,PHP 调用 拼多多 API 模板
  7. [Java] 蓝桥杯ALGO-11 算法训练 瓷砖铺放
  8. 固定资产分类(仅供参考 2005年),
  9. sql建表与gp建表语句
  10. Windows/Ubuntu搭建RTMP服务器+OBS推流+VLC拉流
  11. python发送文件_利用python传送文件
  12. 一个开源的 Markdown 在线编辑器
  13. 剖析 Microsoft.AspNetCore.Identity 的精髓 —— 前言
  14. Object-based superresolution land cover Mapping From Remotely sensed imagery
  15. 【解决方案 二十三】带单位的数值转大写人民币金额
  16. 【APP本地化】提高APP下载量的 5 个技巧
  17. 网站服务器内存性能监视异常波动,网站监视, Web架构监视, 服务器监视: Site24x7...
  18. 地牢猎手5服务器不稳定,地牢猎手5一些新人容易遇见的问题以及解答
  19. SSH基础:中间人攻击防范
  20. 数项级数——(三)一般项级数

热门文章

  1. 奇怪的小鸭子也增加了
  2. 20175208 张家华 MyCP
  3. 推荐 :这里有一份价值 7680 元的学习资料,要免费送给你
  4. oracle rfs进程过多,【DB笔试面试755】在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么?...
  5. windows安装sk-video模块
  6. 新版上线|能力中心打造全新视角
  7. C# 在Word文档中生成条形码
  8. 夏季必不能少六道凉拌菜
  9. discuz X2数据字典
  10. Flutter开发:给image设置圆角的方法