深入了解BITCOIN

On 2013年03月21日, in soft, by netoearth

哪种货币可以在短短两年内升值两万倍?不是美金、不是人民币,是Bitcoin。

2010年5月22日,一位老兄在网路上自称他用10,000 Bitcoin成功地买到了两块价值25美元的Pizza

两年过去了,在笔者撰写此文的当下,Bitcoin兑美金的汇率来到历史新高,1 Bitcoin 可兑换47美金!当初卖出两块Pizza 的老兄,如果他手上的Bitcoin 没有花掉的话,已经现值$470,000美金,换算台币约1千4百万元。

两年内增值近两万倍!谁能料想到两年前的两块Pizza 现在值一栋房子呢?(编按:卖pizza 的人发了)下图是近三年来Bitcoin 的涨势图:

图片来源

到底Bitcoin 是何方神圣?Bitcoin 是一种网路上的数位货币,有别于诸如PayPal、支付宝等集中式的线上金流系统,Bitcoin 与众不同之处是它是基于P2P 网路(Peer-to-peer Network)的分散式设计,搭配了密码学的运用。依据其设计,不论政府或任何人都很难恶意干扰其运作。

Bitcoin 同时也拥有不可追踪的特性,使得个人的隐私得以受到保护。它的出现有如牛顿的信仰所描述的「上帝所造的大钟」– 神秘的作者在释出这设计后便消失无踪。然而Bitcoin 至今仍持续运作,并且有越来越多人接受和使用Bitcoin。

在现代经济体系面临崩溃疑虑与方便的网路交易的强烈需求下,究竟这只是昙花一现还是将席卷世界?笔者将试着深入浅出的介绍Bitcoin 的优势、缺点、它的设计之美,以及它将如何改变世界。

货币演化论:从贝壳到纸币

第一次听见Bitcoin 的人,都会怀疑为何从无产生的数位资料可以当做货币。我们太习惯使用现代的金钱,不相信Bitcoin 没有政府担保能当成货币。但我们先回头想一想货币的演进。

货币最原始的用途是用于交易的代替物。在货币发明以前,人们都是以物易物,十分不便。假设当时用一头羊换一袋小麦,那半袋小麦就需要半头羊。但羊无法拆成两半,或着说被拆成两半就死了。运送羊也很费力,羊得喂养,且会生老病死。

后来人们使用贝壳之类的物品当做货币。但或许因为太容易取得,人们接着选择将稀有金属铸成钱币。

到了更近代,人们发现大量的钱币携带不方便,于是有了纸币。而我们现在所使用的钱又称为法币,由政府透过储藏相对应的黄金或是发行债倦来对其价值担保。

贝壳当货币,从现在的角度看来很不可思议。可是事实上,只要人们愿意接受,不管是贝壳、山羊、甚至是汽水瓶盖或弹珠都可以当做货币。很多人小时候和同学间都有类似的经验,用特定玩具当做货币。但我们为何不继续用弹珠当货币呢?因为它不是好的货币

三个好货币的条件

 

好的货币特性有哪些?简单描述三项

  •    可以组成不同的面额
  •    耐久与可轻易用于交易
  •    容易识别真伪并确认价值

我们拿黄金来看好了。黄金开采不易,但是是相当稳定的元素,可以长久保存。其接受度之高,数千年来人们仍愿意接受黄金来提供货品或服务。其缺点在于重量很重,携带不方便,真伪也不容易辨识。

再来看法币,就是现今用的钱。其价值是由政府透过立法,并储存黄金或发行债卷来为其价值进行担保。法币比黄金更容易携带和使用,这也是为什么我们现今很少使用黄金交易的原因。

然而法币的缺点就是信任度不高。法币的价值来自政府的担保。人们愿意接受法币来提供商品与服务,是因为基于对于政府的以及它提供的担保之信任。当政府胡作非为滥印钞票时,人们对法币就会不信任,转向黄金这类贵金属来逃避风险。近年来黄金价格飞涨就可以看出人们对法币的信心不足。

 

集中式数位货币继承了法币的缺点

 

而常见的集中式数位货币,透过发行商担保,其实都只不过是相对应的法币。像PayPal 里的钱,好坏都操之于政府和发行商的手上。在政府或是金流商的一声令下随时都可能化为乌有。

例如曾发生过许多独立开发者遭Paypal冻结帐号,或是  Wikileaks创办人阿三吉透过Paypal收捐款被冻结帐号的事情。这些都显示出集中式数位化管理的货币的缺点。

