Transaction,字面上的意思就是交易,有牠存活的時間,我將牠分為「前半生」和「後半生」。從Transaction的誕生,到與Block結合之前,是牠的「前半生」。與Block結合時,就開始走向牠的「後半生」。牠有捨棄Block的機會。但若被另外一個Block壓住,離開的機會就變少了。被愈多Block壓住,就愈難離開。我們可以將牠視為被埋葬了,亦即「壽終正寢」並且「蓋棺論定」。
如下圖,Transaction的前半生,分三個階段:
- Create
- Broadcast
- 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
沒有留言:
張貼留言