比特幣是如何運行的

本文適合不懂技術的朋友,將盡量減少術語的堆砌,使用大量的比喻,還原最開始的比特幣交易的幕后機制。

比特幣于2009年于中本聰提出,是一種去中心化、匿名化的數字貨幣。幾個月前其價格曾接近20k美元,那時候媒體鋪天蓋地報道其漲勢,為什么這樣一個貨幣會有如此瘋狂的市場現象,為此我們需要理解比特幣的運作機制以及它和其他貨幣的本質區(qū)別。

我們平常用的貨幣統(tǒng)稱法幣,是由國家宏觀調控發(fā)布,并以國家信譽背書。每當有一筆非cash形式的交易發(fā)生,比如刷卡消費,國家甚至商家都會記錄并且可以追蹤交易,銀行在其中起了非常關鍵的作用。交易發(fā)生后,銀行從消費者賬戶扣一定數額,并在商家的賬戶增同等數額,所有的轉賬交易記錄都儲存在銀行,這種形式便是我們熟知的中心化,線上的轉賬一定會經過銀行。在此,銀行就像一位會計員,不厭其煩地記錄所有參與者之間的交易記錄。而在比特幣的世界,是不存在銀行的,是去中心化的。如何實現呢?所有人都承擔會計員的職責!由于交易都是線上的,參與者們都是通過電腦或者其他執(zhí)行比特幣相關軟件,一般都有能力儲存大量交易記錄,所以讓所有參與者都充當會計員,記錄所有交易,這并不是沒有可能的。當然,現實生活中,只有一部分人充當了會計,剩下的因為各種原因不進行記錄的參與者將完全相信那些一直在記錄的參與者的真實性。下面我們通過一個充滿鄉(xiāng)土氣息的例子來描述中心化與去中心化的區(qū)別。

在山的那頭,有個村莊。村民們之間的互動只有發(fā)生交易(大霧),大家關心的都是最后誰有多少錢。在中心化的運作方式下,有一個村長給大家記賬。當張三要給李四5塊錢時,張三得向村長匯報,接著村長就會在張三的余額上減去5塊,并在李四賬戶里加5塊,并注明是張三給的。而在去中心化的運作模式中,村長是不存在的,每位村民手中都有一個賬本,記錄著所有的交易。當張三給李四匯5塊時,張三得對著鄰里大吼一聲“我張三要給李四5塊”。當鄰居們聽到這聲音的確是張三吼的,確認了交易的真實性,則把這條交易記錄在自個兒的賬本上,同時對著其他沒聽過這條消息的村民們口口相傳,其他村民也同樣確認這消息的確來自張三,記錄,如此往復。在比特幣世界中,各位參與者(節(jié)點)通過一些密碼學的加密解密方式確認消息的真實性以及不被篡改,再深入寫下去就比較復雜了。如此下來,張三有多少錢,李四有多少錢,各位村民都可以通過自己的賬本看得清清楚楚,這種去中心化的記賬方式使得一個人擁有多少比特幣不是由他自己說了算,而是由大家說了算,即如果其他人賬本里寫著此人沒錢,那他就是窮光蛋,倘若大多數人賬本里表面此人有100塊,那么他就有100塊,一種非常民主的記賬方式。

如果僅僅是這樣,最終每個人的賬本都可能不一樣。由于各種狀況,比如暫時無法把消息傳遞給某些村民,或者某些村民聽到“張三給李四5塊”時聽成了“張三給李斯5塊”,甚至很多交易同時發(fā)生到達每位村民的時間不一樣,導致順序不一樣等一系列問題。這時候最好大家能統(tǒng)一一下,比如最近一小時接受到的所有傳聞。這樣大家時不時能同步一下,減少分歧,使得整個系統(tǒng)能協調運作。這就需要一位村民提出自從上一次“統(tǒng)一”之后自己收集到的所有交易,并推薦給大家采納,那么誰來提出這樣一個時段統(tǒng)一的記錄呢?這就涉及到我們經常在新聞中看到的”挖礦“。挖礦本質就是做一個只能靠猜才解的出的數學題,所有村民(其實是所有參與挖礦的)都在盡力做這么一個數學題,誰先猜對答案誰就可以把自己收集到的零散的交易打包成一個包裹,附上答案,打印并分發(fā)給其他村民。其他村民在接收到這個包裹后可以迅速驗證數學題答案是否正確,并驗證文件夾里的交易都符合真實性,便把包裹放在一堆之前接收過的包裹堆最上方,倘若答案錯誤或者有些交易不合法(驗證失敗等),則把包裹扔掉。在此,包裹就是我們??吹降摹眳^(qū)塊“,而一堆包裹就是”區(qū)塊鏈“。最老的文件夾墊在最下,最新的最上,這是一個按順序一個接著一個的鏈式結構。而密碼學的一些方法可以防止村民篡改里面的文件;接收包裹后,村民能做的,只有要么放在文件堆的最上面,要么扔掉。在比特幣的世界中,成功挖出礦,即成功解出數學題的村民,可以得到一定數額的獎勵,目前是12.5比特幣,相當可觀。那些接收了包裹的村民也會向其他村民傳播這個包裹的復制品,如果包裹沒問題,最終大家都會承認包裹中的交易,這樣就統(tǒng)一思想了。注意,在整個過程中,解出數學題的村民并不向其他村民詢問是否接受,整個過程悄無聲息。你想想,你手握幾十萬,去問你的競爭者有沒有答對,不是找打嘛。