Bitcoin 的设计符合好货币的条件

 

最后焦点回到今天的主角Bitcoin。它巧妙的地方就是在于它利用密码学来达成上述的好货币的条件。它不受任何中央单位管理,性质较类似黄金。我们拿来跟黄金比较,Bitcoin 被设计成其产出的量有受到限制,但供应量充足。它利用密码学来确保制造Bitcoin 非常困难,要伪造更是困难,但验证却非常简单。

它以资料形式呈现并透过P2P 网路进行交换资讯,因此很适合网路交易。储存也很容易。简单的来说Bitcoin 可以被比拟成在网路上方便交易的黄金。

相较于黄金受人们的信任和使用已经有数千年的历史,Bitcoin连五年历史都不到,价格也一直在波动,政府对于这种货币的态度也还不明确,因此愿意接受Bitcoin的人还不多,但已经有越来越多的迹象,例如  WordPress.com愿意接受Bitcoin来提供部落格主机代管的服务,也有主机商愿意接受Bitcoin来提供主机代管服务Reddit接受Bitcoin,不久前重生的MegaUpload后继者以安全性为卖点的Mega也接受Bitcoin,相信在未来会有越来越多人愿意接受Bitcoin

在此小结一下我们一开始的疑问,为什么Bitcoin 能够当货币?因为它满足好的货币的需求,而且有人愿意接受Bitcoin 来提供商品和服务。以下我们列出各种货币的比较,就能更清楚理解Bitcoin 做为网路货币的优势。

Bitcoin

黄金

法币

货币来源

由矿工花费运算资源产生

由矿工从自然界中挖取

中央银行印制

容易辨识真伪

容易透过密码学验证,只有通过验证和不通过两种可能

只能透过黄金特性进行判断,一般人不容易分辨真伪或纯度

依钞票或硬币之防伪技术和伪钞伪币品质而定

耐久度

纯资料,可永久保存

不易变质

有使用年限,用旧会回收重新发行

网路交易方便度

只要连接网路可以转帐给任何人,完全不受任何限制

不容易

转帐得通过银行,跨国付款较不方便,受法规限制

携带方便

纯资料,容易携带

不易携带

携带容易

组成各种面额

数位数值,可以表示至小数点后八位

不容易分割

由各种面额钞票及硬币组成

实体用途

无用途

工业或装饰用途

无用途

第三方担保

由政府发行债卷或储藏黄金

总量控制

由系统设计当初决定,不受任何人控制

由市面上流通量和自然界储藏量以及开采的市场需求决定

由中央银行决定

接下来笔者将尽量浅显易懂的介绍其运作原理。

货币从何而来?

相信大家心里有个最大的疑问,就是最初的Bitcoin 到底从何而来?答案就是矿工奖励。在Bitcoin的设计中,最重要的结构叫做Block,也就是区块的意思。Block 里面收录有交易记录等等重要资料,类似帐本。

要产生一个Block 需要大量的运算资源,所以得提供一些奖励给矿工来鼓励他们生产Bitcoin。因此系统的设计上对于产生Block 的人,可获得50 Bitcoin。在以下的例子中,我们可以看见某个矿工产生了这个Block,并将奖励分别签署给路人甲、乙和丙:

矿工奖励

这些钱就​​是Bitcoin 最原始的来源。你可以想像是金矿坑里矿工很辛苦地挖矿,最终挖到了黄金。这个过程也因此被称为挖矿(Mining)。

 

如何转帐?

有了货币但不能流通也没有任何用处。既然Bitcoin不是由某个单位集中管理,那要如何进行转帐?答案是它运用了公开金钥加密演算法来达成数位签章

公开金钥加密演算法的概念很简单,有别于对称式加密演算法用同一把金钥,公开加密法有两把金钥,分别是公钥与私钥。用公钥加密出来的结果只能用相对应的私钥解开;相反的,用私钥加密的资料也只能由公开金钥来解。一般公钥是公开的,私钥是保密的,如下图所示:

对称式加密演算法

对称式加密

非对称加密演算法

Bitcoin 的非对称式加密

如果把加密比拟为上锁的话,对称式加密是一般的锁,开锁和解锁都是同一把钥匙。而非对称式加密的开锁和解锁用两把不同的钥匙;用公开金钥上锁之后只有私钥能打开,反之亦然。

