卡尔达诺展示了用于智能合约的EUTXO模型

  • IOHK已发布了有关Cardano的新扩展UTXO(EUTXO)模型的论文。
  • EUTXO模型将在Goguen阶段为Cardano的智能合约奠定基础。

负责开发Cardano(ADA)的公司Input Output Hong Kong(IOHK)最近发布了形式化的正式协议,该协议将在Cardano的下一个开发阶段(Goguen)中实施智能合约。Cardano目前处于Shelley的第二阶段。Shelley提供了放样功能,旨在为网络分散化打下基础。

第三阶段,Goguen,将增加基于Cardano开发智能合约和去中心化应用程序(dApps)的能力。新论文的发布是Cardano智能合约语言Plutus使用的模型的形式化,该模型自2018年12月起在测试平台上可用。

卡尔达诺混合使用比特币和以太坊的分类账模型

两种领先的加密货币比特币和以太坊使用两种不同的分类账模型,分别称为UTXO模型(Bitcoin)和账户模型(以太坊)。正如IOHK在论文中写道,这两种模式都具有特定的优势,这就是为什么Cardano会同时使用这两种模式。

原则上,以太坊的账户模型更适合于启用智能合约。另一方面,比特币的UTXO是一种语义模型,在复杂的分布式环境中保持简单,并且需要较少的资源。因此,IOHK设计了扩展UTXO(EUTXO)模型,它是比特币UTXO模型的扩展。

对于比特币,每笔交易都基于输出和输入的概念,即某些BTC数量的表示。对于交易,选择各种输入形式的比特币并将其形成输出。因此,比特币的输出不是单个数据字节。取而代之的是,该算法会提取多个比特币,以满足输出要求。例如,来自BTC的交易(输出)可以采用3个输入(0.3 BTC,0.3 BTC和0.4 BTC)的形式。更改将发送到UTXO数据库。

卡尔达诺的研究人员解释说,尽管该模型“与区块链的并发和分布式特性很好地结合在一起”,但是它在可编程性上有严格的限制,这使得它对于大多数智能合约来说是不切实际的。相比之下,以太坊基于账户的分类账允许进行复杂的计算,但必须引入“共同状态”,即对所有交易和合同的集体记忆。该文件指出:

然而,由于val-idator概念所实现的可编程性有限,通常对UTXO模型(尤其是比特币)进行了批评。特别是,以太坊基于账户的分类帐和相关的合同账户概念是由克服这些限制的愿望所驱动的。

不幸的是,它是通过引入共享可变状态的概念来实现的,这使合同代码的语义大大复杂化。特别是,合同作者需要了解引入安全问题的这种语义风险的微妙之处。

这就是为什么卡尔达诺的EUTXO模型更好

卡尔达诺的EUTXO模型可在多个交易中执行智能合约。每个交易输出将具有一个数据字段,该数据字段可以包含与特定智能合约相关的任何信息:

第一个变化是,我们允许事务输出携带带有验证器的数据值,该数据在验证期间作为附加参数传入。这允许合同携带某种状态(数据),而无需更改其“代码”(验证器)。我们将使用它来承载状态机的状态。

此外,该系统确保给定的输出链使用相同的合同代码-一种称为合同连续性的概念:

6 Chakravarty等人。第二个变化是验证器收到一些有关正在验证的交易的信息。此信息作为typeTxInfo的附加参数传入。附加信息使验证者可以比裸UTXO模型强制执行更强的条件-特别是,它可以检查当前交易的输出,这对于确保合同的连续性至关重要。

第三个变化是,IOHK通过“为交易增加有效期”“将允许一些时间”。

尽管目前正在并行开发Shelley和Goguen,但对于这两个阶段,尚不清楚何时转移到Mainnet。最近,查尔斯·霍斯金森( Charles Hoskinson)表示,雪莱(Shelley)应该在2020年第一季度完成。根据卡尔达诺(路线图)的路线图,戈根(Goguen)也应在2020年完成。但是,由于卡尔达诺路线图的延迟,发布日期仍然不确定。

本文链接地址:https://www.wwsww.cn/ada/3142.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。