比特幣、以太幣存放在區塊鏈的何處?

比特幣、以太幣存放在區塊鏈的何處?

ADVERTISEMENT

我們常常聽到某一間商店、電商等,已經開始接受虛擬加密貨幣的支付,又或者是您可以拿虛擬加密貨幣,與交易所兌換法定貨幣等等行為,好像就像一間無形的銀行,在背後支撐著虛擬加密貨幣的交易,您是否會不禁懷疑這些虛擬加密貨幣,到底存放在區塊鏈的何處,又是如何進行交易的呢?本文章會介紹,目前交易量較大與知名的兩大區塊鏈系統(比特幣、以太幣),的虛擬加密貨幣存放機制。

比特幣

在比特幣系統裡面,並沒有一個帳戶來儲存一個帳號的餘額,那要如何得知一個帳號有多少虛擬加密貨幣呢?比特幣使用了UTXO(Unspent transaction output)模型,來作為其虛擬加密貨幣交易系統,簡單來說就是你的帳戶有多少Bitcoin,是來自於上一個交易輸出的總合,下圖為UTXO的交易模型示意圖,可以看到交易1(TX 1)的input0,是來自於交易0(TX 0)的output0。

比特幣、以太幣存放在區塊鏈的何處?

我們用一個簡單的例子來介紹它,Mark給Alice 3個BTC,而Jordan給Alice 7個BTC,所以我們可以說總合起來的這10BTC為UTXO,當Alice要把給Julia 10個BTC時,就會創建TX3,並把TX1的3塊BTC,與TX2的7個BTC當做TX3的input,而比特幣系統透過UTXO可以防止雙花(Double Spending),在交易的過程中認證節點(礦工),會檢查其他交易在先前的區塊當中,已經使用過這筆Unspent Output,如果已經使用過,就不會執行這筆交易。

比特幣、以太幣存放在區塊鏈的何處?

另外在區塊鏈系統中,虛擬加密貨幣是可以分割的,所以如果 Alice只想轉9.5個BTC給Julia怎麼辦?答案是,比特幣系統再創建TX3時,會再多一個output並把剩下的0.5BTC交易給Alice自己。

以太幣

Ethereum系統在虛擬加密貨幣儲存的方式,是使用帳戶模型(Account model),也就是說每個使用者帳戶,都會有一個對應的balance儲存空間,這樣就比較像是現實世界的銀行戶頭一樣,所以在Ethereum裡面無論是進行交易、餘額查詢等,都是直接對帳戶進行操作,這樣的概念是比較直覺得,[圖1]為在Ethereum節點裡進行帳戶餘額查詢。

比特幣、以太幣存放在區塊鏈的何處?

 在[圖2]中,我們透過帳戶0xca9b…,轉500 ETH給0x8022…,並查詢這筆交易的資訊,可以看到from 帳戶0xca9b…,to 帳戶0x8022… 500 ETH,非常的直覺。 
 

比特幣、以太幣存放在區塊鏈的何處?

本文介紹了,兩種區塊鏈系統的交易模型,而每個方法都會有它的優劣處,比如UTXO方法在隱私層面就會比較高,而以太坊使用account model,有一個重要的優勢是,使智能合約開發人員更容易開發智能合約。

本文授權轉載自Daniel Kuo
原文網址:比特幣、以太幣存放在區塊鏈的何處?

D.K
作者

專注於區塊鏈開發、智能合約開發、行動支付開發(Blockchain Engineer、Smart Contract Developer、Moblie Application Developer)

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則