比特幣“小白”入門概念的集錦

圖片發(fā)自簡書App

本文出自于金馬老師課程——“金馬帶你定投區(qū)塊鏈”的課程,還有“白話區(qū)塊鏈”公眾號中的概念,我的目的就是把對同一個概念不同描述同時記錄下來,做一個對比,更加清楚的理解。

一方面,我是屬于“盜版”,如果你覺得對你有價值,可以加入金馬老師的“金馬帶你定投區(qū)塊鏈”小密圈,它的課程可以幫你實現(xiàn)財富自由,也算是為老師做個推廣。

另一方面,我是為了自己對區(qū)塊鏈有個基礎了解,看到不同的概念,可以直接從這里作對比。

1.什么是比特幣?

金馬老師給的定義:

比特幣有兩層含義,比特幣是第一個區(qū)塊鏈實現(xiàn),比特幣也是一種數(shù)字貨幣,我們今天重點說第二層含義。

第二層含義中,比特幣是一種數(shù)字貨幣,沒有實體, 擁有存在數(shù)字錢包里的密鑰是使用比特幣的唯一條件,這讓控制權完全掌握在個人手中。

笑來老師給的定義:

第一種含義:比特幣是這個世界上是一個被證明為成功的區(qū)塊鏈應用。

第二種含義:運用去中心化的技術去維護的一個公開賬戶或者賬務公開的的世界銀行,建立在區(qū)塊鏈技術基礎上的世界銀行。

第三種含義:去中心化的,有p2p的技術加密技術,區(qū)塊鏈技術,去保證賬務公開的世界銀行叫做比特幣的世界銀行。發(fā)行了一種貨幣,恰巧也叫比特幣。進一步說比特幣是一種貨幣。

第四種含義:在這樣一個世界里,不像現(xiàn)實世界一一對應,它可以是一個銀行、可以是一個貨幣,比特幣銀行所發(fā)行的貨幣也叫比特幣。這個比特幣其實某種意義上相當于這家去中心化的世界銀行的股份、股票。

舉一個例子:

如果跳廣場舞的大爺大媽們跑來問什么是比特幣,我們該怎么解釋給他們聽呢。咳咳,旎叫瘦開講咯,學著點哦~

假設廣場舞俱樂部為了鼓勵大家多來跳舞,規(guī)定每來一次加2分,無故不來扣3分,領舞一次加1分......積分變動的情況由俱樂部的王阿姨來記錄。積分可以在年底兌換花生油等獎品……

其實,現(xiàn)實生活中,銀行的職責和王阿姨的職責是一樣的——都是記賬(只不過王阿姨記的是積分,銀行記的是錢)。發(fā)工資了,銀行給你的賬戶上加2000塊錢;買了一瓶洗發(fā)水減20元;存款一年加利息100元;轉賬就是在你賬戶上減1000,在對方賬戶上加1000......

但銀行與王阿姨最大的不同在于,王阿姨是免費為大家服務的,銀行卻要問我們收錢,辦卡費、年費、轉賬費......看看銀行有多少座高樓大廈、雇了多少員工,就知道銀行收了我們多少錢了。

如果某天我們不想要銀行或王阿姨記賬了,可以實現(xiàn)嗎?

太可以了,比特幣就是這樣的。

我們可以把使用比特幣的人看成是一個廣場舞俱樂部的成員,這個俱樂部的積分是這樣規(guī)定的:
1)每個人的最初的積分(就是比特幣)數(shù)額都是0;
2)社群里的人共同維護一個賬本,無論是否有變動,賬本每10分鐘更新一次,更新后要通知社群所有人;
3)社群里的任何一個人都有權記賬,只要記賬,就能獲得50個比特幣的獎勵(每四年減半,現(xiàn)在是12.5個比特幣)。
4)所有想記賬的人都要算同一道數(shù)學題,第一個算對的人才有資格記賬。
5)比特幣的上限是2100萬枚。如果全都發(fā)完了,搶到記賬權的人就可以得到過去10分鐘內(nèi)所有轉賬的手續(xù)費。

我們把搶記賬權從而獲得比特幣獎勵的過程,稱為挖礦。

