多亏了unwriter的Neon Planaria和Bitbus库,比特币开发者现在有了一种简单的方法来将离线应用状态和挖掘节点同步。我们不仅可以根据块的高度进行排序,而且还可以对交易进行块内索引! 这就是我们在比特币之上建立完全图灵完整应用所需要的。 Planaria安全模型 1. 一致性/可用性:所有运行应用程序代码的服务器都可能在一段任意的时间内停止运行,但稍后仍然可以通过从最后看到的块中进行抓取来恢复。这意味着应用程序提供者可以优雅地退出并重新联机,而不存在一致性风险。可用性取决于为用户提供应用程序的经济动机。 2. 验证:任何人都可以启动应用服务器并验证当前状态。验证器首先获取应用程序代码,然后从第一个块中抓取应用程序,直到当前块的高度。这是一个线性时间验证方案,等价于在核心网络上挖掘节点,但是只有一个应用程序子集处于区块链状态。 3.法律:如果API提供者使用错误的合约状态进行欺骗,那么捕获它们并在必要时在法庭上提供证据就变得非常简单。因为所有的东西都来自于链上的磁带,所以没有办法“做假账”而不受惩罚。 CPU /内存插件 目前基于Planaria的应用程序,如twetch和bicomedia,本质上是比特币的硬盘扩展。这类应用程序能够从op return事件中刮取数据库或文件系统上的静态内容并为其提供服务。
GearSV的目标是为比特币提供无限的CPU和内存。如果可以使用与存储应用程序相同的属性对数据进行复杂的验证和任意操作,情况会怎样 ![]()
使用Web汇编虚拟机,我们可以将c++或Rust代码编译为WASM字节码。然后为底层方法生成ABI和Javascript接口。 ![]()
1. 编译合约以生成字节码和ABI。 ![]()
所有写入操作都是使用更高级的语义(指定op return中的约定、方法和输入参数)对链式交易进行的。Planaria节点会刮掉事件日志,并在方法调用链上出现时简单地按顺序运行它们。 ![]()
可扩展性 ![]()
对于纯粹基于WASM的合约,限制因素是内存。对于使用带有34字节地址的c++ std::map到32字节无符号整型的代币合约,我们可以在16gb的机器上实现大约2亿的余额。为了克服内存限制,我们可以将Web Assembly MemFS挂载到底层操作系统,并开始使用硬盘驱动器! ![]() —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
GearSV:比特币的智能合约
2019-07-18 不详 来源:网络