1. 程式人生 > >十分鐘帶你看懂比特幣的運行原理

十分鐘帶你看懂比特幣的運行原理

方法 簽名 版本 不能 不完全 簡單 騙子 發送 二次

技術分享圖片

有一種貨幣目前價值成百上千美元 ,但不是由金子、鉑金或任何貴重金屬制造的,這就是比特幣,那麽比特幣的原理是什麽呢?

針對不方便打開視頻的小夥伴,CDA字幕組也貼心的整理了文字版本,如下:

假設有一種貨幣目前價值成百上千美元 ,但不是由金子、鉑金或任何貴重金屬制造的,實際上這不是你能放在手中或存錢罐中的錢幣。

這是數字貨幣,意味著它只以電子的形式存在。

我說的就是比特幣,比特幣的原理與大多數貨幣很不一樣。

它不依附於國家或政府,因此它沒有中央發行機構或監管機構。這意味著沒有組織機構決定:什麽時候要制造更多的比特幣;決定要制造多少;追蹤比特幣流向或調查欺詐行為。

那麽作為一種貨幣,比特幣是怎麽運作的呢?或者比特幣是如何具有價值的呢?

如果沒有整個互聯網或密碼學,比特幣不會存在。實際上有時比特幣也被認為是世界上第一種加密貨幣。

?比特幣的運行原理

比特幣是數字貨幣。

你能在世界範圍內,點對點互聯網中的計算機間進行比特幣交換。

大多數點對點互聯網的目的在於進行分享。比如讓人們對合法的音樂或電影進行復制從而下載。

技術分享圖片

如果比特幣是數字貨幣,那麽什麽阻止你復制出大量的偽幣,從而變得富到流油呢?

不像mp3或視頻文件,比特幣不是一串可以進行復制的數據。比特幣實際上是一種名為區塊鏈的大型全球分類賬,之後我們會詳細解釋。

區塊鏈會記錄所發生的每筆比特幣交易。截止到2016年底整個分類賬的數據為107GB。

因此當你給他人發送比特幣時,不像發送文件,你實際上是將交易記錄在大型的分類賬上。例如"Michael發給Hank 5個比特幣”。

可能你在想 "等等,你說比特幣沒有中央機構進行記錄”。

雖然比特幣是中央記錄的,但沒有任何官方的人會更新分類賬,像銀行一樣跟蹤每個人的錢。它是分散式的。

實際上任何人都能主動更新區塊鏈的全部新交易,非常多的人都在做。這是可行的,因為許多人在追蹤相同的內容,保證所有的交易是正確的。

假設你和一些朋友在玩撲克,但你們都沒有撲克牌籌碼,而且你忘帶錢,大家都沒有錢。因此你們拿出筆記本開始記錄誰下註了多少,誰贏誰輸。

技術分享圖片

你不完全信任其他人,因此每個人都單獨記錄自己的賬。每一手牌結束時,你們都會對比互相寫了什麽。這樣的話,如果有人記錯了或想作弊,為自己多記一些錢,那就會當場被發現。

在幾手牌之後,你會發現你在筆記本上記錄了錢的流向。你可以把記錄的每頁視為一個交易塊。最終你的筆記本會記錄了許多頁的信息,即一連串的塊,因此形成了區塊鏈。

如果有成千上萬的人在分別維護比特幣區塊鏈,那麽這些分類賬是如何保持一致的呢?

回到之前撲克牌的例子。把整個比特幣點對點網絡視為一個很大的撲克牌桌,周圍坐著數百萬的人參加。有些人只是在交換錢幣,但許多人在主動記錄分類賬。

如何你想發送或收到錢,你必須告訴桌上的每個人,那麽記錄的人就能更新分類賬。

因此每次交易你需要告知比特幣網絡幾點內容:你的賬號;你要發送比特幣的人的帳號;以及你要發送多少比特幣。

所有記錄區塊鏈的人會將你的交易添加到目前的區塊上。

讓許多人記錄交易似乎是不錯的安全措施。但是如何發送比特幣只需要一些賬號數字的話,這樣似乎會存在安全問題。

只是普通錢幣的話,這會是一個大問題,不妨想想那些試圖盜取他人信用卡信息的不法分子。

比特幣中不存在中央銀行去發現有哪兒出了問題,從而阻止欺詐行為,比如突然你把畢生的存款都花在牛肉幹上之類的。

那麽如何阻止Hank假裝是我,把我的比特幣都發送給他自己呢?

多虧了密碼學,比特幣十分安全。這也是為什麽比特幣被認為是一種加密貨幣。

密鑰

具體來說,比特幣能保持安全是由於密鑰。

密鑰含有大量信息從而能從數學上確保一些消息,比如”嘿,這真的是來自我本人”。

當你在比特幣網絡上創建賬號,也就是你聽說的所謂"錢包”。這個賬號連接了兩個獨特的密鑰:私人密鑰和公共密鑰。

技術分享圖片