最初比特幣是沒什么價值的,只有他的發(fā)明者中本聰愿意挖礦。在中本聰默默的挖了100多萬枚比特幣之后,終于開始陸續(xù)有人加入到挖礦隊伍中。再后來,一些實體店鋪、網(wǎng)站等開始接受比特幣支付,人們對比特幣的需求量越來越大,比特幣就越來越值錢了。

這樣的講法,大爺大媽們應該能聽懂吧?至少我那個每天都跳廣場舞、一直擔任領舞的老媽已經(jīng)聽懂了,哈哈哈~~~

2.什么是挖礦?

不同于央行統(tǒng)一發(fā)行的人民幣,比特幣是通過“挖礦”產(chǎn)生的。挖礦其實就是比賽解決一個數(shù)學問題,算得快的人得到新幣加以鼓勵。在這個過程中,每個礦工都用他的算力在驗證和記錄交易。相當于將央行貨幣發(fā)行和結算的任務分配給了每一個參加挖礦比賽的人,這就是“分布式”計算。

白話區(qū)塊鏈給的解釋:

什么是比特幣說的“挖礦”?
答:比特幣中的“挖礦”實際上就是記賬的過程,比特幣的運算采用了一種稱為“工作量證明(Proof of Work,PoW)”的機制,系統(tǒng)為了找出誰有更強大的計算能力,每次會出一道數(shù)學題,只有最快解出這道題目的計算機才能進行記賬。而搶到記賬權的計算機會獲得25個比特幣的獎勵。通常把這個行為稱為“挖礦”,把獲得的比特幣視為挖礦成功獲得的獎勵

3.通貨緊縮貨幣

通貨膨脹的產(chǎn)生原因之一是政府超量地發(fā)行貨幣,這讓我們每個人手里的錢都會越來越不值錢。而比特幣的協(xié)議規(guī)定的是,新幣的開采速度每四年就會減半,總的來說比特幣總量不會超過2100萬枚,并將在2140年左右達到。比特幣總量的變化曲線如下圖。

圖片發(fā)自簡書App

所以,從長期來看,比特幣是通貨緊縮貨幣。持有比特幣是規(guī)避通貨膨脹的手段之一。這個圖的橫坐標是時間,縱坐標是比特幣數(shù)量。

我們看到越往后能挖出去的比特幣會越少,自然挖礦成本就越高。

4.去中心化
傳統(tǒng)貨幣系統(tǒng)的操作是“中心化”的,買賣東西總是要通過銀行或大公司來拿錢或者收錢,否則就沒有辦法建立信任。例如,我們在淘寶上買東西,需要先把錢付給阿里巴巴,等確認收貨了,阿里巴巴再把錢轉給商家。

比特幣的創(chuàng)新之處就在于,完全“去中心化”,不依賴阿里巴巴這樣的中央權威。我可以直接把錢打給你,但也不怕你抵賴,因為在交易發(fā)生的時候全網(wǎng)無數(shù)的賬本都會共同記錄下這筆交易。而這個同步的記錄過程是分布式、去中心化的。

5.比特幣的四個創(chuàng)新點

金馬老師給的定義:

1.一個去中心化的點對點網(wǎng)絡:我可以直接向你發(fā)錢,不用通過銀行、阿里巴巴等大公司

  1. 一個公共的交易賬本:所有的交易都被記錄在了全網(wǎng)共同維護的大賬本中,也就是大名鼎鼎的“區(qū)塊鏈”技術。
  1. 一個去中心化的數(shù)學的和確定性的貨幣發(fā)行:世界各地的礦工們都在比賽解數(shù)學題找?guī)牛瑤懦霈F(xiàn)的速度會越來越慢,總量是確定的。
  1. 一個去中心化的交易驗證系統(tǒng):不需要權威機構就能互相“驗明正身”。紙幣可能會出現(xiàn)“造假”的情況,一張錢出現(xiàn)在不同的兩個地方。但比特幣通過數(shù)學驗證機制保證了不會出現(xiàn)這樣的“雙重支付”。

白話區(qū)塊鏈介紹比特幣的特點:

1)去中心化。不依賴任何一個中心記賬,而是由所有人一起來維護一個賬本,任何人都可以去搶記賬權。

