新一代加密货币Grin和MimbleWimble区块链解析

在熊市寒冬中,一个名为Grin的新加密货币主网在今天上线了。

看到国外的Telegram社群在谈论这个新货币还有MimbleWimble谈得很凶,我花了一些时间整理目前所看到的可靠资讯,让大家理解这个新一代的区块链和建立在其上的一个重要应用:Grin 。

MimbleWimble

MimbleWimble是个专注在于可替代性、隐私性与可扩展性的区块链协议,他缘起于2016年7月,有位化名为Tom Elvis Jedusor的人在IRC channel #bitcoin-wizard上提出了一种新的方式,来解决比特币和区块链社区所面临的隐私以及可扩展性的问题。而Mimblewimble的起源据说是来自哈利波特,就是一个念了让人说不出话的咒语。

在Tom Elvis Jedusor的白皮书中,他说到了比特币现存的问题:

比特币是第一个广泛使用的金融系统,所有必要的验证系统状态的数据,都可以由任何人以密码的方式来进行验证,的问题在于每个想要检查的人都必须下载完整本交易帐本,其实对于想要加入节点的人而言是件比较吃力的事情。
因此,如果我们负责查帐的人只需要检查总输入和输出的数据,那就轻松多了,但在比特币的架构下,这个问题很难被解决。同时帐本中其实仍然会曝露很多个人的资讯,例如发送方、接收方的地址以及传送金额等在公链上大家都看的到,这使得隐私这件事其实受到挑战。

后续Greg Maxwell等BitcoinCore的专家又继续针对这个议题提出了"CoinJoin"和“confidential transactions”等专案去延伸这个议题。MimbleWimble最后开发出了解决"隐私泄漏"还有"需要加载大量不必要资讯"等问题的新区块链协议,并且确保两个不让货币崩溃的条件:

一、能够验证接收的币的数量与发送的币的数量相等

二、我只能从自己的银行帐户转帐给我要的人

MimbleWimble透过了椭圆曲线加密技术(Exploring Elliptic Curve,ECC),他们成功了隐藏了交易双方是谁,并且能够验证所有权;同时,也透过了ECC隐藏了交易金额,并且确定了发送的币和接受的币价值相等。椭圆曲线的示意图如下,虽然椭圆曲线很复杂(有兴趣深入研究的可以看官方推荐的文件,或者之前CryptoCow有篇好文 ),但其实概念很简单: 

那就是要乘出两个数的积是多少很容易,但看到一个数要拆解成唯一两个乘他的数却很困难

(k+j)*H = k*H + j*H

在ECC中,我们如果选择一个很大很大的是数字k作为私钥,而k * H作为相应的公钥,我们难以推导出k,在上面的算式中k和j都是私钥。当然这是简化的概念,但透过这样的方式,我们能够用未知数去隐藏信息,同时要破解也相当困难。透过这个应用MimbleWimble解决了隐藏交易值和双方地址,方法如下:

隐藏实际交易值:等式平衡

Pedersen Commitment是他们用来确保交易值正确,同时能够隐藏金额的方法,他们的方式是利用椭圆曲线,外加一个来捣乱的很大很大的数字来让交易数字不被交易双方以外的人发现,在一个MimbleWimble交易中,总共会有两个Pedersen Commitment,一个用来纪录进入交易的货币数;另个则用来记录交易输出的货币数

算式如下:

(ri1*G + vi1*H) + (ri2*G + vi2*H) = (ro3*G + vo3*H) 
[(发送货币数量*大数1)+(私钥1*大数2)] +[(收到的货币数量*大数1)+(私钥2*大数2)]=ro3*G + vo3*H)

并同时要求ri1 + ri2 = ro3,这个方式可以让交易在完全不知道交易实际值的情况下,依然能够被验证。

所有权:透过一个非常大的数字做为私钥,也能够使得所有权在椭圆曲线中获得验证

Cut-through:压缩帐本达到可扩展性( scalablility)

最后再附带提一个我个人觉得MimbleWimble非常有趣的地方,就是他可以透过核销(cut-through)的方式,去压缩链上面所需存储的数据,并且保证总输入等于总输出。大致来介绍他如何去运行,官方介绍cut-through的示意图满烂的,我觉得Jordan Clifford文章中讲的图很传神:

在未经核销前,整个区块的状态大致如左边,但其实我们可以发现,如果要使最初的Input1等于最后的输出,那其实在这个等式中,我们是不需要纪录Output1的,他同时会出现在等式的两边

Input1+Output1=Ouput1+Change1+Output2+Change2

以此类推,当产生10000笔交易甚至更多时,我们其实就能够减少更多的储存资料,让整个区块能变得更紧凑、更有扩展性,因为让整个区块传输的资料变得很小。这个方式如果能够在实作中强制执行,甚至能够让MimbleWimble提供很好的隐私保证,让某笔交易不会在区块链中被揭露身分,因为无法区分单笔交易。但也同时可以透过密码学来保证交易的安全性。

综合而言,我认为MimbleWimble专门解决的是加密货币所遇到的问题,但像智能合约,或者区块链可作为不可窜改的追溯帐本等特性,就不是MimbleWimble可以满足的。

Grin

Grin是一个建立在MimbleWimble协定上的一个应用:隐私币(另一个MimbleWimble上的专案叫做Beam) ,基于建立在MimbleWimble上,他能够保证隐私,并且维持点对点的匿名传输。
同时比较特别的是,Grin是一种社区驱动的加密货币,并宣称能够保有隐私性、规模性以及维持去中心化,Grin不会进行ICO或者基金会税(foundation tax),也不进行预挖矿,目的是为了能让Grin币不受特定单一实体操作,成为真正的去中心化加密货币。

像比特币一样,Grin使用POW共识(classical Nakamoto consensus),但是使用了完全不同的演算,我们可以将它称作Cuckoo Cycles,是个可以抗ASIC的算法。

目前最红的议题是Grin的挖矿议题,Grin在1/15号正式开挖,要加入Grin挖矿的先决条件是并需要有Linux (x86–64 only) or MacOS的系统,比较特别的是Grin目前释出的挖矿算法分为两种,分别是对GPU友好(CuckARoo)以及对矿机友好(CuckAToo),所需规格如下:

  • CuckARoo (or ASIC Resistant) :6GB+GPU(目前NVIDIA的运行状况比AMD好)
  • CuckAToo (or ASIC Targeted) :11GB+ GPUs.

目前差不多写到这边,如果繁中过几天还没有挖矿文章,我会试着写写看,看国外不少矿池蠢蠢欲动哈哈。

本文链接地址:https://www.wwsww.cn/jzb/1329.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。