0

0

简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

DDD

DDD

发布时间:2024-09-04 21:02:07

|

1172人浏览过

|

来源于PANews

转载

过去半个月,op_net 与 arch 这两个比特币主网上的智能合约实现方案引发了较多的讨论。有意思的事情是,op_net 这个名字与大家熟悉的 op_cat 很像,都以「op_」开头,具有很强的、让大家认为这哥俩差不多的迷惑性。

所以,在开篇要和大家先提一嘴 OP_CAT。首先,OP_CAT 是比特币操作码,从去年开始有以「量子猫」Quantum Cats,也就是「大巫师」Taproot Wizards 的创始人 Udi Wertheimer 为首的社区力量一直在呼喊要「复活」OP_CAT。说是「复活」,是因为 OP_CAT 是本就存在的比特币操作码,但中本聪在 2010 年将该操作码因可能导致潜在的 DoS 攻击的原因给去除了。CAT 是「concatenate」一词的缩写,如同这个词的意思,OP_CAT 的作用就是允许进行字符串的连接操作,将两个字符串拼接成一个。

那么这个操作码如何使比特币实现智能合约?讲真的这真的非常抽象难懂,因此在这里我推荐有兴趣的朋友阅读来自另一位律动作者 Jaleel 的文章(「13 行代码助力比特币实现智能合约?读懂 OP_CAT 软分叉」)。在这里我想为大家快速总结的几个要点是:

OP_CAT 涉及到比特币网络的软分叉,而要走到这一步,首先需要 BIP-347 提案通过,目前该提案仅进展到整个提案流程的第二阶段「Proposed」状态。

在 BCH 和 BSV 上的 OP_CAT 已经复活了几年有余,但是相关的用例还是非常抽象。在目前的讨论中,我们几乎看不到特别清晰直接的、到底用 OP_CAT 能做出一个什么样的 dApp 这种程度的案例。

OP_CAT 不是一步到位的「解药」,复活 OP_CAT 更像是解除比特币智能合约封印的第一步。合理的期待是,如果 OP_CAT 能够成功复活,一些优秀的用例出现,随后又会继续讨论解锁更多的比特币操作码。我们可以先期待在激活了 OP_CAT 的 Fractal 上会不会有令我们耳目一新的创新出现。

而 OP_NET 实际上应该归为符文、BRC-20、ARC-20 这些「协议」一类。虽然它的名字也有一个「OP_」,但其实现方式和比特币操作码完全没有关系。

OP_NET

OP_NET 的框架大体上可以分为两个部分,首先既然是比特币主网的智能合约实施方案,那么比特币主网一定在整个技术框架中占据了一部分。可以说,比特币主网在 OP_NET 的技术框架中扮演的角色是「行为发起层」与「最终确认层」。而智能合约的执行与状态确认则是另一部分,也就是 OP_VM 和 OP_NET 节点共同组成的「执行层」。

简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

根据上面的技术框架图,我们可以简单地阐述 OP_NET 在比特币主网实现智能合约的流程。首先,部署 / 交互合约的用户从比特币主网发起交易,这笔交易的数据字段中会包含字符串「BSI」,使执行层能够嗅探到这是一笔 OP_NET 合约交互性质的交易。交易得到确认后,OP_VM 执行相应的合约操作并进行状态更新,交由 OP_NET 节点进行状态确认,最终将状态提供给比特币 dApp。而在比特币 dApp 拿到合约执行结果并进行相应动作后,也会将它们的动作结果提交到比特币主网上。

看到这里,您可能会有一种熟悉的感觉——这不又是链下索引器「链下执行、链上确认」那一套吗?确实有一丢丢相似。但是 OP_NET 有一个有意思的机制就是它实际上是「烧比特币」的。

简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

OP_NET 的交易费用由两部分组成,第一部分自然是作为一笔比特币交易最基本的比特币网络费用,另一部分则是 OP_NET 交易费,而 OP_NET 交易费又由执行费和优先级费组成,这两部分费用都是用比特币来进行支付的。OP_NET 交易费必须多于 330 聪以确保不会被视为「粉尘」(过小的 UTXO)而被节点拒绝接收,优先级费则使合约执行动作可以像以太坊那样拉高 Gas 以确保自己的交易被优先执行(OP_VM 可以对优先执行哪个动作进行排序)。