在這種情況下,私人密鑰對一些數據進行標記,也就是所謂的進行"簽名”。那麽其他人就可以在之後對簽名進行驗證。

假設我想在網絡中發送消息說,”Michael給Olivia發送了3比特幣”。那麽我用我的私人密鑰對消息進行簽名,私人密鑰只有我有,其他人都無法仿制。

接著我將簽名後的消息發送到比特幣網絡中,每個人都能用我的公共密鑰保證我的簽名生效。這樣每個記錄所有的比特幣交易的人,能夠將我的交易添加到他們的區塊鏈副本中。

換而言之,如何公共密鑰奏效的話,這就證明了消息是通過我的私人密鑰簽名的,同時這也是我想發送的內容。

不同於手寫簽名或信用卡號,這種身份證明無法被騙子偽造。

交易中的時間

每筆交易的"誰"是非常重要的,用來確保正確的人在比特幣交易;但”何時"同樣重要。

假設你在銀行賬號中有一千美元,你想買兩個均為一千美元的物品。銀行會接受第一次的購買,拒絕第二次的購買。

技術分享圖片

如果銀行不這麽做你將可以多次使用同一筆錢,這聽起來很棒 ,但也很糟糕。金融系統不能這樣運行,因為沒有人會獲得報酬。

如果我有一筆錢只夠支付給Olivia或者Hank,但我想付給他們兩個人。在比特幣系統中內置了檢查,比特幣網絡和你的錢包會自動檢查你以前的交易,以確保你有足夠的比特幣可供發送。

但圍繞時間又存在一個問題,因為全世界有許多人在記錄區塊鏈的副本,網絡延遲意味著你無法總是以同樣的順序收到交易請求。

現在有許多人有稍微不同的區塊可選,但每個人都不一定是錯的。比特幣要怎麽解決這個問題呢?

數學問題

證明是通過真正解決問題,數學問題。

要添加一個區塊的交易,每個維護分類賬的人必須解決一個由加密哈希函數創建特殊的數學問題。

哈希函數是一個算法,當中輸入的大小任意,但得出的輸出大小固定。

假設你有一些數字作為輸入,哈希函數定義要把這些數字加起來,這種情況下輸出為10。

對於密碼學來說哈希函數很棒的點在於,當你給出輸入,很容易得出輸出。但是給出輸出很難弄清最初的輸入是什麽。

即使是這個簡單的例子,也有很多數字加起來為10。唯一得出輸入為1 2 3 4 的方法就是不斷猜直到答對。

技術分享圖片

如今比特幣使用的哈希函數稱為SHA256,這表示安全的哈希算法256位,最初由美國國家安全局創建。

專門用來解決SHA256哈希問題的計算機,平均需要10分鐘來解決每個問題,意味著在答對前需要數以億計次嘗試。誰第一個解答了哈希問題能夠在交易中添加下一個區塊,從而生成新需要解決的數學問題。

如果許多人幾乎在同時添加了區塊,網絡選出其中一個 這就成為全長且最信任的鏈子。這些沒被選擇的鏈子上的交易將重新被放入池中,將被添加到之後的區塊上。

這些誌願者在專門的計算機上花費了數千美元,從而去解答SHA256問題,付高昂的電費保持機器的運轉,但為什麽呢?維護區塊鏈他們能獲得什麽呢?只是社區服務嗎?

獎勵系統

比特幣其實有內置的系統來獎勵他們。

如今每次當你率先添加區塊到區塊鏈中,就有12.5個比特幣會憑空添加到你的賬號中。

實際上你可能通過比特幣分類賬維護者的另一個名字知道他們:礦工。

因為更新區塊鏈,就像在那些哈希問題上揮舞著鎬頭希望以此致富。

當比特幣在2009年首次被創建時,它沒有太多價值,數十個比特幣可能相當於一堆硬幣。然而在2016年11月10日,一個比特幣價值708美元,因此12.5比特幣價值8850美元,這是很不錯的改變。

每個比特幣的存在都是為了獎勵比特幣礦工而創造的,除了在交易中添加新區塊時獲得的報酬,礦工在每筆交易中還能獲得一小筆小費。

同樣值得註意的是,每到21萬區塊時,當添加新的區塊時,產生的幣數量會減少一半。

因此開始獎勵為50比特幣,減少為25,之後是12.5。在之後幾年會變為6,並且繼續下降。

最終一個區塊中會有很多筆交易,礦工們主要通過從當中獲得小費,這還是值得的。

最新的預測是:最後的比特幣,大約是第2100萬個,會在2140年內被挖到。

技術分享圖片

比特幣數量的減少實際上在模擬地球上被開采金子的速度。目的是限制比特幣提供數量能夠隨著時間提高其價值。

那麽投資比特幣是一個好主意嗎?

在這裏我們不進行深究。

比特幣仍然不穩定並且在實驗階段,很多人喜歡比特幣,還有很多人認為它註定會失敗。

我們覺得這是個有趣的想法,讓我們不禁思考密碼學之後又能為我們做些什麽。

十分鐘帶你看懂比特幣的運行原理