正因为这个特性,可以运用在很多地方,例如数位签章就是一个很常见的运用。假设今天某富豪要死了,他在死前公开了他的公开金钥,任何人都可以拿到。如此一来大家都可以用他生前公开的金钥试着去解开加密的部份。

死后他的遗嘱被公开,附带着用私钥加密过后的遗嘱,如果能成功解密的话,因为只有当事人知道的私钥能够加密出公钥能解的讯息,具有不可否认性,如此一来我们就能推定确实该富豪有签署过这份讯息,以此达成签章的效果。如下图所示:

数位签章

Bitcoin 就是利用公开金钥和私钥的数位签章来完成转帐。很多读者可能容易误解,资料都公开了为什么要加密?加密在这里并不是要保护资料的机密性,而是要证明当事人有签署过这份交易。而在本文里的路人甲、乙和丙并不是真正的人名或是户名,实际帐户名在系统里其实是一把公开金钥,私钥有如印章。如此一来,私钥可以用来签署转帐讯息给其它的帐户,而公钥除了当帐户名称也可以让大家验证转帐讯息是否属实。

当矿工有了最原始的钱之后,他们就能把钱花掉。花掉的方式,就是以个人的私钥进行数位签章签下:

   我某某人将OO 元转帐给某某人

这样的交易讯息会经由P2P 网路广播出去,到最终网路上的每个节点都会收到。当然矿工也会收到。

在收到交易记录后,矿工会先检查这笔交易是否合法、有没有重覆花费、来源的帐号是否有足够的资金、数位签章是否正确等。有问题的交易会被直接忽略。接着幸运的矿工在产生下一个Block 时,便会将这所有收到的交易记录都写进去。

我们来看下一个Block 的例子。在这一个新的Block 中,我们可以看见转帐的记录。而在这个帐本被产生之后,它会透过P2P 网路广播到网路上,大家最终都会收到同样的结果并且可以验证,如下图所示:

转帐示意图

有了最新的Block,搭配以前收到的所有Block 里的矿工奖励和转帐记录,我们就能推断出到底谁拥有多少钱。在Block2 产生后,每个帐户里的钱如下列所示:

  • 路人甲10 BTC
  • 路人乙5 BTC
  • 路人丙20 BTC
  • 路人丁50 BTC
  • 路人戊5 BTC
  • 路人己10 BTC

在经过了两个block 之后,我们现在知道每个人身上有多少钱。依此类推,新的block 不停产生,也就是新的货币不停地被开采出来,由矿工透过转帐花掉最终流到一般人手上。

如何防止恶意扰乱者?

既然是网路上的东西,那如何确保它不受到恶意的攻击与扰乱?Bitcoin为了防止恶意攻击,巧妙地利用了一个安全性的设计概念叫做「作工证明」。它的概念很简单,就是要你做一堆没意义的事情来证明你的诚意。这样的概念很早就出现在我们的现实生活中,就像有一个正妹,她有一大堆的追求者。然而这些追求者当中可能有一些并不是那么有诚意,于是正妹就出了一些难题来考验这些追求者。如果真心想要追求的人就会努力解决难题,如此一来就能挡掉大部份没有诚意的追求者。

类似的概念也被用在电脑系统上,例如防止垃圾信件上。垃圾邮件之所以横行无阻,正因为发送的成本太低了。因此有些邮件系统便采用了作工证明,像是邮件伺服器需要检查额外的作工证明讯息才能把信寄出。如果我们让现代电脑运算约一秒钟才能把信寄出去,对正常使用者来说并不过份。但对垃圾信的发送者而言,每封信多花一秒钟将造成大量寄信不合成本。这样的概念就称为作工证明。

Bitcoin就是利用作工证明让世界上有兴趣的人参与竞争。矿工必须算出一个下一个的Block  杂凑函数值,其值的大小要小于特定的值才会被承认为合法Block。因为产生的结果是乱数的分布,谁也没办法预测,所以矿工竞争产生下一个Block就有如电脑不停的随机开出乐透的数字,只要算出来的数字小于指定的值,矿工就中奖了,赚到50 BTC。

