前天(2020-6-22)在Twitter上看到一篇论文,读了两天读完了,觉得很有趣。简单分享一下。
这个币没啥用啊,仅仅是因为有趣,发现在BCH的脚本引擎能够开发出这样的功能,我觉得很有趣。同样的功能,我觉得在ETH这一类带虚拟机的链上实现是非常简单的。MIST目前看来是没啥用的,但我也觉得整体上整个币圈现在干的事,多数是没啥用的。
MIST:可挖矿SLP代币
这个币叫MIST,是基于比特币现金SLP协议发行的一个代币。
一般来说,发行代币都是由某个铸币地址一次性或多次发出来了。
MIST的特殊之处在于其发行规律是按挖矿算法来发行,类似于比特币挖矿的coinbase奖励。而且是一个开放性的挖矿,即任何人都可以参与挖MIST。这是在模拟PoW币的发行。
PoW的挖矿算法一般会设计成固定的发行速率和减半规则,比如BTC的平均10分钟一个块,一个块产生50BTC,然后每挖约4年就产出减半。为了实现固定的发行速率,需要设计一个难度值来平衡挖矿算力大小,和平衡出块速度。
在ETH上的ERC20代币的发行有一个经典的案例EOS-ERC20代币。EOS-ERC20的发行是每23小时固定派发200万个,按充值到EOS合约的ETH数量进行均分这200万个代币。
MIST的发行,是一个基于BCH脚本引擎写的合约。它现在有四个版本,分别实现四种发行方式。
V0版本是一个固定挖矿奖励,没有减半设计和难度算法。
V1版本是带有8个减半事件的设计,没有难度算法。
V2版本是在V1版本的基础上加了难度算法。
V3版本还没开发完,在V2版本的基础上增加了多币种挖矿(原文是增加了p2sh输出),看起来是可以同时挖MIST和某种形式充值的BCH。
这个V3版本,我猜测就是和EOS-ERC20发行的合约类似。即可以允许用户给合约地址充值BCH来购买MIST。(这仅仅是我的猜测,原文作者也没写明白这有啥用)
从这四个版本的设计来看,MIST是一个纯粹的实验项目,原论文的作者也写明白了就是为了研究BCH-SLP协议的玩法。
MIST最终的发行总量是2100万。
作者把挖矿程序发布出来了,任何人都可以下载并参与挖MIST。我自己研究了一会,但没搞明白怎么挖。
作者的另外两个重点
MIST论文的作者除了说明MIST这个币外,我看他的原文他还是想重点介绍另外两个技术:一是基于BCH设计有状态的智能合约;二是如何突破BCH脚本的520字节的限制,以构建更复杂的智能合约。
MIST的挖矿算法具体如何,我看不懂这些程序和代码。昨天委托了两个朋友看这个程序,目前还没有得到反馈。
论文作者只是强调了这个挖矿算法是如何使用两个操作码OP_CHECKSIG和OP_CHECKDATASIG来实现有状态的合约。
比特币因为采用的是UTXO机制的原因,虽然脚本引擎理论上可以开发出复杂的程序,但因为UTXO只有花费和未花费两个状态,所以币圈开发者认为很难在BTC和BCH这些链上开发出有状态的合约。而以太坊则非常容易创建。
作者还有另外一个重点,就是如何突破BCH脚本的520字节的限制。
如果想在BCH上写出复杂的链上合约,毫无疑问是要突破520字节的限制的。作者介绍了如何使用OP_CODESEPARATOR操作码来实现突破。
这些细节都太复杂了,我也只是看一个热闹。
两个反思
如果说在2016年前,ETH还是BTC的学生,而在2016年的ICO热潮后,BTC以及后来的BCH,都是拿ETH作为榜样来发展智能合约。
BTC之前炒的比较火的侧链概念没有成功后,现在基于闪电网络和Liquid试图在智能合约这一个领域抢夺一些市场。但我感觉BTC社区并不重视这一块。
BCH则重点是在开发脚本引擎的潜力,以试图瓜分一部分智能合约。MIST实际上就是一个BCH开发者在BCH智能合约上的尝试,一个BCH智能合约的实际案例。
但看过ETH上的多个智能合约,如EOS-ERC20,以及现在火的MakerDao,compound,这些超级复杂的智能合约。我就一直在反问,在BCH上发展智能合约,有竞争力吗?
这个问题,引出了我另外一个反思。
如果我是一个开发者,我感觉我应该不会去在BCH上开发智能合约,我更愿意选择ETH平台。为什么这群老外还在坚持。
你看国内在2018年,还有虫洞和哥白尼这样的项目,但现在都烂尾了。
因为我一直跟踪了一些老外BCH开发者,我发现他们没有跳槽到ETH,就一直在BCH上做这种难度极高的尝试。
我很佩服这些老外看不到短期收益,坚持在BCH上做研究。我有一次在Slack上问几个BCH开发者,我问他们有这么高的水平,为什么不学习BM去多发几个币,或者在ETH上搞智能合约去挣钱?
他们也没有给出很好的回答,他们也说是为了挣钱,只是他们觉得他们的做法是更能挣钱。
我其实挺佩服老外这种精神的,我感觉他们人又少,钱也比我们中国人少,但他们更有这种挑战高难度的事的精神。
MIST论文链接:https://mistcoin.org/