2)不可篡改。每一個區(qū)塊都被蓋上了時間戳,所有區(qū)塊首尾相連,一旦想更改區(qū)塊內(nèi)的數(shù)據(jù),時間戳就對不上了;而且俱樂部所有人都在盯著呢,想篡改至少要有超過一半的人愿意跟你一起“指鹿為馬”。

3)公開透明。任何一個賬戶的往來賬目都可以在區(qū)塊鏈上查到。當你轉賬給別人時,不用擔心對方收了錢不認賬,區(qū)塊鏈上都記得一清二楚呢。

4)抗審查。政府不能讓比特幣掛掉,除非它不讓任何人挖礦,也就是把全世界的網(wǎng)絡弄癱瘓了,而銀行、支付寶、微信要掛掉只是政府一句話的事(比如收回支付寶的牌照);你的比特幣存在一個去中心化的網(wǎng)絡里,任何人不能搶走,而政府隨時都可以“搶走”你銀行卡里所有的錢(比如你吃了官司)。

5)國際化。因為比特幣只存在于互聯(lián)網(wǎng),如果想轉賬、支付、購買比特幣,只需要聯(lián)網(wǎng)操作一下就可以了。從比特幣錢包的下載數(shù)據(jù)來看,全世界有200多個國家在用比特幣,比美元、人民幣等貨幣都更加國際化。

6)抗通脹。人民幣的總量是沒有上限的,政府每年都在大量印錢,比特幣的上限是2100萬,任何人不得更改。

6.比特幣的客戶端

參與比特幣交易基本有兩種方式,一種是維護一個“完整客戶端”,自己保存所有的比特幣整個交易歷史,不依賴于其他的服務器和第三方服務。另外一種是普通用戶常用的“輕量級客戶端”,不保存完整歷史,而通過信賴的第三方服務器來獲取交易信息。大家通過okcoin、云幣網(wǎng)購買BTC就是這種形式。

由于第三方介入是有風險的,即使比特幣的交易賬本是全網(wǎng)公開透明的,選擇了不可靠的在線錢包服務還是可能會丟幣。所以大家一定一定要選擇有信用的靠譜的第三方交易客戶端。

7 使用比特幣客戶端

比特幣客戶端通常由一個錢包和多個比特幣地址組成。比特幣地址是可以公開的,任何人都可以通過這些地址轉錢到你錢包。

發(fā)送比特幣只需要輸入地址和金額,收到錢的人會用私鑰(以下會介紹)簽名這筆交易,這就公告了全網(wǎng):比特幣從一個地址轉移到了另外一個地址。從交易完成到“確認”大概需要10分鐘,因為交易須由礦工開采打包成區(qū)塊,這樣才會被全網(wǎng)接受為“已確認”。

8.私鑰

比特幣的地址相當于帶鎖的信箱,私鑰就好比這個鎖唯一的鑰匙。比特幣地址是公開的,每個人都可以往這個地址發(fā)錢,但只有握有“私鑰”的人才能打開用這個地址上鎖的比特幣。因為只要知道私鑰就可以取走你的比特幣,所以私鑰一定要好好保管。

9.比特幣交易過程

A給B付款0.1BTC的過程是這樣的:A將要付B的0.1BTC用B的”專屬地址“鎖起來,然后向全網(wǎng)發(fā)送,相當于向所有人吼了一聲:“我向能打開這把鎖的人發(fā)送了0.1BTC”。

B在網(wǎng)絡中會馬上收到這條信息,于是拿出私鑰試試能不能打開這把鎖。因為只有B錢包里的私鑰才可以匹配這個地址,所以只有B能兌換這筆錢。

10.將交易記錄在總賬本中

交易信息必須要被傳送到比特幣網(wǎng)絡中,成為總賬本的一部分。這個賬本叫做區(qū)塊鏈。一個“區(qū)塊”里面記錄了一段時間內(nèi)的所有交易信息,“鏈”則是因為所有的歷史數(shù)據(jù)塊會一個個串聯(lián)起來。

(1)全網(wǎng)傳播

比特幣的賬本是分布式的,網(wǎng)絡中的每個節(jié)點都在幫助記賬。A給B付款0.1BTC的時候,只需要向身邊的節(jié)點大吼一聲,收到信息的節(jié)點又迅速向自己的鄰居發(fā)送這個消息。一傳十十傳百,只要幾秒鐘就能傳遍整個網(wǎng)絡。現(xiàn)在,所有人都知道“A給B付款0.1BTC”。

