如何实现传统技术与Insolar区块链平台的互操作
扫描二维码
随时随地手机看文章
互操作性是指不同系统与其他系统协同工作的能力,而软件、技术和通信中的一个大问题是互操作性。 互操作性的实现将允许用户选择他们喜欢的系统,而不限制使用类似功能的其他技术通信的能力。 这已经成为区块链领域的一个大问题,因为有几个竞争平台没有考虑到与常规系统的互操作性,因此目前无法与现有IT系统共享数据。
互操作性:基础知识
互操作性不仅涉及数据是否在不同系统之间兼容,而且也涉及它是否可集成以及在不同系统是否可以相互连接。主要问题是如何连接能够读取彼此数据的系统,因此需要一种新的共享标准。互操作性意味着共享标准、促进创建与其他技术兼容的技术。互操作性实际上促进了技术的采用。当共享标准到位时,它使市场确信该产品正被其他人采用。目前,区块链平台的创建没有统一标准,也没有考虑与IT遗产的兼容性,特别是在企业界。这涉及从实施的共识模型到智能合约代码以及数据存储方式的所有内容。考虑到这一点,Insolar团队希望创建一个可与传统IT解决方案互操作的平台,尽管存在技术差异。
网络效果和可扩展性
设计可互操作的系统意味着更广泛的用户群可以利用该技术。 这是因为它阻止了专有软件的锁定,从而通过减少市场准入壁垒来增加竞争。 因此,通过互操作性的开放标准鼓励创新并促进技术的市场开发。反过来,这可能导致网络效应,因为软件架构可以变得可组合,从而企业可以选择哪种软件最适合给定解决方案,并相应地从不同供应商编译架构。
Insolar了解到,为了使区块链采用变得普遍,它需要能够扩展从而适应其他区块链和传统系统的用户。此类系统包括云提供商(如Microsoft Azure或Amazon Web Services),或现有且广泛使用的IT工具,如用于管理和自动化业务不同方面的企业资源规划软件。这不仅可以打击更成熟的科技公司的供应商锁定和市场支配地位,而且还可以促进企业采用基于区块链的技术,而这些技术以前可能对某个提供商的技术投入很大,但是在几个月或几年后发现它多余了。创建可与现有IT系统互操作的区块链的基础可以分解为不同的方面。一种是考虑通信中使用的语言和数据(显然是最简单的部分),另一种是考虑通信发生的较大环境,以解决区块链和传统IT系统之间的差异。
1. 沟通:语言和数据
通信归结为不同系统的不同部分如何使用称为协议的通用规则相互交互。 这通常通过呼叫和消息传递进行。 在传统技术和现有软件中,消息传递是基于服务的。 因此,互操作性是关于不同技术如何使用不同的消息传递系统相互通信和理解。 如果我们考虑一组计算硬件,则存在通信总线,计算机的不同部分(CPU,存储器等)通过该通信总线彼此通信。 在用于软件的消息总线中,有一种体系结构允许不同的应用程序进行通信和协同工作,但这也允许删除应用程序或添加其他应用程序,而不会导致系统崩溃。
可以通过互联网的工作方式看到不同协议交互的一个很好的例子。 四种不同的协议构成了Web服务器和Web客户端之间的消息传递互连的一部分:1)应用协议,2)传输协议,3)因特网协议,以及4)网络访问协议。 协议套件可确保信息的顺利交换,从而可以理解消息。
另一方面,数据格式涉及如何收集信息集以及数据所有者归于用户的非正式规则。 编译电子表格时,可以为每个列和行设置参数,从而设置格式。 这些规则由用户根据其特定需求和愿望任意设置,并且对于不同的数据集可以因用户而异。 与上面突出显示的电子表格示例一致,可以为文档或输入语言命名访问规则。
2. 沟通:范式
虽然数据格式涉及用户之间的数据组合规则,但范式涉及更大规模的规则。 因此,这涉及从发送数据的整个系统应用规则。 这些规则规定了交互是如何发生的以及基于什么基础,即如何检查请求和响应的有效性。 例如,会计范式可以参考由更广泛的权威机构为所有人设定的纳税申报的税法和方法。互
操作性如何在Insolar中发挥作用
在Insolar区块链平台上,不知道其他合同的内部运作情况,就会调用其他合同。 这意味着它比其他区块链平台(如以太坊)花费更少的精力,因为完整的代码不会随着每次数据更改而存储。 在Insolar区块链平台上,每个合同都是个人的黑匣子,只有相关的数据共享,就像人类的思想和沟通一样,我们分享我们想要分享的信息,同时将自己的想法留给自己。
可以通过两种方式与外部传统系统共享数据:
· 双向交换
在Insolar,一切都基于合同,这意味着平台的每个方面都是合同,它们都相互通信以共享相关的信息/数据。 为了与Insolar区块链平台外部的传统技术互操作,可以创建一个特殊的智能合约。 此特殊合同与Insolar平台一样正常,但为外部各方提供连接的API。 合同与外部系统交互,并充当向某个节点集发送消息和从某个节点集接收消息的网关。
· 观察者系统
传统技术与Insolar区块链平台可互操作的第二种方式是通过单向消息接收。 在这种情况下,外部系统无法看到区块链网络,但可以通过特殊服务器注册更新。 这样,传统系统观察到区块链平台的某些更新,并复制由某个智能合约提供给它的数据。 特定网络节点上的某个智能合约被指定为可观察的。 在这种情况下,观察者无法将数据发送到Insolar区块链平台,而只能接收单向更新。 观察者系统例可作为储备数据库。
如上所强调的,每种机制的使用取决于区块链网络所需的交互,这意味着可以根据用例使用不同的方法。 如果Insolar区块链平台充当应该在更大的业务流程中考虑的事件源,而不改变流程本身的内部方面,那么观察者系统是理想的。
在Insolar积极参与所述业务流程的过程中,必须采用积极的双向模式。 在这种情况下,使用类似oracle的API意味着数据不仅可以从外部读取,还可以在外部创建并写入区块链。在Insolar,我们设计了我们的区块链平台,从头开始将互操作性作为主要和基本方面。 我们知道,为了使区块链普及,数据和业务环境必须与现有系统交换,为此,需要有一种通用的方法,通过这种方法可以在区块链平台之间共享数据。 使用一套基于标准的工具和机制的集中式数据库。