伊莉討論區

標題: 〈比特幣、以太幣存放在區塊鏈的何處?〉〈T客邦〉〈2018-07-10〉 [打印本頁]

作者: iiifgh    時間: 2018-7-10 03:20 PM     標題: 〈比特幣、以太幣存放在區塊鏈的何處?〉〈T客邦〉〈2018-07-10〉

本帖最後由 iiifgh 於 2018-7-10 03:24 PM 編輯

比特幣、以太幣存放在區塊鏈的何處?
T客邦 D.K D.K 發表於 2018年7月09日 10:00 2018-07-09

[attach]124109025[/attach]

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

比特幣

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

[attach]124109026[/attach]
▲ UTXO (圖片來源:bitcoin.org)

我們用一個簡單的例子來介紹它,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,如果已經使用過,就不會執行這筆交易。

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

[attach]124109027[/attach]

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

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

[attach]124109028[/attach]
▲ 圖1. Ethereum節點進行帳戶餘額查詢

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

[attach]124109029[/attach]
▲ 圖2. 交易查詢

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








歡迎光臨 伊莉討論區 (http://www91.eyny.com/) Powered by Discuz!