(2)挖礦驗證

這個交易在比特幣網(wǎng)絡上傳播開來,但只有被礦工們“挖礦”驗證并加到一個新區(qū)塊中里,這個交易才會成為總賬本的一部分。

11. 挖礦

挖礦的過程是將過去一段時間的交易記錄打包成一個區(qū)塊,這個過程也會創(chuàng)造新比特幣。

挖礦其實可以想象成很多人一起來找“數(shù)獨”游戲的解(9x9的數(shù)獨就是要求每行每列每個對角線都有1-9),礦工們解題的辦法就是笨笨地不斷去試,沒有更快的方法,只能比誰試得更快運氣更好。

數(shù)獨游戲的難度可以通過改變行列大小來調(diào)整。想象一下求解一個幾千乘幾千的數(shù)獨,確實有難度。但是,如果給你一個已經(jīng)填好的數(shù)獨,你就可以很快驗證這個解是否有效(檢查每行每列有沒有重復的數(shù))。

“解起來困難而驗證容易”就是比特幣解謎游戲的最大特點。當然,真實的比特幣謎題其實是基于哈希加密算法,我們以后還會更詳細地談到。

一筆交易需要通過解題構建區(qū)塊來證明它有效,礦工們都在齊心協(xié)力地為這個區(qū)塊貢獻計算量,計算量越多意味著更多的人信任這筆交易是有效的。

12.礦池

礦池就是礦工們組隊解題,贏了就按工作量分配收獲的比特幣。在這個時代,單打獨斗已經(jīng)很難做成一件事情了,挖礦也一樣。

13. 區(qū)塊鏈

區(qū)塊鏈就是一個一個區(qū)塊鏈起來。

區(qū)塊一個接一個產(chǎn)生,當前區(qū)塊鏈的產(chǎn)生基于前一個區(qū)塊,所以每次解當前的區(qū)塊都會為之前的交易增加一次證明,也就在網(wǎng)絡中得到了更多的信任。

隨著鏈的增長,計算復雜度不斷增加,以往的區(qū)塊也就越來越難以刪改(一個區(qū)塊獲得6次以上證明就基本不可能撤銷了)。所以驗證一個交易有效的簡單手段就是確定這個交易在區(qū)塊鏈中、后面有幾個新的區(qū)塊。

你可以這么理解,寫好的區(qū)塊就像潑出去的水。

此外,我們可以通過區(qū)塊鏈順藤摸瓜追溯每一筆歷史交易,這就保證了比特幣的來源都是清晰有記錄的。

圖片發(fā)自簡書App

白話區(qū)塊鏈中的解釋:

什么是區(qū)塊鏈?

區(qū)塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠數(shù)據(jù)庫的技術方案

通俗一點說,區(qū)塊鏈技術就指一種全民參與記賬的方式。所有的系統(tǒng)背后都有一個數(shù)據(jù)庫,你可以把數(shù)據(jù)庫看成是就是一個大賬本。那么誰來記這個賬本就變得很重要。目前就是誰的系統(tǒng)誰來記賬,微信的賬本就是騰訊在記,淘寶的賬本就是阿里在記。但現(xiàn)在區(qū)塊鏈系統(tǒng)中,系統(tǒng)中的每個人都可以有機會參與記賬。在一定時間段內(nèi)如果有任何數(shù)據(jù)變化,系統(tǒng)中每個人都可以來進行記賬,系統(tǒng)會評判這段時間內(nèi)記賬最快最好的人,把他記錄的內(nèi)容寫到賬本,并將這段時間內(nèi)賬本內(nèi)容發(fā)給系統(tǒng)內(nèi)所有的其他人進行備份。這樣系統(tǒng)中的每個人都了一本完整的賬本。這種方式,我們就稱它為區(qū)塊鏈技術。

14.完整客戶端

自己維護一個全節(jié)點客戶端的成本比較高,但是可以保證你的錢包是安全的。如果你有幾千個甚至幾萬個比特幣,可以考慮用這種方式來實現(xiàn)安全存儲。

從bitcoin.org下載的客戶端包含了比特幣系統(tǒng)的所有方面,是一個獨立的完整節(jié)點。但是正因為包含了所有歷史數(shù)據(jù),下載整個區(qū)塊鏈可能就需要好幾天,請確保你有足夠的容量的硬盤、帶寬和時間。

