智能合约将如何在Insolar平台上实施
扫描二维码
随时随地手机看文章
智能合约已被视为引领未来的交易技术,但它们对区块链有何价值,以及它们如何在Insolar平台上实施?
什么是智能合约?
智能合约是存储在区块链上的代码,在执行时可以改变其状态并将结果存储到区块链中。 执行可以由外部事件或另一个智能合约触发,称为“呼叫”。 因此,智能合约可以被视为用户呼叫的程序或服务,以便与智能合约所代表的信息或能力一起操作。您可能已经从上面的解释中已经意识到,如果智能合约可以“随时随地”添加到区块链中,那么区块链可以实现扩展和定制以提供服务并进行以前不能实现的操作。 但在我们开始研究像Insolar区块链那样的可升级智能合约的可能性之前,让我们来看看前几代的智能合约。
智能合约的演变
事实上,正如任何其他区块链一样,比特币也有两种形式的智能合约:(1)内置逻辑,支持地址和交易的核心功能,(2)交易的特殊脚本,指定交易 可以添加到比特币区块链。
随着以太坊区块链的出现,智能合约的展现出另一个方面:区块链网络的行为和功能不受核心区块链开发人员的限制,并且可以由使用用户和社区添加和使用 新的智能合约。
以太坊的出现是一场革命,它引发了以太坊为中心的的许多发展。 除了揭示以太坊开发人员采用的原始方法的各种限制。例如保存代码与数据,复制代码,使用非行业标准,新虚拟机和语言等。
如何存储每个数据更改的完整代码?
随着更多交易的执行,流行的合约分类账不断增长,这使得与用户合作成本提高。 这是因为更多的存储空间成本更高,并且这些成本以合同执行的价格传递给最终用户。 此外,也存在用户不需要各个方面的代码,但是依然为它占用的存储空间付费。
虽然可以解决这些技术方面问题,但还有一些其他设计决策使得类似以太坊的智能合约解决方案的实际应用对于全面业务实施而言是有问题的。
例如:如果您的智能合约呼叫其他人的智能合约,您将对由于呼叫而发生的任何更改承担全部责任,包括所有已产生的费用,无论这些费用是由于故障还是错误引起的。 这意味着用户需要完全理解并对其所有操作负责。 从技术角度来看,这种方法清晰简单,但与我们日常生活和业务中的服务式方法完全相反。 当有人订购比萨饼时- 比萨饼的价格是在交付时支付的,并且没有必要了解整个生产周期,从意大利的番茄种植开始到最后的制作和工作时间政策到最后的交货快递。
这些问题是我们在创建Insolar区块链平台时已经进行了考虑
Insolar的智能合约
Insolar平台为智能合约提供了一系列可在不同情况下实现高效使用的独特功能。
首先,Insolar将智能合约视为“黑匣子”:合约不需要知道彼此的内容,除非他们互相通讯。 智能合约使用特定版本的代码,在使用中更新状态,并且可以接收和生成呼叫,而其代码和所有传入和传出信息都存储在区块链中。 这使Insolar能够使用不同的虚拟机来运行合同。 此外,对智能合约行为的再现性有严格的要求,在每次通讯(交易)的验证过程中都要检查。
当然,除非使用特殊类型的虚拟机,否则这不能提供100%的再现性保证,但它可以使用户和开发人员能够选择最适合他们的方式。
此外,Insolar提供了一些不同的机制来帮助开发人员和用户轻松定制智能合约以满足他们的需求:
●使用域的分层治理- 可以在域(特殊合同)中部署合同,并通过代码版本、访问策略、共识规则和存储要求接受对域的控制。
●智能合约的组成- 合同可以包括其他合同以重用其功能,但在某种程度上限制对它们的外部访问。
●复合合同的授权- 当智能合约允许将某些功能动态委派给嵌入式合同时,将使用组合的高级版本,这样可以动态升级现有合同的功能而无需更改代码,同时可以包含其他合同。
Insolar的目标是建立一个智能平台,使一切都是依照合约。 这意味着从内置函数到平台行为扩展的所有内容都可以作为契约访问和组织,具有相同的寻址和调用方案。 甚至外部集成也表示为特殊的智能合约,它声明了传入和传出外部调用的API 。
Insolar地址稳定
每个合同都保存在分类帐中并获得自己的地址,该地址在整个周期内都不会更改,并且由创建记录的地址定义。 智能合约状态的每次更改也会获得一个地址,但这些不被视为合同地址。
正如标准合同关系一样,各方不愿向公众披露所有细节。 因此,Insolar构建了其平台,以便智能合约代码和数据仅被披露给分配用于执行合同实例的节点。
可升级的智能合约
我们并不是生活在一个完美的世界中:正如立法需要随着时间的推移而修改或者法律中的错误被揭露,因此需要更新智能合同代码中的问题以解决问题。 因此,Insolar区块链的另一个特性是能够为智能合约启用代码升级。当智能合约的代码在区块链上发布时,还会发布升级它的规则(定义更改代码版本所需的内容)。 这些规则通常将升级决策委托给相关域(特殊合同),但域策略可以完全控制升级,例如,用户可以采取或拒绝升级合同的决定。 通过相同的程序,可以拥有不可变和防篡改的合同,并确保合同也只能调用不可修改的合同。
在Insolar使用中,我们不强制执行,但允许升级智能合约。 升级后的合同与现有法规一起发挥作用,允许法律授权的组织(如法院)纠正交易。 使用此机制可以轻松纠正错误,这意味着可以调整合同执行,并且无需回滚以解决问题。
协调智能合约
与所有智能合约一样,合约包含数据及其状态。 访问契约的简单方法是通过只读调用,其中可以同时为同一对象提供多个只读调用。 然而,一些操作可能需要改变状态,甚至跨多个合同协调状态变化,而每个合同都是“黑匣子”。 处理此问题需要许多数据库应用程序用来实现的各种排序和锁定技术。 这简化了合同创建,因为Insolar提供了更接近Insolar的基础架构,提供跨多个合同的分布式事务的透明支持,以及针对区块链的特定性质量身定制的隔离概念(例如“已验证”和“已完成”,而不是“已提交”)。
智能合约为区块链带来了巨大价值,但在之前的区块链中存在实施问题。Insolar智能合约为流程自动化领域引入了几项新功能,同时降低了成本并增加了交易隐私。 这些创新使Insolar成为最先进的区块链平台之一,并对其他区块链提供的智能合约进行了重大改进。