解读“石油币”背后的NEM区块链核心技术: On Chain vs Off Chain
Ethereum可以看作更为本质的对于商业模式的颠覆(disruption),而Nem则是更快上手的对于现有商业模式区块链化的补充(tinkering)。
委内瑞拉这个读起来舌头要绕好多圈的以恶性通胀(hyper-inflation)闻名于世的国家上周发布了他们的ICO project—Petro。扒这个ICO的project已经层出不穷了,最直白的一句评价是:
委内瑞拉发行了一种永续的零息债券,这种债券的价值和石油的价格挂钩,可以用来在委国交税,但是委国政府不会还债(赎回本金)
perpetual zero-coupon unsecured debt that could be used to pay taxes in Venezuela at a valuation pegged to the price of oil, but that Venezuelans wouldn't be able to buy that debt.
(Bloomberg)
这出闹剧之中我的关注点却放在了Petro发行所依托的系统上,不同于发言人一开始声称的Ethereum,其实这是一个建立在Nem这个系统上发行的。我看了一下,发现正好Nem的体系可以帮助我解释一下On Chain和Off Chain的概念,于是有了此文。
On Chain VS Off Chain
On chain transaction就是我们通常所指的transactions,也就是包含了交易、确认、记录和发布到整个Blockchain上面的这一个过程。这是在“去中心化”这个大背景下,在交易各方保持最少限度的信任的情况下,保证交易的发生和可追溯的一种方式。
而Off chain是怎么回事呢?用最最简单的方式说,比如A有两个比特币和一个对应的私钥,A需要付比特币给B的时候,AB两人没有选择在公链上记录下这一笔交易,而是采用了A直接把私钥给B的方式。也就是说,在这笔交易结束的时候,我们在公链上看到的比特币持有人依然是A,但此时持有私钥的人变成了B,于是相当于B持有了这些币。
我们可以看到这种方式可能是有问题的,如果A还保留了自己私钥的副本怎么办?于是这种off chain的方式需要建立在双方有一定程度的信任的前提下。
Off chain的好处也是显而易见的:
1. 成本更低
2. 更加可以规模化(scalable,提高单位时间交易的数量)
NEM
好,下面让我们回到Nem,和其他的Crypto相比它有什么不同?这里我重点把它和Ethereum做比较,因为他们都是试图建立一套让其他的应用可以依附于其上的体系。
NEM Smart Asset System
我在很久以前一篇关于Ethereum的文章《应用币AppCoin是怎么运作的?》里面写过,Ethereum最大的好处就是Programmable Smart Contract,大大的增加了它的想象空间和应用场景。NEM里面这是通过一套Smart Asset的系统实现的,用做比较的方式简单地说一说它最重要的几个成分:
1.Mosaic-货物(items),这可以对应任何一种你想得到的产品:一种你想要发行的币,一段音乐,一点股票etc
2.Address-集装箱(Containers),用来存放货物,他必须是唯一的(unique)
3.Name Space-私人的仓库/码头:你个人的在Nem这个系统中的工作空间,用来放集装箱。一个人可以有很多的project,都对应到你的name space里面
4.Transactions
所以不同于Ethereum的on chain smart contract,NEM最显著的区别就在于采用了Off Chain Smart Contracts。
On Chain components
1.注意到这里的Smart Contract虽然是Off chain的,但是Smart Contract运行的结果是会返回到NEM的blockchain里面变成一个Immutable Records(不能更改的记录)的。
2.On-chain multisig feature(多重签名)。这个也可以说很长,这里就理解成一个箱子有三把钥匙,需要至少两个把同时在场才可以打开这个逻辑就好。
正因为Off chain和on chain的使用,Nem不仅兼有稳定透明(有所牺牲)以及速度快成本低可以规模化的优势,还有一个巨大的优势就是门槛低(User Friendly),具体表现在:
1.API:不同于Ethereum必须通过byte type来编程,NEM有一个非常user friendly的API系统,可以使用常用的编程语言调用。
2.Templated design(样本化设计):甚至如果你不会编程都没有关系,Smart Asset提供了非常简单的模版帮助你只要输入一些基本标准(attributes)就可以开始一个项目,比如一个ICO(所以我觉得看到建立在NEM上面的ICO项目也要插上一个小旗子表示警示⚠️)
NEM目前的use case还是挺广泛的,主要集中在金融、身份认证、ICO(不太看好)和供应链方向。
关于NEM和Ethereum到底哪一个更好的争论呢?主要还是看自己的项目需求。
Ethereum可以看作更为本质的对于商业模式的颠覆(disruption),而Nem则是更快上手的对于现有商业模式区块链化的补充(tinkering)。