15.編譯比特幣源碼

對于開發(fā)者,可以從GitHub上的比特幣頁面 https://github.com/bitcoin/bitcoin 下載代碼自行編譯,從終端運行bitcoind,也需要下載所有區(qū)塊。

在書里面一步步教授了比特幣核心的JSON_RPC API接口的使用,包括以下技能點:

1.獲取比特幣核心客戶端狀態(tài)信息
2.錢包設置及加密
3.錢包備份、純文本導出和恢復
4.錢包地址及接收交易
5.查看區(qū)塊信息
6.基于UTXO(未花費的交易輸出)的建立、簽名與提交

16.密鑰

比特幣交易需要用有效的“數(shù)字密鑰”產(chǎn)生的簽名認證。

密鑰是成對出現(xiàn)的,由一個“私鑰”和一個“公鑰”所組成。公鑰就像銀行的帳號,而私鑰就像控制賬戶的PIN碼或支票的簽名。

公鑰用來接收比特幣,私鑰用來對收到的比特幣進行簽名。公鑰可以由私鑰唯一產(chǎn)生,但是知道公鑰卻不能反向推導出私鑰,這就保證了比特幣的安全性。 如果你知道一點密碼學的知識,這就是非對稱加密。

17.地址

比特幣的地址是通過賬戶主人的公鑰產(chǎn)生的,只需要把比特幣地址告訴其他人,別人就可以給你轉賬。

18.私鑰、公鑰、比特幣地址之間的關系

從私鑰可以唯一生成公鑰,公鑰可以生成比特幣地址。但反向都是解不出來。私鑰必須始終保持機密,丟了私鑰就相當于丟了比特幣。


圖片發(fā)自簡書App

這個圖可以讓你了解非對稱加密。

19.錢包與助記詞

由于完全無規(guī)律的密鑰對不便于維護和記憶,現(xiàn)在的錢包多是從一個“種子”出發(fā)生成許多關鍵的鑰匙。如圖所示,子子孫孫地繁衍出新的密鑰。

種子可以是隨機生成的數(shù)字,也可以用助記詞來生成。單詞的順序就是錢包的備份,可以用來恢復或重新創(chuàng)造新的錢包的鑰匙。助記詞可以讓人們更容易抄寫和儲存。

這里要提醒的是,由于知道了助記詞就能重新創(chuàng)建種子恢復錢包,助記詞一定要妥善保管。不少人使用imtoken的時候給助記詞截了圖,導致錢包信息泄露。

切記切記不要截圖,最好是抄寫下來。


圖片發(fā)自簡書App

家下來的內(nèi)容會涉及密碼學和數(shù)學,我們用盡量通俗的方式來解釋哈,你不要有壓力,即使讀不懂,也要讀完哈。

20.橢圓曲線加密(從私鑰到公鑰)

通過橢圓曲線加密算法,可以從私鑰計算得到公鑰,這是不可逆轉的過程:K = k * G 。其中k是私鑰,G是被稱為生成點的常數(shù)點,而K是所得公鑰。

我們用一個例子來理解橢圓曲線加密:

小明就讀于小學二年級,會計算加法,但是不會計算除法。
你:“小明小明,過來,叔叔問你,1+1等于幾?”
明:“等于2。”
你:“那考你個難的,7+7等于幾?”
明:“切,等于14唄。”
你:“行,那叔叔再問你,幾個7相加等于56?”
明:“……”,默默掏出草稿紙、鉛筆、手指頭、腳趾頭,進行了10分鐘的深度計算:2個7等于14,3個7等于21,4個7等于28……。“叔叔,我算出來了,是8個,對不對?”
你:“好小子,叔叔就不信考不倒你。幾個7相加等于8***92?” 你心中默念,以小明的計算能力,要算到這個數(shù)恐怕得一年半載的。
明:“叔叔好厲害呀,我算不出來。”

對于橢圓曲線代碼來說,固定的生成點G就是例子里面的7;私鑰k就是例子里面的8,也就是對G進行加法的次數(shù)(G+G+...+G = kG);公鑰K是得到的結果(56和8-92)

上面的數(shù)字 8----92 竟然被打星了,奇怪。

