接著寫跨鏈技術(shù)中的遺漏部分,以下是往期文章:
側(cè)鏈的存在邏輯
側(cè)鏈的利弊
跨鏈技術(shù)解決了什么問(wèn)題?
哈希時(shí)間鎖定協(xié)議(一)
哈希時(shí)間鎖定協(xié)議(二)
跨鏈技術(shù)之公證人機(jī)制
側(cè)鏈中繼
概念科普:
原子互換:是一種正在開(kāi)發(fā)中的去中心化、無(wú)需第三方的新技術(shù),允許在不同類型的數(shù)字資產(chǎn)之間實(shí)現(xiàn)無(wú)需信任的點(diǎn)對(duì)點(diǎn)交易,任何一方在瞬間完成的點(diǎn)對(duì)點(diǎn)交易中都遵守協(xié)議,且之后若有一方退出,資金會(huì)在規(guī)定的時(shí)間返回各方賬戶。
背景
這項(xiàng)技術(shù)如果成功應(yīng)用之后,對(duì)于數(shù)字貨幣來(lái)說(shuō)將是一個(gè)革命性的改革,因?yàn)檫@種技術(shù)一旦實(shí)現(xiàn),所有鏈上的數(shù)字資產(chǎn)都可以自由交換了,而且不用通過(guò)交易所或者其他的中間方。對(duì)于用戶和項(xiàng)目方來(lái)說(shuō),沒(méi)有什么比這個(gè)事情更讓人振奮的了。
基于目前各種主流交易所,安全問(wèn)題暫且不提,畢竟交易所本身也不想頻繁被盜。其他的出于交易所主觀意愿的事情,就難以讓大家所接受了,比如前段時(shí)間RAM正火熱的時(shí)候,某個(gè)交易所就自己造了一個(gè)假的RAM交易對(duì),不明真相的用戶基于對(duì)該交易所的信任,直接上鉤了。還有某些交易所為了自己的利益,直接限制用戶提幣,這種行為直接導(dǎo)致了大量的用戶損失一個(gè)絕佳賺錢的機(jī)會(huì),反正員外是損失了一個(gè)解套的機(jī)會(huì),當(dāng)時(shí)心里好幾萬(wàn)只草泥馬吧!
對(duì)于項(xiàng)目方來(lái)說(shuō),為了讓自己的幣能上一個(gè)好一些的交易所,只能把自己辛辛苦苦融來(lái)的一點(diǎn)錢,作為上幣費(fèi)全給了交易所,動(dòng)輒幾百幾千萬(wàn)的上幣費(fèi),想必大家都有所耳聞了。錢都讓交易所賺跑了,對(duì)于小一些的項(xiàng)目方來(lái)說(shuō),哪里還有足夠的資金來(lái)做自己的事業(yè),意志力不夠堅(jiān)定的直接就卷錢跑路了。要么找一個(gè)小點(diǎn)的交易所,最后也是半死不活的。
原子互換
過(guò)程有點(diǎn)復(fù)雜,還是拿例子說(shuō)事吧,又得把天宇和死柯俠搬出來(lái)了。
場(chǎng)景:天宇想要用自己的1個(gè)BTC換死柯俠的10個(gè)ETH。
天宇:
- 生成一個(gè)隨機(jī)數(shù) x ,并計(jì)算出x的哈希值 hash(x);
- 生成1BTC的比特幣交易 BTC1,但不廣播。注意這個(gè)BTC1的輸出是需要同時(shí)達(dá)到兩個(gè)要求的時(shí)候,才能解鎖這個(gè)比特幣。(1)天宇和死柯俠的簽名;(2)hash(x)的原像和死柯俠的簽名;
- 生成滿足以上兩個(gè)條件的交易BTC11,這個(gè)交易把 1BTC 從 BTC1交易轉(zhuǎn)到天宇自己的賬戶中,而且擁有48小時(shí)的鎖定時(shí)間。即需要等到前一筆交易被確認(rèn)交易完成且上鏈后,再過(guò)48小時(shí),這筆交易才能上鏈等待確認(rèn)。這筆交易的功能在于如果交易失敗了,天宇可以取回他的比特幣。
- 然后叫死柯俠對(duì)BTC11進(jìn)行簽名,然后天宇再把自己的簽名也加上去,此時(shí)BTC11這筆交易就同時(shí)擁有了天宇和死柯俠的簽名。因?yàn)橛袀€(gè)時(shí)間鎖的緣故,天宇不能讓這筆交易直接上鏈,而是需要等待48小時(shí)。
- 48小時(shí)過(guò)后,天宇廣播 BTC1 這筆交易,完成上鏈。
死柯俠:
- 確認(rèn) BTC1 上鏈后,就可以自己生成一個(gè) 3ETH 的以太坊交易 ETH2 了,同樣也是先不廣播。ETH2 的這筆交易同樣需要同時(shí)滿足兩個(gè)條件才能達(dá)成:(1)天宇和死柯俠自己的簽名;(2)hash(x) 的原像和天宇的簽名,死柯俠可以從已經(jīng)上鏈的 BTC1 的交易中得知 hash(x);
- 生成交易 ETH21,這個(gè)交易可以在 24 小時(shí)的時(shí)間鎖之后,把自己的 10ETH 從 ETH2 交易中轉(zhuǎn)回到自己的以太坊賬戶中。注意:如果要取消交易,一定要在 48 小時(shí)之內(nèi)取消,否則交易就上鏈了,再也無(wú)法更改了。
- 請(qǐng)求天宇對(duì) ETH21 的簽名;
- 廣播 ETH2 交易,然后該筆交易上鏈被確認(rèn)。
至此,整個(gè)交易流程就算跑完一遍了。既然是原子互換,那么不是成功就是失敗,不會(huì)存在任何的中間情況的。
互換成功的情況
- 天宇確認(rèn) ETH2 交易上鏈后,可以在 24 小時(shí)內(nèi)確認(rèn)并將這筆交易廣播出去,然后就可以將其中的 10ETH 轉(zhuǎn)到自己的以太坊賬戶中了。注意:這里需要滿足一個(gè) ETH2 的解鎖條件,即公布 x 和天宇自己的數(shù)字簽名。然后 ETH22 才可以才以太坊上鏈自己的數(shù)據(jù)。
- 死柯俠從廣播的 ETH22 中就可以得到隨機(jī)數(shù) x 了,然后發(fā)起交易并廣播 BTC12,將 1BTC 從 BTC1 里面轉(zhuǎn)到自己的比特幣賬戶中。還是要注意:公布 x 和 死柯俠自己的簽名,然后 BTC12 才能上鏈比特幣網(wǎng)絡(luò)。
- 最后交易完成。
互換失敗的情況
- 如果 24 小時(shí)內(nèi),天宇沒(méi)有廣播交易 ETH22,則 24 小時(shí)之后,死柯俠便可簽名并廣播 ETH21。因?yàn)槌^(guò)了鎖定時(shí)間范圍,而且同時(shí)還擁有天宇和死柯俠自己的數(shù)字簽名。然后就可以把 10ETH 轉(zhuǎn)回給自己了,最后 ETH21 交易上鏈并廣播。
- 同理,48 小時(shí)后,天宇可以廣播 BTC11,然后 把自己的 1BTC 拿回來(lái)轉(zhuǎn)到自己賬戶中;然后 BTC11 上鏈比特幣網(wǎng)絡(luò);
在這個(gè)交易的過(guò)程中,即使失敗了,雙方都不會(huì)損失自己的代幣。
缺點(diǎn)
看到這個(gè)原子互換這么牛逼,難道真的有那么好用嗎?肯定不是的,缺點(diǎn)還蠻多的。
一
從上面這成功和失敗的兩個(gè)情況分別來(lái)看,不管是哪種情況,最后都會(huì)有4個(gè)交易被上鏈,對(duì)于比特幣和以太坊目前的網(wǎng)絡(luò)狀況來(lái)說(shuō),如果成功了固然是好事,如果交易失敗了,也必須得支付一定數(shù)量的手續(xù)費(fèi),說(shuō)即使交易失敗了,用戶也不會(huì)損失什么,其實(shí)是有點(diǎn)假的。
二
在這個(gè)交易過(guò)程中,大家可以看到是有兩個(gè)時(shí)間鎖定期限的,第一個(gè)是 24 小時(shí),第二個(gè)是 48 小時(shí)。這個(gè)時(shí)間鎖,既有好的一面,也有不利于交易的后者(死柯俠)的一面。
如果在交易過(guò)程中,天宇和死柯俠都將 BTC1 和 ETH1 這兩個(gè)交易上鏈,則這個(gè)原子互換的成功與否的決定權(quán)都在天宇手里了,而且天宇還有24小時(shí)的考慮時(shí)間。
在這個(gè)時(shí)間段內(nèi),天宇可以做啥呢?他可以去觀察交易所的價(jià)格信息,如果交易所的價(jià)格對(duì)他更有利,他就可以選擇中斷跟死柯俠的交易,如交易所換幣,然后這個(gè)交易的風(fēng)險(xiǎn)就轉(zhuǎn)嫁到死柯俠頭上了。
那你說(shuō)如果把這個(gè)時(shí)間鎖的時(shí)間調(diào)短些呢?其實(shí)不管有多短,依舊會(huì)有這個(gè)風(fēng)險(xiǎn)的。而且從安全方面來(lái)說(shuō)的話,時(shí)間太短了風(fēng)險(xiǎn)反而增大了。
如果上面這些問(wèn)題可以有效解決的話,然后還成功應(yīng)用在各種主鏈之間的話,那么原子互換可以完全取代掉傳統(tǒng)的交易所,用戶再也不用擔(dān)心自己的資產(chǎn)問(wèn)題了,再也沒(méi)有哪個(gè)交易所可以限制你提幣轉(zhuǎn)賬了,這個(gè)技術(shù),將會(huì)帶來(lái)一個(gè)革命性的改變。
本文參加優(yōu)享優(yōu)質(zhì)經(jīng)驗(yàn)征集計(jì)劃,經(jīng)驗(yàn)即價(jià)值,優(yōu)享為成長(zhǎng)買單
全球首個(gè)去中心化經(jīng)驗(yàn)價(jià)值共享平臺(tái)“優(yōu)享”開(kāi)啟今夏最強(qiáng)空投!注冊(cè)即送UX,最高5000UX,更多價(jià)值,等你發(fā)現(xiàn)!注冊(cè)鏈接