【学术】区块链专家:为什么我对比特币黄金产生了怀疑?

几周前,比特币黄金被对外宣布。对于许多新手比特币用户和投资者来说,这更像是比特币现金发生了重复,本质上看来是给你“自由币(free coins)”。

在这篇文章中,我将解释区块链是如何工作的,以及我对比特币黄金的评估。然后给出一个具体的例子,说明你为什么要小心它。

最基本的问题:区块链是如何工作的?

为了理解区块链,首先要了解一些关于区块链的基本知识。寻找一个新的区块来扩展区块链的过程叫做“挖掘”。(比特币)区块链中的一个区块是由一个叫做“工作量证明(Proof-of-Work)”的系统来保护的。工作量证明系统使用加密的哈希算法(即散列函数),使一个区块的采矿行为成为一个复杂的计算。

每个区块都有一个包含一个散列值的区块头,该值由使用默克尔树(Merkle Tree)的所有包含交易的散列派生而来。这使得该块本身可以防止篡改,因为将任何事物更改、移除或添加一个交易,都会导致不同的默克尔根。

区块头还包含前一个区块的散列,以确保链的完整性。这样就不可能在中间插入一个新的区块,或者将区块及时移动到另一个点上。

最后,矿工们必须找到一个包含在区块头中的随机值,这使得计算的散列超过在一个特定目标下的值。这个目标越低,找到正确的随机数的时间就越长。因此,这个目标会反映出一个问题:需要多少散列操作才能找到一个正确的散列?

在区块头(前一个区块的散列或任何交易)中篡改任何东西都会使散列无效。这就是链及其内容是如何被保护的。

采矿过程遵循一套一致性的规则。就比特币核心来说,这些规则如下:

  • 区块的工作量证明散列是用哈希算法SHA256计算的
  • 目标块时间是10分钟
  • 难点目标是被每2016个区块调整
  • 区块不能大于1MB

只要新区块遵循这些规则,规则不会改变,区块链就不会出现分叉(fork),因为所有客户端都将接受这个新区块。

什么是分叉?

源代码的分叉(软件) 因为比特币是开源软件,任何对它有潜在改进的人都可以做两件事。他们可以将比特币提交给最初的比特币核心项目,并要求开发人员维护其核心,将它们的变化合并到未来的比特币核心上。

另一个选项是,他们创建了源代码的一个分叉(本质上是它的一个副本),并在副本中包含他们的更改。通过这种方式,他们不会受到比特币核心团队的审查,他们可以将被修改的软件作为单独的产品发布——只要他们信任最初的创造者,并遵守许可条款。

比特币的许多分叉都存在,并被称为“altcoins”。然而,几乎没有分叉也会分叉出区块链。

区块链的分叉 即使当你已经对源代码进行了分叉,你也不需要将区块链分叉。你可以从它自己的创世块(Genesis block)中启动新的和改进的加密货币,从本质上来说这是一枚新的硬币。

其他比特币的源代码也已经完成了这一工作,包括Litecoin、Vertcoin、Dogecoin等等。因此,这些“altcoins”也会把比特币的区块链进行分叉。某种情况来说,分叉区块链是有些不同的。区块链中的一个分叉是由于在特定的块高度上引入了一组新的一致性的规则。

比特币黄金的一个例子 比特币黄金想要改变比特币的一种一致性的规则,即工作量证明算法。新一致性规则规定,工作量证明算法应该不再会是SHA256,而是被修改为Equihash。其余的规则保持不变。

现在,当矿工们使用这些新的一致性规则开始开采矿时,他们将会广播他们“解决”的区块(当他们计算出了使blockhash与目标匹配的随机数时)到一个比特币的核心节点时。该节点会拒绝该块,因为区块头的SHA256散列很可能与预期的目标不匹配。但是,比特币黄金节点将接受这个块,因为这个“Equihash散列”与目标是匹配的。

当两个客户端都在运行时,它们就会开始拒绝对方的块,这时就形成了一个分叉。根据它的Equihash基于一致性的规则,比特币黄金客户端只会接受有效的区块,而比特币的核心客户端只会接受在它们的SHA256中基于一致性规则的有效的区块。

自由币(free coins) 因为直到分叉的那一刻,这两个区块链都遵循着相同的一致性规则,硬币在分叉前的所有权也是一样的。因此,如果你在比特币黄金分叉发生之前拥有比特币,你也会拥有比特币黄金的所有权。如果你在分叉发生后使用比特币,你比特币黄金就花不出去了(因为你的交易被比特币黄金的客户端拒绝了)。

