基礎入門

比特幣基礎篇

比特幣既是是用戶們存儲跟交易的數位 coin,也是構成整個系統生態的技術總稱。
使用比特幣轉帳,可以做到跟傳統貨幣一樣的作用,購買商品、匯款給別人,或者提供借貸,而且比特幣網路更大的優點就是「全球無國界」,跨國轉帳不用擔心銀行的諸多限制跟高額手續費。

bitcoin-101-cover-6

比特幣交易的旅程地圖:從發布交易到交易上鏈(下)

比特幣的去中心化點對點網路,其實是一個龐大的「分散式帳本系統」,也就是區塊鏈,分散式帳本的基本單位是一個節點(node),節點是一台伺服器或錢包軟體都有可能,彼此根據比特幣協議定義的規則作通訊與互動。

區塊鏈如上所說它就像是紀錄交易的帳本,帳本的一頁就是一個區塊(block),每頁(每個區塊)接在一起,形成區塊鏈。在比特幣網路裡每個*全節點都擁有一本完整的帳本副本,為了使每個節點都正確更新到最新的資料,就要倚賴節點間的互相傳播了。

*儲存了完整交易歷史紀錄帳本的節點成為「全節點」.一般我們在手機上使用的錢包應用多屬於輕量節點, 僅儲存跟自己錢包帳戶相關的交易紀錄 ,需要跟全節點連結,才能訪問全網的交易紀錄。(關於節點的類型分類,我們會留到比特幣進階篇再做解釋。)

在前一章節,Lisa 跟 Jason 那筆尚未確認、尚未添加到區塊鏈上的交易,已經透過「溢散式傳播」的方式,傳播給全網大部分的節點,並被加入了由每個節點維護的未驗證交易的臨時池,後續這筆交易將會經歷到被打包出塊(block)、被礦工挖掘出來到最終被添加進區塊鏈的 3個階段,讓我們一個一個階段慢慢解釋與理解。

(由於本篇文章與上篇文章是連貫呈現的,建議先閱讀完上一章節,再延續閱讀本篇)

階段一:交易被納入「候選區塊」

現在有一名獨立礦工 Ben,他所運行的礦工節點收到了Lisa 跟 Jason 的交易內容,經驗證為有效的交易後,被放進了該節點所維護的臨時池裡,這個臨時池充滿了未經驗證的交易,池子裡交易們的排隊順序會按手續費高地來排序。

Ben 的礦工節點會從池子中隨機選出容量上限1MB的交易數目打包成一個候選區塊(如同帳本的其中一頁)。在這個區塊中,Ben 會再自行添加一筆新交易指向自己的地址,如果他能在後續讓自己創造出的區塊成功被加到區塊鏈上的話,便能獲得這筆「挖礦獎勵」以及區塊裡所有交易的手續費總和。

Lisa 跟 Jason 的交易正好被 Ben 打包出塊後,準備進行挖礦的主軸環節。

階段二:「挖礦」的過程

當礦工節點打包出一個區塊後,會開始使用挖礦設備的電力進行名為「工作量證明計算」的競賽,

競賽的意義在於:決定誰的區塊能真正成為比特幣區塊鏈的下一個新區塊,如同健美先生選美一般。所有礦工都必須照著比特幣協議的規則走,才有可能在贏得競賽後,最終贏得比特幣獎勵,這是比特幣共識規則的一環。

至於什麼是「工作量證明計算」? 我們打個簡單的比方:

可以把它想像成眾多礦工們在「解一個難度爆棚的數獨遊戲」,遊戲平均每十分鐘就會開啟新一輪的競賽。礦工們會利用電腦算力,一個個猜測一個隨機數(nonce)的解答,就如同數獨遊戲只給你稀少幾個線索,挖空讓你去推算正確答案一樣,而且也跟數獨遊戲一樣,任何人去驗證答案對不對都很容易。

另外,比特幣協議會動態調整遊戲難度,控制在平均每 10 分鐘就會有礦工能解出問題,而礦工主角 Ben 在這一輪的遊戲中第一個算出nonce值的解答,成功把區塊添加到比特幣區塊鏈上,並獲的礦工獎勵與交易手續費。

階段三:交易上鏈

Ben 把區塊添加到鏈上後,廣播給全球其他節點確認,其他節點承認並同步了這個區塊以及 Ben 節點的臨時交易池資料,開始下一輪的工作量證明計算。

Lisa 跟 Jason 的交易是 Ben 創的區塊裡上百筆交易的其中之一,交易算是完成一次「確認」,現在Jason有權消費這筆錢了!

當然區塊鏈的新區塊生成仍在持續進行著……

大約13分鐘後,有一個新區塊生成鏈接在 Ben 創的區塊後面,其中也包含了前一個區塊的資料(Lisa 跟 Jason 的交易在裡頭),成為該筆交易的第二次確認。因為每一個確認的動作都需要用到大量的算力進行工作量證明,所以隨著區塊越堆越高,交易被逆轉的難度會指數型增加,普通來說,完成6次以上的確認後,可以被視為交易是不可逆的。

Lisa 跟 Jason 的交易紀錄成功被記載在鏈上了,因為比特幣區塊鏈是一個公開帳本,任何人之後皆能搜尋到這筆交易紀錄,下一章節將帶大家利用區塊鏈瀏覽器來看一筆交易的詳細資訊。

 

NEXT:《從區塊鏈瀏覽器,解析比特幣交易運作》

Add New Playlist

分享在 facebook
分享在 twitter
分享在 linkedin
分享在 email
分享在 telegram

訂閱動區新手村電子報

區塊鏈101
懶人包

Coming Soon!

投資101
懶人包

Coming Soon!