2017年3月17日 星期五

Transaction的前半生

要了解Blockchain,得先了解Transaction不可。因為Blockchain是死的,Transaction是活的,Blockchain是Transaction的墳墓,所以先了解Transaction,再了解Block,最後是Blockchain,按照這個順序,思路會比較清楚。

Transaction,字面上的意思就是交易,有牠存活的時間,我將牠分為「前半生」和「後半生」。從Transaction的誕生,到與Block結合之前,是牠的「前半生」。與Block結合時,就開始走向牠的「後半生」。牠有捨棄Block的機會。但若被另外一個Block壓住,離開的機會就變少了。被愈多Block壓住,就愈難離開。我們可以將牠視為被埋葬了,亦即「壽終正寢」並且「蓋棺論定」。

如下圖,Transaction的前半生,分三個階段:

  1. Create
  2. Broadcast
  3. Propagate


Step 1 - Create

Transaction如何誕生?例如,Alice向Bob買一杯咖啡,想用Bitcoin交易,於是Alice開啟手機上Bitcoin Wallet App,去掃Bob POS上顯示該咖啡的QR Code,Wallet App就會生出一個Transaction。

Step 2 - Broadcast

接下來要告知全世界的Node,誕生了一個Transaction。首先,廣播(Broadcast)出去。通常Bob的POS會先收到Alice的Transaction,然後去驗證牠,驗證沒問題,Bob才會放心把咖啡遞給Alice。Transaction可以透過任何形式通道廣播,如:Wi-Fi、Bluetooth、NFC等,並且可以是Non Secure Channel,亦即通道不需要加密,這和一般信用卡交易不同。

Step 3 - Propagate

收到Transaction的Node,驗證沒問題,就開始繁殖(Propagate)牠,並且傳給其它3到4個Node。這裡為何強調「繁殖」,意思是,Node自己也要保留一份Transaction,挖礦用的。很快地,就像散播病毒一樣,全世界的Node都會收到Transaction。

Transaction的前半生,就說到這裡了。下一篇文章,會講牠的後半生、牠如何和Block結合、如何「壽終正寢」、以及怎樣才算是「蓋棺論定」。精彩的在後頭,Transaction的後半生

-Count

沒有留言:

張貼留言