細心的朋友可能發(fā)現即便村民遵循包裹的分發(fā)模式,也不一定能保證每位村民屋里的包裹堆都是一模一樣的,因為張三和李四可能差不多同時做出數學題,并向不同方向的村民們開始分發(fā)包裹,王五可能先接受到張三的包裹,但趙六先拿到李四的。為了解決不同村民收到的包裹順序不一致的問題,比特幣的運行規(guī)則有如下解決方案。首先,每個包裹都有編號,按順序遞增。例如,張三已經有98個收到的包裹,那么當他解答出數學題(基于包裹No.98生成的數學題),他可以打包一個包裹編號No.99,發(fā)布出去。而李四也同時做出,他打包的也是編號No.99,這時候其他村民則只會接受第一個拿到的包裹而舍棄第二個,因為它們編號一致,只能先來后到。假設之前98個包裹都是一致的,我們會發(fā)現村民們在第99個包裹上發(fā)生了分歧,王五的包裹No.99來自張三,趙六的No.99來自李四,這樣豈不是又不統(tǒng)一了。沒關系,這只是暫時的不統(tǒng)一。這里需要說明一下數學題的產生機制,數學題是基于每個村民家中最新的包裹而自動生成的,比如王五的數學題是基于張三的No.99生成,而趙六則是另一道題,但不論誰解出最新數學題,都可以制作包裹獲得獎勵。假設這時候趙六在接受李四的包裹后做出了新的數學題,他成功打包發(fā)送給其他村民。由于包裹中不僅僅有交易歷史和答案,還有上一個包裹的概況,因此趙六發(fā)給大家的包裹No.100里傳遞了“上一個包裹是李四的No.99",而收到這個包裹的其他村民驗證包裹的真實性和答案后,則不僅會只是把包裹放在最上,還會檢查No.99是否是李四,若否,則會想方設法把自家的No.99包裹替換成李四發(fā)布的那款,比如向別的村民索要??吹竭@里或許有些亂,請容許我總結一下包裹的屬性以及包裹的接收規(guī)則:1. 包裹具有編號,剛制成的包裹編號為包裹堆最上的包裹號加一;2. 包裹包含制作者自從上一次收到包裹這段時間接受到的合法交易記錄、數學題的答案以及上一個包裹的出處;3. 接收包裹時,先扔掉不合法與答案錯誤的,如果有多個,則挑選號碼最大的,否則保留最先拿到的;4.接收以后,會保證之前的包裹與此包裹所述一致,并確保包裹堆中每個包裹N與“包裹(N+1)指定的之前包裹出處”相同。通過這些規(guī)則,雖然在每位村民的包裹堆最上方幾個包裹可能略有不同,但隨著新的包裹的到來,下面漸漸都會統(tǒng)一。這種方法雖然看起來復雜,不如有一位村長裁定來的簡單快捷,但正是比特幣的創(chuàng)造團隊堅信去中心化的未來趨勢才極力避免任何裁決力量放在少數人手中。

以上就是比特幣去中心化的一個速寫,若有不周還望海涵。 關于比特幣去中心化的意義以及未來的走勢,筆者也在摸索中。但不論未來比特幣的興亡,去中心化這一模式的提出與成功運用必將是個不可逆的發(fā)明,即我們再也回不去沒有這種運作模式的時代了,“一個人的命運啊,當然要靠自我奮斗,但是也要考慮到歷史的行程”??。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容