摘要:在比特幣白皮書中,有三段話很關鍵的話,解釋了交易是什么。電子貨幣從所有者轉移給下一個人是通過,所有者使用私鑰,對交易和下一個人的公鑰進行數字簽名,并將數字簽名附在這枚電子貨幣數字簽名鏈的后面。
在比特幣白皮書中,有三段話很關鍵的話,解釋了交易 Transactions 是什么。
雖然數字簽名(Digital signatures)部分解決了電子現金系統的問題,但是仍然需要第三方的支持才能防止雙重支付(double-spending)的話,那么這種系統也就失去了存在的價值。
將一枚電子貨幣定義為數字簽名鏈( a chain of digital signatures)。電子貨幣從所有者轉移給下一個人是通過,所有者使用私鑰,對交易 Transactions 和下一個人的公鑰進行數字簽名 digital signatures,并將數字簽名附在這枚電子貨幣(數字簽名鏈)的后面。收款人對數字簽名進行檢驗,就能校驗自己是否收到了電子貨幣。
在每一筆交易 Transactions 結束后,這枚電子貨幣就要被造幣廠回收,而造幣廠將發行一枚新的電子貨幣;而只有造幣廠直接發行的電子貨幣,才算作有效,這樣就能夠防止雙重支付 double-spend。
第一段話,講清楚了誕生的電子貨幣交易的土壤是數字簽名。
第二段話,講清楚了比特幣中的電子貨幣是什么、如何交易的原理。
第三段話,講清楚了比特幣創建和銷毀電子貨幣流程,保證電子貨幣唯一。
數字簽名在密碼學上,喜歡用 Alice 和 Bob 兩個虛擬人物來舉例的。Alice 代表路人 A,Bob 代表路人 B。后文會經常用到。
在現實世界中,交易達成基于的是文字形式的簽名。比如,Alice 給一張 "Alice 給 Bob 的 100 元" 的支票簽名后,并把通過秘書,將這張簽名后的支票給了 Bob, Bob 找專家驗證簽名無誤后,確認了本次交易。在互聯網上,交易達成基于的是數字簽名。
數字簽名(digital signatures)是基于非對稱加密實現的。先來看下維基百科關于非對稱加密的定義:
非對稱加密(asymmetric cryptography),是密碼學的一種算法,它需要兩個密鑰,一個是[公鑰](),另一個是[私鑰]();一個用作加密的時候,另一個則用作解密。使用其中一個密鑰把明文加密后所得的密文,只能用相對應的另一個密鑰才能解密得到原本的明文;甚至連最初用來加密的密鑰也不能用作解密。
數字簽名是非對稱加密的一種應用方式。數學上,可以通過一個簡單公式來表示,整個數字簽名的大概流程如下:
hash: x = hash(data) send: c(x) and data ------- network ------- receive: c(x) and data verify: d(c(x)) = x = hash(data)
Alice 需要轉 100 元電子貨幣給 Bob。Bob 需要一種手段,驗證該交易是來自 Alice,且 Alice 不能抵賴。
Alice 寫好交易信息 data: Alice 給 Bob 100 元電子貨幣。
Alice 使用哈希算法生成交易信息的哈希值 x = hash(data)。
Alice 通過通過隨機數生成器生成一對秘鑰,其中一個作為公鑰 d,一個作為私鑰 c。
Alice 使用私鑰 c 對交易信息 x 進行簽名,得到數字簽名 c(x)。
Alice 使用互聯網將數字簽名 c(x) 和交易信息 data 傳遞給 Bob。
Bob 使用公鑰 d,對數字簽名進行解密 d(c(x)) 得到交易信息哈希值 x。
Bob 用公鑰 d 解密數字簽名 c(x) 的值得到交易信息的哈希值 x。
Bob 用哈希算法生成交易信息的哈希值 hash(data)。
如果 Bob 生成的交易信息的哈希值 hash(data) 等于 Alice 生成的交易信息的哈希值 x ,那么 Alice 擁有私鑰,否則 Alice 沒有私鑰。
如果 Alice 抵賴,任何人都可重復 Bob 的校驗步驟,并確認交易 data:Alice 給 Bob 100 元電子貨幣。
電子貨幣那么如何定義這 100 元的電子貨幣呢?回到比特幣白皮書。
將一枚電子貨幣定義為**數字簽名鏈**( a chain of digital signatures)。電子貨幣從所有者轉移給下一個人是通過,所有者使用私鑰,對交易 Transactions 和下一個人的公鑰進行數字簽名,并將數字簽名附在這枚電子貨幣(數字簽名鏈)的后面。收款人對數字簽名進行檢驗,就能校驗自己是否收到了電子貨幣。
在比特幣源碼中,將電子貨幣定義為數字簽名鏈,只要 Alice 在電子貨幣后簽名,就相當于這枚電子貨幣屬于了 Bob。這個過程基于的就是前面提到的數字簽名。
到現在為止,基本已經把比特幣交易的整體思路講清楚了。還有很多細節問題,要深入到源碼層面去講,比如
如何把電子貨幣分割?比如,Alice 給 Bob 100 元,Bob 要找給 Alice 90 元。
如何把電子貨幣整合起來?比如,Alice 有兩個 50 元電子貨幣,想換成一個 100 元的電子貨幣。
如何統計現存有效的電子貨幣?比如,Alice 和 Bob 分別有多少電子貨幣。
如何創建、銷毀電子貨幣?比如,Alice 支付給了 Bob 100 元,交易結束后那么 Alice 的電子貨幣就要被銷毀,而 Bob 的電子貨幣需要被創建。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/23956.html
摘要:側鏈側鏈協議允許資產在比特幣區塊鏈和其他區塊鏈之間互轉。實現了比特幣區塊鏈的擴展證明在比特幣系統中驗證交易時,涉及交易合法性檢查雙重花費檢查腳本檢查等。 比特幣項目簡介 比特幣是基于區塊鏈技術的一種數字貨幣實現,比特幣網絡是歷史上首個經過大規模、長時間檢查的數字貨幣系統 比特幣網絡在功能上具有如下特點: 去中心化: 意味著沒有任何獨立個體可以對網絡中的交易進行破壞,任何交易請求都需要...
摘要:作為加密數字貨幣的開山鼻祖,比特幣合理的激勵機制設計是它成功的重要因素。目前比特幣的區塊獎勵是。目前的號提案計劃將基礎獎勵調整至。在的共識機制中,所有的區塊被保留了下來。但這樣的策略為激勵設計帶來了巨大的挑戰。 showImg(https://segmentfault.com/img/remote/1460000017789191?w=893&h=380); 在比特幣系統中,為了保證...
摘要:作為加密數字貨幣的開山鼻祖,比特幣合理的激勵機制設計是它成功的重要因素。目前比特幣的區塊獎勵是。目前的號提案計劃將基礎獎勵調整至。在的共識機制中,所有的區塊被保留了下來。但這樣的策略為激勵設計帶來了巨大的挑戰。 showImg(https://segmentfault.com/img/remote/1460000017789191?w=893&h=380); 在比特幣系統中,為了保證...
閱讀 2097·2021-11-24 09:39
閱讀 1564·2021-10-11 10:59
閱讀 2509·2021-09-24 10:28
閱讀 3383·2021-09-08 09:45
閱讀 1275·2021-09-07 10:06
閱讀 1673·2019-08-30 15:53
閱讀 2068·2019-08-30 15:53
閱讀 1427·2019-08-30 15:53