我們繼續(xù),和上面的例子不同的是,橢圓曲線密碼中的“加法”是建立在“有限域上的二元三次曲線的點”上的。

具體的說,這個加法可以表現(xiàn)為以下兩個圖。將兩個點連線之后求曲線交點關于x軸的對稱點。圖a是兩個不同的點相加,圖b是兩個相同的點相加。

圖片發(fā)自簡書App
圖片發(fā)自簡書App

這個加法有兩個很重要的特點

(1)正向計算(從私鑰計算公鑰)很簡單。

(2)逆向計算(從公鑰反推私鑰)很困難。從公鑰反推私鑰只能像例子中的小明一樣用傻瓜窮舉法,以目前的計算能力,攻破橢圓曲線是不現(xiàn)實的。

看個例子理解一下為什么正推容易,反推難:

橢圓曲線加密公式:K=kG。
正推:已知k,G,求k
G。
反推:已知K,G,求k。
先看反推,反推只能用最傻瓜的窮舉法,比如k=10。
G==K?[No]
G+G=2G==K?[No]
2G+G=3G==K?[No]
3G+G=4G==K?[No]
4G+G=5G==K?[No]
5G+G=6G==K?[No]
6G+G=7G==K?[No]
7G+G=8G==K?[No]
8G+G=9G==K?[No]
9G+G=10G==K?[Yes]
花了10步找到答案, k=10。
再看正推。
已經(jīng)知道k=10。
G+G=2G
2G+2G=4G
4G+4G=8G
8G+2G=10G=K
四步就找到答案。

哈哈,有點暈了嗎?不是很復雜,如果沒看懂建議你再看一遍。如果實在看不懂,你記住正推容易,反推幾乎不可能就好了。

21.哈希函數(shù)(從公鑰到比特幣地址)

比特幣地址是由公鑰經(jīng)過單向的哈希函數(shù)生成的。

哈希(Hash)是一種數(shù)據(jù)編碼方式,將大尺寸的數(shù)據(jù)(如一句話,一張圖片,一段音樂、一個視頻等)濃縮到一個數(shù)字中,從而方便地實現(xiàn)數(shù)據(jù)匹配、查找的功能。

比如這里有一萬首歌,給你一首新的歌X,要求你確認X是否在那一萬首歌之內(nèi)。

將一萬首歌每一個音符和X比對非常慢。那么,我們可以將每一首的數(shù)據(jù)濃縮到一個數(shù)字指紋上(稱為哈希碼),得到一萬個數(shù)字,再將X的數(shù)字指紋和這一萬個數(shù)字比對,就能知道X是否在那一萬首歌中。

顯然,有可能多首歌的哈希碼是同一個。好的哈希算法會盡量減少這種沖突,讓不同的歌有不同的哈希碼。

就算真有極小概率出現(xiàn)不同的歌有相同的哈希碼,那也只有寥寥幾首歌,此時再一首首比對即可。

作為例子,如果要你要哈希那一萬首歌,一個簡單算法就是讓歌曲所占硬盤的字節(jié)數(shù)作為哈希碼。這樣的話,你可以讓一萬首歌“按照大小排序”,然后遇到一首新的歌,只要看看新的歌的字節(jié)數(shù)是否和已有的一萬首歌中的某一首的字節(jié)數(shù)相同,就知道新的歌是否在那一萬首歌之內(nèi)了。

再說一個題外話,我是一名程序員,我?guī)状蚊嬖嚩贾兴惴}都被考到了 Hash 的實現(xiàn)。

所以,如果你也是一名程序員,一定了解了解 Hash。

22.比特幣交易的生命周期

圖片發(fā)自簡書App

交易在全網(wǎng)的傳播

每個比特幣節(jié)點都和一些其他節(jié)點相連,形成一個巨大的網(wǎng)狀結構。每個節(jié)點收到交易之后都會進行驗證,如果有效就傳播到其他節(jié)點,如果無效就拒絕并返回。一筆有效的交易在幾秒鐘能就會傳遍全網(wǎng)。

比特幣網(wǎng)絡有以下特點:

  1. 沒有中心,所有節(jié)點的地位都是同等的

  2. 傳播靈活高效,能夠抵御攻擊。

  3. 每個節(jié)點在傳播交易之前都會獨立驗證,增加可靠性。

