首先,小紅打開手機(jī)數(shù)字錢包,點(diǎn)擊二維碼收款,生成包含其錢包地址的收款二維碼,也就是公鑰。
然后,小明通過掃描小紅的二維碼獲取小紅的公鑰。接著,他將小紅的公鑰、自己的公鑰和支付5個數(shù)字貨幣的信息打包成一個交易。他使用只有自己知道的私鑰給交易簽名,目前無法將此交易寫入鏈上。
小明的數(shù)字錢包會檢查他是否有足夠的數(shù)字貨幣來支付。小明數(shù)字錢包把簽名的交易打包成一個二維碼讓小紅掃描保存。在沒有網(wǎng)絡(luò)的情況下,小明可以繼續(xù)向其他人支付。
當(dāng)他們進(jìn)入有信號、網(wǎng)絡(luò)的區(qū)域時,小明上網(wǎng)并將簽名的交易準(zhǔn)備寫入鏈上。如果交易沒有問題,則寫入鏈上。
如果小明故意偽造交易、使用未經(jīng)授權(quán)的私鑰或支付不足,這個交易無法寫入鏈上。在這種情況下,離線交易失敗,小紅可以向小明發(fā)起重新支付的請求。只有小紅上網(wǎng)并將交易寫入鏈上,才能正式完成支付和交易。離線支付對誠實(shí)的雙方?jīng)]有問題,但對不誠實(shí)的支付者來說是有問題的,只能通過事后追責(zé)來解決。