這篇文章主要和大家介紹下比特幣的交易過程。

比特幣底層技術要點:節點 / 交易過程 / 區塊 / 區塊頭 / 區塊形成 / 區塊分叉
比特幣是不存在的
比特幣不存在與任何地方,包括你的電腦硬盤或者其他任何存儲設備。你持有的比特幣也只是擁有比特幣的地址。這樣的一個地址只是充當了一個銀行賬戶,沒有任何一個實物或者某個數據文件叫做比特幣。
比特幣的所有交易都存放在巨大的賬本文件中,這個賬本就是區塊鏈。你的“銀行賬戶”(比特幣地址)的余額,并不是直接存放在地址中,而是計算出來的。
UTXO是比特幣交易的基本單位
先來一張“比特幣之父”中本聰白皮書里的裝逼圖

UTXO(Unspent Transaction Outputs)是未花費的交易輸出,它是比特幣交易生成及驗證的一個核心概念。
到底什么是UTXO?
舉例說明基于賬戶的支付系統:
張三有一個余額 100 元的賬戶,李四有一個余額50元的賬戶。當張三要付給李四20元時,做以下操作:
- 檢查張三賬戶余額是否充足,如果不足20元就終止交易,向張三報“余額不足”
- 在張三賬戶里減去20元
- 在李四賬戶里增加20元
舉例說明UTXO的支付系統:
張三挖到12.5 枚比特幣。過了幾天,他把其中 2.5 枚支付給李四。又過了幾天,他和李四各出資 2.5 比特幣湊成 5 比特幣付給王五。那么,三人的賬戶變化情況使用UTXO記錄如下:

對比特幣的區塊鏈賬本來說記錄的只是3筆交易記錄。資金來源就是每筆交易的交易輸入,資金去向就是每筆交易的交易輸出。每一筆交易都要花費(Spend)一筆輸入,產生一筆輸出,而其所產生的輸出,就是“未花費過的交易輸出”,也就是 UTXO。
被斯坦福大學密碼學和計算機安全教授 Dan Boneh 評價為“extremely brilliant”的中本聰的三個偉大創新:一個是區塊鏈的設計,一個是UTXO,一個是智能合約。

比特幣的私鑰
比特幣的地址是隨機生成的一串字符串,好像一個透明的存錢罐,誰都可以看到。私鑰也是一串保密的字符串,猶如一把鑰匙,只有持有私鑰的人才能打開這個存錢罐。
為什么交易需要等待10分鐘?
比特幣協議里面設置了挖礦完成的大概時間是10分鐘。所以商家可能會等到你的交易所在的區塊被確認之后才會給你發貨。但是也有商家不會讓你去等,基于對你的一個信任,相信你不會在交易沒有得到確認之前有去拿同一筆錢花在別的地方。不過一般這只適用于小額交易。
10分鐘是被中本聰設計的時間,考慮計算并驗證一筆交易后傳播到全部互聯網需要幾分鐘的時間,為了避免“礦工A和礦工B在不知道對方都計算出結果的情況下同時發送計算結果”的情況,都假設需要10分鐘才可以完成計算。
?交易過程中的手續費
目前,很多礦工都不收手續費。但是隨著每次挖礦成功系統獎勵給礦工的幣不斷減少,未來肯定會有更多的礦工會收取手續費的。有些錢包可以讓你手動設置手續費。交易中那部分沒有被對方收到,同時也沒有找零回來的就是手續費。這筆錢最終會被得到記賬權的那個幸運的礦工所得到。
(原標題:一篇文章讀懂比特幣:區塊鏈底層技術之交易過程)
本文由 @ 區塊鏈老垚 原創發布于人人都是產品經理。未經許可,禁止轉載。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。