这也是为什么人们似乎对比特币黄金(以及其他)的分叉感到满意。

比特币黄金中存在的危险信号

在我的分析中,我发现了几个对比特币黄金的警告,这应该会让你产生产生警惕:

1.比特币黄金的分叉不是公开的:Github上的评论称,开发者们已经(或将会)把链从他们称之为“快照(snapshot)”的特定块高度上分叉。他们会在以后的日子里把这条链释放给公众,而不是现在。这种“停机”将使他们有能力在私下进行挖掘,这是一个巨大的危险信号。

2.预挖掘:在把链向公众发布之前,开发者们已经决定私下挖掘16000个块的比特币,并给自己20万比特币黄金作为区块奖励。这不仅是完全没有必要的,而且完全是为了丰富他们的个人财产而设计的。目前还不清楚,这些创造者是否会将比特币链的交易纳入这些预先挖掘的区块。

3.重放保护(replay protection)还没有被创建:在硬分叉的情况下,重放保护可以防止你在分叉的任意一边丢失硬币。本质上,重放保护应该确保其中一边的一个签署交易在另一边是无效的。否则,有人可以从比特币黄金链中获取你的(已经签署的、有效的)交易,然后再将它发布到一个比特币核心节点中(因为交易本身没有工作量证明它们是同样格式化的)。如果这样做了,你的“正常的”比特币就会被发送到与你在比特币黄金链上传输的地址中相同的地址。在重放保护到位之前,永远不要使用它,否则你有可能丢失硬币。

4.没有testnet:正常的区块链开发首先会发布一个testnet,这样一来,怪异项就可以被解决,而且在正式发布之前,软件已经被证明是稳定的。似乎比特币黄金团队急于把他们的软件展示出来,而且在一个质量次优的testnet上缺乏运行。

结论

尽管我认为比特币背后的想法并不坏,减少集中开采的想法是非常不错的。此外,我担心比特币黄金的执行会很糟糕,而且会过度地把人们的钱投入到风险中去。

除此之外,已经有一种加密货币Vertcoin,它承诺了与矿商分权同样的目标。而且自2014年以来,这种货币一直在运作。

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链技术指北

什么是闪电网络?

这是「区块链技术指北」的第 31 篇文章 闪电网络 ---- 闪电网络是一种基于区块链的支付协议。这种协议可以用在即时支付的场景。从设计上来说,中本聪实现了快速...

3357

比特币浅析

“比特币被保存在数字钱包中”,“区块链技术可以被用于传递资金”。类似这样的内容越来越多的出现在了大众媒体上。对于一般人来说,这些内容似乎复杂难懂,甚至会形成误导...

1K21
来自专栏月色的自留地

比特币核心概念及算法

1575
来自专栏CDA数据分析师

十分钟带你看懂比特币背后的原理

? 翻译/校对: Mika 本文为 CDA 数据分析师原创作品,转载需授权 有一种货币目前价值成百上千美元 ,但不是由金子、铂金或任何贵重金属制造的,这就是...

39910
来自专栏极客编程

什么是以太坊?什么是智能合约?

以太坊是一个分布式的计算平台。它会生成一个名为Ether的加密货币。程序员可以在以太坊区块链上写下“智能合约”,这些以太坊智能合约会根据代码自动执行。

832
来自专栏智能计算时代

比特币项目

比特币项目是区块链技术第一个大规模的成功应用,并且是首个得到实践检验的数字货币实现,在金融学和信息技术历史上都具有十分重要的意义。 简介 比特币是基于密码学和经...

1985
来自专栏CDA数据分析师

理解区块链和加密货币的终极指南

如果你对当下大热的区块链和加密货币还不太了解,不要担心,今天我们将解读这些信息!

1023
来自专栏Java架构师进阶

一个程序员眼中的区块链技术

我为什么要写这篇文章?在了解区块链相关信息时(例如维基百科上的内容),我发现这些内容非常零碎和不连贯。要把这些零碎的信息整合在一起,形成一个完整的视图需要花费大...

814
来自专栏区块链

区块链到底是什么?(A Blockchain/The Blockchain/Blockchain Technology概念辨析)

区块链是一个效率非常低的数据库,它作为比特币中拼图难题(jigsaw puzzle)正常运转必须的技术之一而被人们熟知。

2.4K40
来自专栏智能计算时代

什么是区块链

区块链是支撑比特币的基础技术,是过去一年的流行语之一。几乎每个人都在谈论区块链,而且有充分的理由。分布式账本是区块链技术的艺术术语,它提供了一个令人兴奋的新方法...

2694

扫码关注云+社区