随着“智能合约”一词渗透到集体意识中,我看到关于在恒星币Stellar上执行合约的能力的疑问有所增加。虽然文档中提供了有关恒星币Stellar智能合约的指南,并且有一些 博客 文章对此进行了探讨,但对于Stellar智能合约的实际功能以及它们在多大程度上可以发挥作用,仍存在很多困惑。用过的。
智能合约并不是新事物。实际上,自从自动售货机(和类似设备)问世以来,智能合约已经以某种能力存在。前提:我们可以利用协议,网络和技术来嵌入合同义务,从而无需大量的纸张和法律文书。
为避免在此处重新散布成百上千的智能合约解释,我将为您介绍尼克·萨博(Nick Szabo)于1997年撰写的概述该想法的早期著作之一:https : //nakamotoinstitute.org/the-idea-of-smart-contracts/
在这篇文章中,我不会教你如何编写Stellar智能合约,而是将解释它们是什么以及它们与以太坊智能合约的区别。
以太坊智能合约
大多数时候,当人们想到智能合约时,他们会想到以太坊,它实际上是考虑了智能合约而设计的。以太坊智能合约的功能有很多。最重要的两件事是智能合约编程语言,例如Solidity和内置在以太坊平台中的以太坊虚拟机(EVM)。简而言之,虚拟机的作用类似于实际的计算机。EVM为以太坊开发人员提供了一个链上环境来托管和运行其智能合约代码。作为用户,您可以通过向智能合约应用程序发送交易(附带一些指令)来与该代码进行交互,并且作为回报,智能合约会执行某些操作。
要知道和记住的重要事情是,以太坊智能合约被编写,然后在链*上永久部署和执行。换句话说,链本身封装了合同以及与之执行/交互的逻辑。大多数其他智能合约平台也是如此。
尽管此模型提供了大量功能,但与某些用例相比,它还提供了更多的边缘条件和复杂性。由于EVM的细微差别或对代码中安全机制的误解,诸如简单的托管合同或多签名帐户之类的错误可能无法解决。如果您尝试与可能也有其自身错误的其他智能合约对接,则此问题会进一步扩大。
智能合约的一个示例可能是拍卖不可替代令牌(NFT)。可以这样写合同,使每个参与者获得1个必须≥50美元的投标,并且最多20个人可以提交投标。最后,选择最高出价来接受NFT,其他所有人都将其钱退回。该合约将被部署到以太坊,基本上用户所要做的就是提交与他们的出价相等的交易。智能合约将通过拒绝低价投标,使用地址存储投标金额,确定中标者,分配NFT等来处理其余部分。
*为了简单起见,在这里避免细微差别。
恒星币智能合约
另一方面,Stellar没有智能合约语言或内置的虚拟机来执行代码,而是针对发送,存储和交易价值进行了优化。
取而代之的是,恒星智能合约(又名SSC)将具有各种约束条件的交易结合起来以达到最终结果。参考Stellar.org SSC指南,以下是可以组合以创建SSC的约束示例:
- 多重签名—多重签名要求多方在一个帐户上签署交易。您还可以分配签名权重和阈值。
- 批处理/原子性—批处理是在单个事务中包括多个操作的概念。原子性是给定一系列操作的保证,如果一个操作失败,它们都会全部失败。
- 序列-序列在Stellar上通过序列号表示。序列号可用于操纵交易,并确保如果提交替代交易,则某些交易不会成功。
- 时限-时限是对交易有效期限的限制,可用于表示Stellar智能合约中的时间。
简短的约束条件意味着与以太坊智能合约相比,SSC的范围受到限制,但是您仍然可以提出一些创造性的用例,例如代管合约,联合实体众筹,闪电渠道等等。您还可以使用所选的编程语言编写它们-限制错误和潜在攻击的数量。
SSC和以太坊智能合约之间的另一个关键区别是,智能合约的条件和逻辑是与恒星币分开创建的,然后在满足最终条件时作为交易提交给网络。作为恒星智能合约的参与者,您不是直接与链上的代码进行交互,而是同意交易条件。
例如,假设爱丽丝(Alice)想委托鲍勃(Bob)创作一件艺术品。他们达成协议,如果鲍勃能在30天内完成艺术品,爱丽丝将向他支付100美元,但如果花更长的时间,爱丽丝只需支付70美元。然后,Alice可以使用托管帐户,多次签名和/或时限的组合来构造针对两种最终条件的交易。然后可以将托管帐户的控制权交给受信任的第三方。一旦完成一件艺术品,受信方将与结束条件相对应的交易(是否在30天内完成)提交给网络。鲍勃(Bob)收到了他的资金,爱丽丝(Alice)仅因适当的终止条件而被收费。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。