如果 OP_NET 交易费用大于 0.0025 比特币,就会有 330 聪被「燃烧」,多出来的部分则给到节点运行者当作奖励。所谓「燃烧」,其实有点像以太坊经常出现的打到合约地址里的钱取不出来的那种情况,因为 OP_NET 实际上用了一种特定类型的比特币交易「Taproot 脚本路径支出」将比特币地址抽象成了合约地址,这个合约地址是任何人都无法控制的,因此也就起到了「燃烧」的效果。

最后,我们结合这个项目的背景对这个项目进行一个小观察。这个项目背后的团队是 MotoSwap 的团队,不知道大家还记不记得 BRC-20 行情时曾经在 BRC-20 Token 总市值排到第三的 $OSHI,OSHI 是做应用的,后来团队发生过一些分歧,有一部分就转去 CBRC-20 上做了 Moto。OP_NET 本身虽然使用比特币作为协议交互消耗的 Token,但是它还内置了 OP_20 和 OP_721 这两个标准,所以也可以说,这个项目方的风格更偏向去年我们所熟悉的那种「新协议、新资产」风格。

Arch

与 OP_NET 不同,Arch 已经宣布拿到了由 Multicoin Capital 领投,OKX、Portal Ventures、Big Brain Holdings、ABCDE 等参投的 700 万美元种子轮融资。Arch 会有自己的 Token,既作为 Gas 费,也作为其 PoS 网络验证者的质押 Token。

也因此,Arch 的定位和 OP_NET 完全不同。如果说 OP_NET 至少在短期内还是更偏向「新协议、新资产」风格,那么 Arch 则完全是「建造在比特币主网基础上的智能合约层」,或者说,「比特币 1.5 层」。

简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

从上图我们可以大概地阐述 Arch 的工作流程。用户从比特币主网发起交易,Arch 节点嗅探交易并进行处理与验证,领导者节点则负责「区块事务」,即建立 Arch 网络的区块,另外还负责将最终确认的比特币交易提交回比特币主网。

看上去和 OP_NET 有点像?但其实如果仔细阅读 Arch 的官方文档,会发现他们在如何保证网络稳定性以及其它与「执行层」相关的技术阐述中要比 OP_NET 更详细一些。比如他们使用了「FROST + ROAST」的签名方案,使得 Arch 能够确保只要 51% 的网络成员诚实且合作,就可以签署签名来保证网络的稳健性。

最后,虽然 Arch 有自己的 Token 作为「执行层」也就是 Arch 网络的 Gas 费用,但是用户在通过 Arch 来进行合约交互的时候还是可以用比特币支付,费用转换会在后端进行。因此在使用上,Arch 不会出现需要另一套钱包这样的情况。

结语

OP_NET 与 Arch 技术实现上有一点点相似,总体上我们都可以说是把比特币主网当成了「发起端」与「确认层」,「执行层」则是他们自己。但这两个项目的定位却是风格迥异,前者是「协议」,后者是「比特币 1.5 层」。

当然了,比特币主网爆块时间过长的问题可能还是会限制二者发展出的 dApp 的效率,他们自身的执行和确认是足够快的,但是最终在比特币主网上的那个确认还是要看比特币主网的矿工们给不给力。尽管如此,我们都乐见比特币生态的不断探索,只有探索,才有发展。

最后值得注意的就是 Arch 的 Token 可能在明年的第一季度 TGE,因此如果未来推出相关的测试等活动,或是基于 Arch 推出的 dApp,大家有兴趣可以留心并且去交互。OP_NET 则没有什么好撸的,目前还是只能期待它上面跑出什么爆款 Token,但是现在整个生态的热度可能比较难支持 OP_NET 像过去 ARC-20 之类的协议一样跑出来。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6100

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

810

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1063

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1268

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

258

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

209

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1468

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

620

2023.11.24

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go语言教程-全程干货无废话
Go语言教程-全程干货无废话

共100课时 | 9.8万人学习

走进 ES6 新标准语法
走进 ES6 新标准语法

共15课时 | 1.5万人学习

韩顺平 2016年 最新PHP基础视频教程
韩顺平 2016年 最新PHP基础视频教程

共47课时 | 10.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号