區塊鏈學習筆記之比特幣再深入(下)

買賣虛擬貨幣


一、BTC/" target="_blank"">比特幣困惑我們的幾個問題

1. 既然比特幣是一個全球性的網路,住在東半球的Alice在給住在西半球的Bob轉賬時怎麼知道已經轉賬成功了呢?

2.既然比特幣是一個去中心化的貨幣系統,那麼這個貨幣是如何被創造併發布出來的呢?因為傳統的法幣都是由央行這樣的中心化機構統一來發行的。

3.若Alice想欺騙Bob又該怎麼辦?舉例:Alice賬戶中實際沒有1個比特幣,或者說Alice確實有1個比特幣,但她同時向Bob和Cara兩人支付比特幣(所謂的“雙花”),那麼在比特幣世界中的無數個節點,有的會先收到轉賬給B的資訊,有的會先收到轉賬給C的資訊,那麼這樣將造成資料不同步,最終以哪條資訊為準?

4.既然所有的賬戶餘額都是基於歷史記錄算出來的,那麼歷史記錄的完整性又該如何絕對保證?你比如,有駭客惡意惡意刪除某個部分的歷史交易記錄該怎麼辦?


二、挖礦

上述看似極難解決的問題,天才的中本聰透過“挖礦”的概念,極好的解決了這些問題。可一說到“挖礦”這個概念,可能又會讓我們困惑不已:從網路中挖礦?怎麼挖?拿什麼挖?其實,這是大家對於比特幣生產的一個抽象的比喻,其實質是爭奪比特幣世界中交易的記賬權!

從系統的執行流程來看,挖礦就是將過去一段時間內發生的、尚未經過網路公認的交易資訊收集、檢驗、確認、打包、加密成為一個無法被篡改的交易記錄塊,從而成為這個比特幣網路上公認的已經完成的交易記錄,永久儲存。在比特幣的世界裡,大約每10分鐘就會在公開賬本上記錄一個資料塊,這個資料塊裡包含了這10分鐘內全球被驗證的交易。所有的節點都在嘗試打包這個資料塊並提交,但以誰提交的為最終結果則是需要爭奪的。


三、那麼爭奪記賬權有什麼好處呢?

有兩個好處:.最終成功打包好那個交易記錄塊的人,可以獲得伴隨這些交易而生成的交易費用+一筆額外的報酬。交易費用是,比特幣系統規定交易發起方需要向礦工支付一筆報酬以保證交易能夠正常完成,因此這不是系統新增的貨幣;而額外的報酬就是新生成的比特幣,這就是比特幣系統新增貨幣的方式


依據比特幣系統的規定,大約每10分鐘可以生產一個交易記錄塊,最初每生產一個交易記錄塊可以獲得50個比特幣的額外報酬,這意味著比特幣網路每天增加7200個比特幣,但是該報酬每隔4年就會減半,因此最終整個系統中最多隻能有2100萬個比特幣。


四、雜湊的密碼遊戲

那麼,另外一個問題又來了:電腦是靠什麼機制來爭奪記賬權的呢?它們又是如何保證10分鐘左右生產一個交易記錄塊的呢?事實上,電腦是在玩一個叫雜湊的密碼遊戲,更具體點說就是SHA-256演算法。所謂的算力挖礦其真正的本質是:在10分鐘內看誰能先破解比特幣系統出的一道數學題(計算出一個最小的雜湊值)。若誰優先給出正確答案,那麼這個人就搶到了記賬權。由於雜湊值的結果相當隨機,無法預知大小,唯一的方法就是“暴力破解”(電腦拿可能的數字一個一個的試),這也就是挖比特幣要拼算力的原因所在。


如果在這10分鐘內沒能搶到記賬權,那之前的努力就白費了,拿到新的區塊後會重新進入下一輪。而之所以計算時要加上上一個資料塊的雜湊值,是因為這樣一來,所有的資料塊就被組成了一條可以從前到後不斷驗證的資料鏈條(每一個資料都是上一個交易塊的結果)。那麼修改中間任何一個資料塊的任何交易記錄,都會導致之後的所有資料塊的雜湊值驗證失敗。若企圖在修改記錄後重新找一個合理值算出符合條件的雜湊值並重新打包,那也意味著之後所有的資料塊都需要重新尋找那個值來重算雜湊值,版其計算速度必須比整個比特幣網路更強的,因為只有這樣才能讓網路接受你的結果,而這就意味著攻擊者要擁有至少超過整個比特幣網路一半的算力(也就是大家都很熟悉的“51%”的攻擊)。


五、動態的難度調整

剛才我們提到,比特幣系統是如何保證10分鐘出一個交易記錄塊的?事實上,中本聰在設計比特幣系統時,已經設定了“挖礦難度”這個機制。這個難度是系統自動調整的,其依據是之前若干資料塊生成的平均速度:如果低於10分鐘,就把難度提高;如果高於10分鐘,就自動把難度降低。由於是事先設定好的機制,每個參與的節點並不需要統一排程和安排,自動回遵守。難度提升很簡單,就是降低雜湊值的下限。由於雜湊演算法的特性,這會使計算量呈指數上升。當找到一個可以算出達到標準的雜湊值的數字後,就可以把算出的資料塊廣播出去,尋求其他礦工的認同。對於一次比特幣交易來說,如果你的交易單正好在這個資料塊中,就意味著獲得了一次確認。當其他礦工在有你交易的資料塊上繼續工作並把資料鏈延長時,每延長一個塊就意味著多得到一次確認。


六、“51%”的攻擊可能嗎?


比特幣系統的另外一個規則是,若一筆交易獲得了6次確認,就認為這個交易已經得到了全網的認同,可以認定為有效。看到這裡,可能有人要問了,若這樣的話,我準備6臺電腦,為我的虛假交易確認6次有效,豈不是可以在短時間內成功騙到別人嗎?這裡我們要接著剛才比特幣“51%”攻擊的話題說一下。首先,可以肯定的說“51%”攻擊幾乎沒有這種可能性!隨著比特幣近9年的發展,比特幣網路的計算能力已經強大到難以想象的地步,據說早已超過世界前500位超級計算機的總和,而且這個算力還在飛速上漲。目前在全球範圍來看,幾乎沒有哪個個體或機構擁有這樣一個恐怖的算力。而幾個大型的“礦霸”,如位元大陸,他們雖然擁有這樣的算力,但他們是比特幣世界中有著極深利益的相關方,若真要實施這樣一個攻擊,從攻擊成本上來說,將高的難以接受。所以,無論從情理還是成本來說,他們並沒有動力來發起這樣的攻擊。那麼當然了,你所想象的用6臺電腦來確認你虛假的交易,普通電腦早已沒有這種機會了!

我是彼得,一個有思考的價值號,助你成長和收穫!

【原創不易,日更唯艱,若覺得有點價值,

小夥伴的轉發就是對彼得最大的打賞!】 

三非彼得公眾號:sf-btc

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;