恶意攻击者要产生合法的Block,必须有足够的运算资源。如果只是为了阻扰这系统,例如一直产生不包含交易记录的Block让大家无法查证交易是否成功,这样做必需要和所有正常的矿工竞争。如我们先前所提的,挖矿的过程有如买乐透,抽中的机率很小;假设每张彩卷中奖机率一样的话,你得花费超过其它所有人买彩卷的金额加总,才有办法得到超过50%的胜率进而扰乱系统。而能办到这样程度所需的运算资源成本花费是天价。因此即使是政府也很难拿出这么多运算资源,只为了扰乱这套系统。这里我们可以见到作者设计时所设下的赛局巧思。

有没有被破解的可能?

世界上任何系统都有可能被破解,Bitcoin也不例外,问题只在要花多少成本而已。如先前所提,Bitcoin 的设计让大家竞争产生新的货币,这竞争过程中得花费大量的运算,因此要透过参与竞争来达成破解等目的成本太高。

那读者可能会问,如果是帐户的公开金钥加密系统被破解呢?同样的道理,要从正面破解公开金钥所需要的运算量非常惊人。只要金钥的长度够长,以现代科技还没有办法在短时间内破解,所花费的成本也是天价。反过来说,如果有一天公开金钥加密演算法有办法被轻易破解的话,你更该担心的你在银行里的存款,因为目前网路银行的连线系统也是用这样的加密技术。

比起担心系统被攻破,拥有Bitcoin 的人更该担心私钥的保管。一旦你的私钥让别人知道,对方就可以转走你帐户里的钱。因此最好替你的私钥加上一层只有你知道的密码。

如何避免通货澎胀?

现代的经济系统里,很常见到政府为了应付日渐庞大的支出,选择以印更多钞票的方式来支付。其后果就是通货膨胀,所有人的财富都被稀释了。

Bitcoin 不停地被制造出来,读者心中一定也有同样的疑问:如果制造Bitcoin有利可图,那么越来越多人挖Bitcoin,产生的速度越快,到后来难道不会通货膨胀吗?这样的事情在Bitcoin 的经济体系里是不会发生的。因为Bitcoin 的作者考虑到了这点,当初就设计了挖矿的工作难度每周会自动调整一次。

参照上一周的挖矿速度,自动调整的目标是平均每十分钟产生一个Block。例如现在Bitcoin 汇率这么高,势必会引来更多人参与挖矿,因此本周的Bitcoin 产生速度可能会上升。系统在下周会去计算上一周Block 产生的速度,校正为每十分钟产生一个Block 的预期数值。如此一来就能稳定产生货币。

除此之外,每十分钟就收录一次交易,也代表了使用者从汇款到确认交易被收录,大约只要等个十分钟。

矿工奖励也会随着时间递减。一开始设定的奖励是50 BTC,现在已降为25 BTC。随着时间的推进,系统会不断的减低矿工的奖励,如下图所示:

Bitcoin总量图表

图片来源

到最后矿工奖励会被降为0,在那时就没有任何新的货币会被产生。但问题来了,你会问那既然到最后没有奖励了,那哪来的矿工去进行挖矿,新的交易该怎么办?

设计者也考量到了这一点,所以每笔交易都可以附带一笔「处理费用」。矿工除了挖矿奖励以外,在收录这些交易的同时,也会获得这些交易处理费用。因此在最后使用者为了交易快点能被收录,都会自愿加上交易处理费。有处理费可赚一样可以吸引矿工来参与挖矿,由此可见设计者的巧思。

如何保护使用者的隐私?

隐私权越来越重要,Bitcoin 要如何保护隐私?一般的金钱在网路上做任何花费都会留下记录,以钱追人都可以找到当事人是谁。但Bitcoin 就很难找到当事人是谁。为什么Bitcoin 可以做到无法追踪呢?因为它的帐户其实就是一组公开金钥与私钥,任何人都可能可以产生这样的帐号。同一个人可以产生并拥有成千上万组的帐户,在全世界的任一帐户之间转帐也没有任何限制。要证明谁拥有某个帐户非常困难。

但说不可追踪其实有点不精确,事实上它是可以被追踪的,因为其P2P 交换资讯的特性,所有帐号的交易记录都是公开的。因此你理论上可以查到全世界所有的每个Bitcoin 帐户里有多少钱,以及这些交易分别从哪些帐户汇入。但如前面所述,很难证明到底是谁拥有这些帐户。讲白话一点就像是钞票上没写名字一样。

竟然有实体Bitcoin?

Bitcoin 是网路货币,可以做成实体硬币吗?笔者在找相关资料时偶然发现实体Bitcoin,长得像这样子:

正面

背面。图片来源

