深入了解各种智能合约平台

哈Ha! 我向您介绍了文章“ 深入了解不同的智能合约平台 ”的翻译。

我们生活在智能合约时代。 虽然比特币向我们展示了支付系统可以存在于去中心化的点对点网络中,但是以太坊打开了第二代区块链潘多拉盒,人们终于看到了分布式应用程序(Dapps)和智能合约的真正潜力。

在本文中,我们将介绍一种新的Cardano智能合约平台,并了解其区别。

在执行此操作之前,让我们先问自己一个问题。

什么是智能合约?


智能合约是自动化合约。 它们使用以某种编程语言编写的特定指令自执行,这些特定指令在满足某些条件时执行。

智能合约的哪些属性将满足在分布式注册表中使用的条件?

区块链上运行的所有内容均应保持不变,并且能够在不影响系统状态完整性的情况下在多个节点上运行。 因此,智能合约的功能应该包括三点:

-确定性
-能够按时完成
-隔离

功能1:确定性


如果程序每次向给定输入提供相同的输出,则该程序是确定性的。 例如 如果3 +1 = 4,则3 +1将始终为4。因此,当程序在不同的计算机上生成相同的输入数据集时,该程序称为确定性程序。

程序可以以不确定的方式运行时,存在以下几点:

-调用不确定性函数
-使用不确定性数据
-动态调用,因为被调用的函数或程序仅在运行时确定,所以调用本身是不确定的。

功能#2:能够按时完成


在数学逻辑中,我们有一个称为“关机问题”的错误。 她声称无法找到给定程序是否可以在一段时间内完成其功能。 1936年,艾伦·图灵(Alan Turing)使用康托尔(Cantor)的对角问题(Diagonal Problem)证明,无法找出给定程序是否可以按时完成工作...
显然,这是智能合约的问题,因为根据定义,合约必须能够按时完成。 有几种方法可以提供一种从外部终止合同并避免进入资源消耗合同的无休止循环的方法:

  • 图灵不完整 :有限的功能将不允许跳跃和/或循环。 因此,智能合约将无法进入无限循环。
  • 测量步骤和成本 :该程序可以简单地跟踪已完成命令的数量,然后在完成一定数量的步骤后即可完成工作。 另一种方法是计数器。 在这里,合同是预付的。 每条指令需要一定数量。 如果所支付的费用超过预付的费用,则合同终止。
  • 计时器 :如果合同在一定时期内不适合执行,则将其强制终止。

功能3:隔离


在区块链中,每个参与者都可以上传智能合约。 但是,合同可能在有意和无意识的情况下包含病毒和错误。

如果合同不是孤立的,则可能会中断整个系统的运行。 因此,隔离合同非常重要,以保护整个生态系统免受任何负面影响。 通常,使用以下两种系统之一执行智能合约:

  • 虚拟机 :(以太坊和新)
  • 码头工人 :(面料)

让我们比较这两者,确定是什么创造了最佳的生态系统。 为了简单起见,我们将比较以太坊(虚拟机)和Fabric(Docker)。

虚拟机码头工人
合同包含不确定性功能 ,数据仅限于区块链中包含的信息。 而且,动态调用本质上可以是不确定的。 可用数据是确定性的由于Docker的设计功能,系统依赖于创建确定性合同的用户。 不是最好的解决方案
以太坊使用“费用表”来完成合同。 合同的每个步骤都花费“汽油”,并且一旦执行成本超过预付款额,执行就会终止。Fabric使用计时器。 由于不同的计算能力,不同的节点可能具有不同的计时器,因此存在打破共识过程的风险。
良好的绝缘性能隔离度由Docker生态系统决定(隔离度不足)

因此,虚拟机为智能合约提供了更好的确定性,环境的完成度和隔离度。

我们研究了智能合约实施的一些功能。

我必须说,智能合约正在成为现代分布式应用程序的组成部分和必要组成部分。

以下是一些提供智能合约功能的区块链平台:

  • 以太坊
  • 依奥斯
  • 恒星
  • 卡尔达诺
  • 超级账本面料
  • 纹波
  • 波浪
  • Ergo平台

在以下文章中,我们将仔细研究其中一些平台的智能合约机制。

Source: https://habr.com/ru/post/zh-CN412803/


All Articles