一篇文章讀懂比特幣:區(qū)塊鏈底層技術之交易過程

2 評論 7082 瀏覽 36 收藏 5 分鐘

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

比特幣底層技術要點:節(jié)點 / 交易過程 / 區(qū)塊 / 區(qū)塊頭 / 區(qū)塊形成 / 區(qū)塊分叉

比特幣是不存在的

比特幣不存在與任何地方,包括你的電腦硬盤或者其他任何存儲設備。你持有的比特幣也只是擁有比特幣的地址。這樣的一個地址只是充當了一個銀行賬戶,沒有任何一個實物或者某個數(shù)據(jù)文件叫做比特幣。

比特幣的所有交易都存放在巨大的賬本文件中,這個賬本就是區(qū)塊鏈。你的“銀行賬戶”(比特幣地址)的余額,并不是直接存放在地址中,而是計算出來的。

UTXO是比特幣交易的基本單位

先來一張“比特幣之父”中本聰白皮書里的裝逼圖

UTXO(Unspent Transaction Outputs)是未花費的交易輸出,它是比特幣交易生成及驗證的一個核心概念。

到底什么是UTXO?

舉例說明基于賬戶的支付系統(tǒng):

張三有一個余額 100 元的賬戶,李四有一個余額50元的賬戶。當張三要付給李四20元時,做以下操作:

  1. 檢查張三賬戶余額是否充足,如果不足20元就終止交易,向張三報“余額不足”
  2. 在張三賬戶里減去20元
  3. 在李四賬戶里增加20元

舉例說明UTXO的支付系統(tǒng):

張三挖到12.5 枚比特幣。過了幾天,他把其中 2.5 枚支付給李四。又過了幾天,他和李四各出資 2.5 比特幣湊成 5 比特幣付給王五。那么,三人的賬戶變化情況使用UTXO記錄如下:

01mup8i0VSxWupWC9qh63fh80tzoNG35MSsldJ59.png

對比特幣的區(qū)塊鏈賬本來說記錄的只是3筆交易記錄。資金來源就是每筆交易的交易輸入,資金去向就是每筆交易的交易輸出。每一筆交易都要花費(Spend)一筆輸入,產生一筆輸出,而其所產生的輸出,就是“未花費過的交易輸出”,也就是 UTXO。

被斯坦福大學密碼學和計算機安全教授 Dan Boneh 評價為“extremely brilliant”的中本聰?shù)娜齻€偉大創(chuàng)新:一個是區(qū)塊鏈的設計,一個是UTXO,一個是智能合約。

9A9LjwG6GDxhKESLnowf2hHlC3hlwsLXSxLnlWgU.png

比特幣的私鑰

比特幣的地址是隨機生成的一串字符串,好像一個透明的存錢罐,誰都可以看到。私鑰也是一串保密的字符串,猶如一把鑰匙,只有持有私鑰的人才能打開這個存錢罐。

為什么交易需要等待10分鐘?

比特幣協(xié)議里面設置了挖礦完成的大概時間是10分鐘。所以商家可能會等到你的交易所在的區(qū)塊被確認之后才會給你發(fā)貨。但是也有商家不會讓你去等,基于對你的一個信任,相信你不會在交易沒有得到確認之前有去拿同一筆錢花在別的地方。不過一般這只適用于小額交易。

10分鐘是被中本聰設計的時間,考慮計算并驗證一筆交易后傳播到全部互聯(lián)網(wǎng)需要幾分鐘的時間,為了避免“礦工A和礦工B在不知道對方都計算出結果的情況下同時發(fā)送計算結果”的情況,都假設需要10分鐘才可以完成計算。

?交易過程中的手續(xù)費

目前,很多礦工都不收手續(xù)費。但是隨著每次挖礦成功系統(tǒng)獎勵給礦工的幣不斷減少,未來肯定會有更多的礦工會收取手續(xù)費的。有些錢包可以讓你手動設置手續(xù)費。交易中那部分沒有被對方收到,同時也沒有找零回來的就是手續(xù)費。這筆錢最終會被得到記賬權的那個幸運的礦工所得到。

 

本文由 @?區(qū)塊鏈老垚 原創(chuàng)發(fā)布于人人都是產品經(jīng)理。未經(jīng)許可,禁止轉載。

題圖來自Pixabay

更多精彩內容,請關注人人都是產品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 希望多寫一些東西出來 哈哈

    來自廣東 回復