比特幣錢包是如何幫助使用者完成一筆交易的?

買賣虛擬貨幣

在《簡單瞭解比特幣交易過程》這篇文章中,我們簡單瞭解了比特幣交易過程,並引發了一些新的問題,於是在到底是什麼?儲存在哪裡了?文章中,我們首先了解了區塊鏈是什麼,以及如何儲存的。

本篇文章,繼續解答第一課中遺留的問題:

比特幣錢包是如何幫助使用者完成一筆交易的?

回答此問題,我們需要解答下面兩個問題,便自然瞭解了。


1.礦工在交易過程中做了什麼事?


現實生活中,銀行是一個大的記錄賬本的中心機構(對銀行是個大賬本的比喻如果有不懂的使用者,請瀏覽第一課課後輔導①:區塊鏈到底是什麼?儲存在哪裡了?)。如果我們用現金進行交易,其實是沒有經過銀行的,也就是說,銀行並沒有把你和別人的現金交易記錄在案。但是一旦涉及到銀行卡轉賬,或者網上銀行轉賬,每一筆交易都會被銀行這個中心大賬本所記錄。

在比特幣的世界裡,由於每筆交易都是在網上操作的,並且中本聰在設計整個機制時規定了,如果有交易,就必須要被記錄、被驗證,否則這筆交易無效。所以,每筆交易都需要記錄在案。於是中本聰在設計整個機制時,設立了“接收交易、驗證交易並打包收錄交易”這一角色,我們把這個角色叫做“礦工”。每筆交易都需要礦工來負責記錄,不僅要收錄,還要對這筆交易做驗證。所以,如果不告訴礦工,礦工是不能確認這筆交易的合法性的:



2.錢包是如何把交易資訊告訴全球礦工的?


首先,我們需要知道的是,使用者的比特幣並不是一個整體,而是多個地址所儲存的的總額。我們可以把多個地址想象成多個銀行賬號。也就是說,假設張三有13個比特幣,他有8個比特幣存在銀行賬號A中,有3個比特幣存在賬號B中,有2個比特幣存在賬號C中。

接下來,張三在錢包軟體中輸入了10,並輸入了李四的收款地址(收款的銀行賬號),點選傳送時,錢包就知道了張三要傳送10個比特幣。然後錢包找到了屬於張三的地址A、地址B、地址C,從地址A中取了5個幣,從地址B中取了3個幣,從地址C中取了2個幣。但是張三隻想發10個幣,地址A中最後還剩3個幣,仍然存放在地址A中嗎?

錢包的開發團隊在設計錢包的交易機制時,為避免安全風險,每次交易找零的比特幣,都將找零存放到新地址中。我們可以理解為,錢包為張三新創造了一個銀行賬號D,銀行賬號A中在交易時如果有剩餘,則將剩餘的比特幣全部存放在銀行賬號D中。

於是有了如下的交易資訊:

交易流水單號由錢包自動生成。

接著,錢包將這個交易資訊透過網際網路網路,發給與此錢包鄰近的幾個礦工,礦工驗證交易沒問題後,再傳送給與這幾個礦工鄰近的其他礦工,使這筆交易迅速擴散。一會兒的功夫,這筆交易資訊便傳播到了全球的各個礦工那裡。

後面的流程,在通俗易懂第一課 | 簡單瞭解比特幣交易過程簡單講解過,某個礦工爭得了將新區塊加入主鏈的權力,順便將此交易打包到新區塊中,廣播給了全球所有礦工,每個礦工將此新區塊記錄在自己的硬碟中,到此,此交易便可以被認為是已被確認的交易了。

免責聲明:

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

推荐阅读

;