智能合约开发平台sCrypt Inc.已经消弭了比特币合约比起其他目前流行的平台(如以太坊和EOS)具有更多限制的说法。在一篇详细说明如何编写和运行复杂合约的帖子中,该公司表示,比特币脚本是“可极度扩展、多面向且未来导向的”,同时可“无限”扩容。
比特币一直以来的设计旨在运行智能合约
数字/区块链行业的一个普遍迷思是,比特币无法运行以太坊和其他加密货币“旨在”处理的复杂智能合约,或者智能合约从来不是比特币最初目的的一部分。
与之相反,SCrypt创始人兼首席执行官刘晓晖(Xiaohui Liu)表示,任何认知的限制都源于开发者对比特币的全部功能缺乏深入理解,或者对比特币的替代版本(如BTC)施加的人为限制。此外,以太坊甚至试图通过尝试在链上执行复杂的计算而存在根本性缺陷,这可能阻止它扩容到企业级要求,并带来一些安全风险。
比特币的设计,不在其交易输出中运行“图灵完备”脚本,这主要是它不同于以太坊的地方。但是,开发人员仍可以使用链下代理创建图灵完备流程进行计算,并使用比特币账本作为“讯息显示带”来存储其结果。尝试在链上执行实际计算给交易处理器带来了巨大的负担,而这是以太坊最常遇到问题的地方(接下来还是会发生)。
智能合同中的“状态”
在《Medium》发布的一篇帖子中,刘晓晖详细介绍了“在比特币智能合约中维持状态的一般机制”。状态在自动化智能合同中是必要的,因为它们记录了随时间变化的情况/阶段的细节,这些变化决定了最终结果。在商务和法律中,这可能包括任务是否已执行或是否已付款,或缔约各方之外的世界已(或尚未)发生的任何其他事件。最终结果会因这些结果的复杂组合而异。想想看保险、赌博、遗嘱、房地产和其他重大交易、选举/投票、财产所有权等等。
刘晓晖表示,每笔比特币交易包含“锁定”资金的输出,以及一些未来的输入,如果履行了合同义务,这些资金将获“解锁”。在简单的金融交易中,输出和输入检查一方是否有权发送或接收比特币。智能合同需要检查合同义务是否按照其原始条件履行。
开发人员可以通过在锁定脚本中将数据(有关当前状态的信息)与代码(程序的实际功能)分开记录不断变化的状态,回显对象编程中使用的技术。脚本的“代码”部分不可更改,而“数据”部分则可以,但只能根据代码为状态转换设置的规则。
这样做可以保持多个交易中不断变化的情况的当前状态,这是运行智能合约不可或缺的。有关更详细的技术描述和示例,可在此处阅读刘晓晖的帖子。
sCrypt 和比特币的全部潜能
sCrypt Inc.鼓励更多的开发人员在比特币上破旧立新,尤其在智能合约方面。它提供了一个集成的开发环境(IDE)和一个和比特币的原生脚本语言更为接近的语言接口。比特币开发平台与一些工作量证明竞争币(包括莱特币和鲜为人知的“比特币-sCrypt”区块链项目)使用的“sCrypt”算力功能无关。
此开发平台于2019年10月在CoinGeek首尔首次推出,其旨在使程序员和企业更容易访问比特币一些更复杂的功能。比特币的Forth式脚本语言本身(简称“脚本”)对于没有经验的人来说可能既复杂又困难,刘晓晖表示,这在历史上对比特币创新来说是一个障碍。
只有在BSV上才能释放比特币脚本的全部潜能,这有赖于其无限的交易区块规模和全套的脚本功能。BTC尤其削弱了比特币作为智能合约平台的效用,它人为限制了交易区块规模,并弃用了中本聪的一些原始功能集。
BSV于2020年2月通过激活比特币v1.0.1(又名“创世”)移除了这些限制。