搜尋此網誌

2014年9月5日星期五

加密貨幣的革命(3):比特幣的數學

上篇文章寫道,數學在比特幣的保安和發行佔重要的藉位。現在先拆解比特幣用作保安的那條複雜數,然後再解釋限制發行的數學。

以算式作為保安

在 每次比特幣用户使用比特幣軟件交易,比特幣軟件會同時產生私人匙(private key)和公眾匙(public key) ,而產生的方法,是透過散列算式SHA-256,SHA 全名為Secure Hash Algorithm,是美國國防部(National Security Agent NSA)研發,2001年公開,256的意思是散列出來的加密數值為256位(256 bit)。簡單來說,資料輸入後,經過散列計算,轉化為一組密碼,散列算式是單向數學,即假設資料等於 X,經過散列算式計算後得出Y密碼,若想從密碼Y和散列算式找出X,是不可能的。

例如以下一組訊息:



以上訊息經過散列計算,得出一組密碼,然而從這組密碼,人們是無法計出、也無法得知原來的訊息,除非讀訊息的人擁有私人匙開啓密碼。

有些人說,為何要相信這些算式不會出現問題?事實上,我們現在網上銀行所用的雙密碼保安,用的也是這種類似算式,我們其實一直在使用,只是一直沒有留意。

說到這裡,你們應該明白,這些人們一直質疑無果樣整果樣的複雜數學,其實是用於軍事和網上銀行,如果出現問題,軍方和網上銀行都會出現問題,不會單單是比特幣的問題。而如果國家政府要破壞這些數式信譽,製造出來的問題也不少。

以計數作為工作量證明

那 麽,散列算式如作何成為保安一部份?在上篇文章,筆者指出,交易要被確認並連接到方塊帳本的尾部,必須先要計出很多數,這些計數量叫proof-of- work algorithm (工作量證明算式) ,這個程序就如一個人A君想加入組織,組織的大門是關着的,要打開大門,A君必須成功計出數學題。

這條數學題就是散列算式,完成後作為工作量證明,再經過多個用户節點互相對帳,交易才會被確認。而算式的要求是計出一個數值加到這個交易方塊 ,令這個方塊散列出所需的零位(zero bits) 。

工作量證明算式在比特幣的交易系統中,是很重要的流程,因為這步驟解決了兩個難題:

(1) 避免用家在很接近的時間內,將同一個比特幣使用兩次(double spending) ;
(2) 避免黑客癱瘓系統(Denial of Service) 或修改之前任何一個方塊的交易資料,意圖騎劫比特幣。

工 作量證明算式是怎樣解決同一個比特幣同時間使用兩次?理論上每次交易都有時間記錄蓋印,但當有人刻意在很接近的時間內行駛同一個比特幣,在交易系統面前, 這個比特幣就如孖生兄弟(identical twins),初時是完全分辨不到哪一個才是真正交易,那麼,在加到方塊帳本尾部之前,兩個孖生方塊必須計條數學題,而這條數學題的困難程度和需要多少時 間才能計出也是隨機(random)的,然後誰能夠先答到數學題,便可連接到龍尾,連接後,另一個樣子一模一樣的兄弟方塊便會被取消,這就是如何解決雙重 行使比特幣的簡單概念。

工作量證明算式亦是防衛保安的一部份,假設黑客要修改方塊的資料,從而盜取比特幣,黑客便要重新計算出修改方塊散列 出的零位,而方塊是連接在一起,修改一個方塊是不夠的,擁有帳本副本的節點在對帳的時侯,便會發現修改過,因此黑客還要修改之後的所有交易資料,這包括要 計算其他的工作量證明算式,黑客還必須要在最短時間完成這些計算工作,因為當新的交易方塊連結了,工作量證明算式的難道是以倍數加上去。

防止偽冒的過程也差不多,黑客要偽造比特幣便需要偽造整條交易鍊的方塊帳本和大量工作量證明,黑客要付出很大的電腦能力(CPU)才能修改交易資料或偽冒,而擁有如此大的電腦能力,所得到的利潤還比不上自行挖礦或製造另一種虛擬貨幣。

數學控制發行

嚴格來說,數學在比特幣是調節發行速度,而非限制。比特幣的發行是透過挖礦(mining)軟件配合高運算能力(high computing power) 的電腦,成功計算程式而來。

初 時供應量是每10分鐘50個比特幣,每隔四年供應便會減半,2012年底供應速度為每10分鐘產生25個比特幣,如果電腦運算速度加快,程式也會自動調高 算式的複雜難度(difficulty) (見圖一),令供應速度維持於每10分鐘出產一定數量,這就不會出現電腦運算越快,供應量越大的問題,比特幣的創造者早已預計未來的電腦必定越來越高速, 數學的困難度是調節發行速度的機制,因此無論電腦有幾高速,供應量還是跟圖二的預算,最終的供應量為21,000,000枚比特幣,現在的供應量 12,713,824枚,已超過總供應量的一半,供應速度會下降,根據blockchain.info網站計算,比特幣還可供應至2140年。


圖一:計算比特幣困難程度圖:

資料來源:http://blockchain.info


圖二:比特幣在不同年期的供應速度逐漸減慢

 資料來源:http://blockchain.info


總的而言,透過數學機制,貨幣的供應是公開和高透明度,一切資料都可以讓人們掌握和預料。(待續)


你們的讚好是我們寫作的原動力,請支持我的 facebook 專頁及筆與誌評的facebook 專頁。

我的 facebook 專頁 https://www.facebook.com/luaninvestblog
notcomment facebook 専頁 www.facebook.com/plscomment

沒有留言:

發佈留言

請留回應!