比特幣里如何完成支付交易了,下圖是中本聰論文里的交易流程圖,如下所示:
說到支付交易就牽涉比特幣原理之一的非對稱加密以及數字簽名技術。在比特幣的知識范疇里有一個錢包的概念,錢包的本質就是一對非對稱加密的公鑰和私鑰,如果我們把比特幣的使用映射到現實的使用者即人,那么公鑰就是這個人對外的唯一身份標識,私鑰則是使用者開啟錢包使用比特幣的鑰匙。公鑰是對外公開的,在比特幣的規則里公鑰即代表了網絡里錢包使用者的地址。
按照比特幣的規則定義,公鑰的長度是512個字節,為了方便公鑰在網絡上的傳播,公鑰要被轉化為160位的數字指紋,數字指紋是二進制編碼,轉化為字符串就是26到35位的字符。
那么假如A向B支付比特幣,那么A就得要知道B的地址,這樣A才能把比特幣發送給B。下面我將描述下這個支付的流程,具體如下:
A向B支付比特幣的交易即A的地址向B的地址轉移比特幣的過程,下面我們舉例說明:
首先是A向B發送數據,這些數據包含如下內容:
上一筆交易的 Hash(你從哪里得到這些比特幣)
本次交易雙方的地址
支付方的公鑰
支付方的私鑰生成的數字簽名
B收到信息后進行相關驗證,驗證過程如下:
第一步,找到上一筆交易,確認支付方的比特幣來源。
第二步,算出支付方公鑰的指紋,確認與支付方的地址一致,從而保證公鑰屬實。
第三步,使用公鑰去解開數字簽名,保證私鑰屬實。
驗證無誤,B認為該交易是可以執行,注意:這里只是認為該交易可以執行,并沒有確認該交易有效成功。
從支付交易的傳輸數據和驗證流程我們可以看到,比特幣的支付過程中主要是使用到了支付方即A的交易數據信息以及A的公鑰和私鑰,被支付方即B只是做驗證操作的有效性而已,被支付方B自己的公鑰、私鑰以及交易信息都沒參入支付過程,因此我們可以認為私鑰和公鑰主要是用于把比特幣用花出去的場景。
如果想要交易最終被確認成功,接下來被支付方B就要將該筆交易廣播到全網去了,如是流程進入到了交易廣播的階段。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。