这些实体Bicoin可在  Physical Bitcoins by Casascius  买到。到底是怎么做到的呢?

首先铸币者存了相对应价值的BTC 到一个新产生的帐户,也就是1 BTC。然后把这个帐户的私钥印在一张纸片上放在硬币里封好。接着在外面印上了它的公钥,所以任何拿到硬币的人,都可以上网查询这个帐户里头是否真的有相对的币值在里面。

上图所印的135Kc4Gb  帐户我们可以在  Block Explorer  搜寻,发现它里面的1 BTC在2013年3月8日被转出了。这表示有人打开了这个硬币,并取得里面的私钥把这里面的钱转出去了。硬币的封装使用了易碎材质,如此一来,使用硬币里的钱一定得破坏这枚硬币。

网路上的花费和实体硬币交易,两者无法兼得,其中一个交易了另一个就无法进行。这样的设计使得原本只能在网路上使用的货币也可以在现实中使用。但是这之间存在着风险:你必须信任货币制造商不会在制造硬币的同时,把私钥偷记下来,然后转出去。或者货币制造商在制造过程中将同一个帐号做成多枚硬币。虽然有这些疑虑存在,但是这依然是一个非常有趣的应用,不得不令人佩服设计者的创意。

Bitcoin 的缺点有哪些?

Bitcoin 并不是完全没有缺点。以Bitcoin 完全去中心化的设计来说,虽然让任何人都难以控制,但同时也带来了一些缺点。以往的所有资料经年累月下来会越来越多,使得每个客户端都得保留这些资料,会占掉不少的容量和部份的运算资源。笔者相信之后会有解决方案出现。

在安全性方面,有人指出它可能容许多重花费,也就是同一笔钱可能达成多重花费。主要作法是在短时间内签章多笔交易,利用P2P网路同步延迟的特性,把原本只该有一笔的花费送给多人。但只有第一笔收录的交易会受到承认。这个问题影响事实上不大,收款方只要在收款时等约十分钟,确定自己收到款项的交易有被矿工收录,再交出对方购买的货物,就可以避免这样的攻击手法。

到底是谁发明Bitcoin?

最大的疑问,或许是发明Bitcoin的人到底是谁?Bitcoin的发明牵涉到了密码学经济学赛局理论和  P2P网路等广范的知识,当然也包含程式的开发,谁有这样的能耐创造出这种改变世界的新科技?

可惜的是作者到底是谁至今仍是一团谜。一位自称Satoshi Nakamoto(中本聪)的人,在2008年释出了Bitcoin 的计画,在2010年他就离开了这个专案的开发。没有人知道Satoshi Nakamoto 是不是他的真名,也没人知道他是谁。

他在第一个Block里藏了讯息

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

这句话出自于刊在《The Times》的「Chancellor Alistair Darling on brink of second bailout for banks」这篇文章,主要是描述英国总理正在考虑第二次的纾困案。从中可以看出他对于现在的政治与经济体系的不满。还有更多关于作者的蛛丝马迹,可以参考这篇「Who is Satoshi Nakamoto?谁是比特币背后的黑手?

不管他是谁,我们可以确定这样不愿为人知的天才靠着技术试着改变世界,不论Bitcoin 成功或失败,他都已经在网际网路发展的历史中写下了传奇的一页。

结论

如果读者有看过一部科幻漫画《铳梦》,应该还记得里面的交易都是用晶片当做货币。Bitcoin的出现就有如从科幻剧情里跑出来的货币。这是人类有史以来第一次大量使用密码学、去中心化设计的网路数位货币。从2008年发布至今Bitcoin已经存活了三年,尚未出现重大的安全性问题。

政府对于这种凭空生出的货币态度还有待观察。有人利用Bitcoin 的昵名性进行洗钱等非法行为,但也有人用于捐款、线上购物等合法用途。我相信世人不会因为现金会用于犯罪而禁止使用现金。

有人说控制货币就等于控制一个国家,当政权过于腐败,试图利用货币来控制人民时,Bitcoin 不受政府控制的特性就可以发挥用处。笔者在写这篇文章的同时也拥有一些Bitcoin(编按:你也发了),并不是因为期待它涨价,而是一种见证历史的心情,更是一种相信网路带来的自由,是对抗腐败政府最后一道防线的信仰。你相信网路自由吗?:)

使用者图示来源:findability

图示来源:famfamfam

Tagged with:  

Comments are closed.