官术网_书友最值得收藏!

7.2 交易示例

以一筆虛構的交易為例。假如1枚比特幣與10枚以太幣的價值等同,發送者(Sender)手上擁有1.1枚比特幣,希望購買接收者(Receiver)提供的價值10枚以太幣的服務。則發送者可以聯系一個同時具有比特幣地址與以太坊地址的連接方(Connector),并協商好代幣轉換的手續費為0.1枚比特幣。那么交易的流程如圖7-2所示(方案一):

圖7-2 代幣交易方案示意圖

在這一過程里,風險較高的是傳輸1.1枚比特幣的步驟:連接方有可能在收取1.1枚比特幣后馬上退出交易,使得發送方利益受損。合理的方案是把比特幣的交付延后處理。當以太幣實現交付后,再進行比特幣交付,交易風險即轉移至連接方(方案二)。

為了同時保障連接方的利益,需解決的問題是確保接收方在獲得10枚以太幣的同時,發送方的1.1枚比特幣也送往連接方,兩個事件需要同時發生。這實際上是交易“原子性”的體現:要么款項完全實現轉移,要么款項完全未轉移,不存在中間的狀態。這一問題由預共享密鑰(Pre-Shared Key,PSK)技術解決。

如果把1.1枚比特幣看作一個交易包,10枚以太幣看作另一個交易包,在PSK技術中,這兩個交易包都由同一個密鑰啟動,從而實現“兩者同時發生”。

發送方預先由加密算法得到一個密鑰,把密鑰發送給接收者,把相關信息發給連接方。同時,發送方將自己的1.1枚比特幣鎖定在交易包1里,需要密鑰才能轉移款項。

連接方通過發送方給出的信息,制作一個包含10枚以太幣的交易包2并發給接收者。當接收者用密鑰打開交易包2時,接收者獲得10枚以太幣,同時密鑰也被發送給連接方,連接方可以使用該密鑰獲得交易包1里的1.1枚比特幣。這樣一來就實現了代幣之間的互換。

為避免款項鎖定時間過長,交易包1、2均需約定限制時間,超出時間后,款項即解鎖、返回原地址,這就是時間鎖(Timelock)功能。而上文提到的預共享密鑰則使用了哈希加密(Hashed),因此該技術方案被稱為哈希時間鎖協議(Hashed-Timelock Agreements)。

主站蜘蛛池模板: 肇东市| 龙江县| 贵德县| 兴仁县| 宜君县| 炎陵县| 莲花县| 镇安县| 蕉岭县| 卓资县| 恩平市| 永和县| 襄樊市| 和田市| 通海县| 宝丰县| 固阳县| 浦北县| 伊吾县| 灵璧县| 全南县| 汉寿县| 乐都县| 敖汉旗| 旌德县| 定边县| 张北县| 根河市| 安图县| 四会市| 安阳市| 潜江市| 建瓯市| 万载县| 准格尔旗| 疏附县| 班戈县| 瑞丽市| 东兰县| 长沙县| 虹口区|