23. UTXO

這個概念很重要,對你理解很有幫助,要認真理解它。

比特幣交易的基本單位是UTXO“未花費過的一個交易輸出”。在比特幣的世界里既沒有賬戶,也沒有余額,只有分散到區(qū)塊鏈里的UTXO。

要理解UTXO,我們假設一個這樣的場景:張三挖到12.5 枚比特幣。過了幾天,他把其中 2.5 枚支付給李四。又過了幾天,他和李四各出資 2.5 比特幣湊成 5 比特幣付給王五。

如果是基于賬戶的設計,張、李、王三人在數(shù)據(jù)庫中各有一個賬戶,則他們?nèi)说馁~戶變化如下圖所示:


圖片發(fā)自簡書App


我們正常理解,應該是按照上面的圖

但在比特幣中,這個過程是通過 UTXO 實現(xiàn)的,圖示如下:


圖片發(fā)自簡書App

看圖你會發(fā)現(xiàn),上一筆交易的輸出是下一筆交易的輸入,形成一條交易鏈。在一筆交易中,被交易消耗的UTXO被稱為交易輸入,由交易創(chuàng)建的UTXO被稱為交易輸出。

比特幣錢包通過掃描區(qū)塊鏈并聚合所有屬于該用戶的UTXO來計算該用戶的余額。當用戶付款時,他的錢包通過選擇可用的UTXO來構造一筆交易。一旦UTXO被選中,錢包會為它生成包含簽名的解鎖腳本,相當于把錢柜打開取錢出來支付。

24.交易費

大多數(shù)交易都需要支付交易費,作為對辛勤工作的比特幣礦工們的勞動費。交易費可當做礦工們確認區(qū)塊的獎勵,交易費的多少會影響處理的優(yōu)先級,有足夠費用的交易會更早被包含在下一個挖出的區(qū)塊中,也就更早得到確認和驗證。交易費大多數(shù)情況下都是由錢包程序替你自動計算出來的。

順便提一句,為什么 steem bts eos 不需要交易費?這是課后作業(yè)。

25.交易驗證:UTXO的鎖定與解鎖

比特幣的交易驗證引擎依賴于兩類腳本來驗證比特幣交易:一個鎖定腳本和一個解鎖腳本。

(1)鎖定腳本

A給B的比特幣地址付款時,A會輸出一個UTXO,用含有B地址的鎖定腳本給這個輸出的UTXO上鎖,相當于告訴大家:花這筆錢的條件是能打開這個鎖。

(2)解鎖腳本

B要使用UTXO來付款時,需要用解鎖腳本證明自己能把之前A上的鎖打開,說明自己滿足花這筆錢的條件。解鎖腳本包含一個用B的私鑰生成的有效簽名。

(3)交易驗證

每一個比特幣客戶端都會同時執(zhí)行鎖定腳本和解鎖腳本來驗證這一筆交易。只有一筆有效的交易才會導致UTXO被標記為“已使用”,然后從有效的(未使用)UTXO集中所移除。

圖片發(fā)自簡書App

希望大家關注一下金馬老師的小密圈:

圖片發(fā)自簡書App
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內(nèi)容

  • 以下為金馬老師《精通比特幣》解讀的文稿整理。 第一章 介紹 1.1 什么是比特幣 (1)比特幣是一個區(qū)塊鏈實現(xiàn) (...
    夢之郎閱讀 13,343評論 6 61
  • 12. 就像一棟房子多少可以居住一樣,一本書多少也可以閱讀一下。可讀性最高的作品是作者達到了建筑學上最完整的整體架...
    黔愚公閱讀 309評論 0 0
  • 張清的日精進第94天 體驗入 今天全公司都在宣講得錦旗的事。 都是全員生發(fā)的學員。 找核心 員工之魂 轉身用 有交...
    kiyoi2017閱讀 185評論 0 3
  • 今天淘姨發(fā)貨時候,看見一位買家名字叫“平克”,于是忍不住想問問他貴姓……
    故事大姨淘淘閱讀 78評論 0 0
  • 秋冬吃點仙草好 潤膚清肺保五臟 提高免疫防未病 排毒養(yǎng)腎人健康
    且惜且愛閱讀 931評論 0 3