關(guān)于潛交換的討論已經(jīng)持續(xù)了有一段時間了,在許多產(chǎn)品和服務(wù)中也有了一些有趣的體現(xiàn)。但是,潛交換到底是什么?人們又是如何將其應(yīng)用在現(xiàn)實
關(guān)于潛交換的討論已經(jīng)持續(xù)了有一段時間了,在許多產(chǎn)品和服務(wù)中也有了一些有趣的體現(xiàn)。但是,潛交換到底是什么?人們又是如何將其應(yīng)用在現(xiàn)實中的?通過這篇文章,我們將深入的探討這些問題。
要明白潛交換的原理,我們首先需要了解HTLC是什么。HTLC是一種散列的時間鎖定合同,事實上他們比聽上去更容易理解。更重要的一點是,了解HTLC不僅是了解潛交換的關(guān)鍵,而且也是了解閃電網(wǎng)絡(luò)本身的關(guān)鍵。
1. HTLC作為構(gòu)建基塊
假設(shè)你是一個比特幣的持有者,早些時候你將一些比特幣發(fā)送到了你朋友馬丁的地址上。要花費你所發(fā)送的比特幣,馬丁需要證明他具有該地址相對應(yīng)的私鑰。這就是比特幣最基本的工作原理:馬丁證明他有鑰匙的所有權(quán),然后才可以花你發(fā)送給他的比特幣。
說這是最基本的原理是因為,如果你想限制馬丁使用你所發(fā)送的比特幣,你其實可以增加更多的限制條件。比如馬丁必須在給定的時間段內(nèi)揭示某個秘密,否則時間到了之后,這些比特幣可能被另一個密鑰的擁有者所使用。
那這個秘密又是什么?這個秘密是馬丁或網(wǎng)絡(luò)中其他人創(chuàng)建的一條信息。如果是馬丁自己創(chuàng)建了這個秘密,他當(dāng)然會知道它是什么。但如果是別人創(chuàng)造的秘密,馬丁便需要想辦法找出這個秘密。無論如何,只要馬丁知道了這個秘密,他便可以使用比特幣,進一步將比特幣發(fā)送到自己的錢包地址以防止超時,我們稱此動作為資金獲取。
這整個流程簡而言之就是一個HTLC:它的本質(zhì)是一個合同,在某個交易中,其要求收款人在一定時間內(nèi)證明自己知道特定的秘密后才能花錢。
事實證明,添加這個條件后將實現(xiàn)一個非常有趣且實用的功能:鏈接付款功能。這可能與鏈上交易無關(guān),因為在鏈上交易中,人們可以直接向最終收款人付款,但是在閃電網(wǎng)絡(luò)中這非常有用,因為在閃電網(wǎng)絡(luò)中如果直接向所有人付款會使得效率非常低下。
在諸如閃電網(wǎng)絡(luò)之類的路由網(wǎng)絡(luò)環(huán)境中更容易理解HTLC的原理和目的,讓我們先來看一個脫鏈支付的示例。看之前請記住,無論交易發(fā)生在鏈上還是鏈下,HTLC其實都可以起到相應(yīng)的作用,它們甚至可以在其他區(qū)塊鏈(例如萊特幣)中工作。
2. 閃電網(wǎng)絡(luò)中的HTLC
假設(shè)你現(xiàn)在想向Sandra支付1個BTC,但你和她之間卻沒有付款通道。而托馬斯與你們兩個都有付款通道,于是你們便可以通過托馬斯來實現(xiàn)這筆交易。在沒有HTLC的情況下,這個交易過程中可能會出現(xiàn)什么問題?取決于誰先付款作為前提,可能會出現(xiàn)以下兩個問題:
如果你先付錢給托馬斯,并相信他會付錢給桑德拉,那么很有可能托馬斯會攜款而逃。
如果托馬斯先付錢給桑德拉,并相信你之后會再付給他,那么你就可以讓托馬斯為你支付費用,然后永遠不付這筆錢。
如果使用HTLC,Sandra便可以創(chuàng)建只有她自己知道的秘密,你則可以安全地將比特幣發(fā)送給Thomas并添加一個限制條件,比如他必須在一定時間內(nèi)揭示秘密,否則你便可以使用比特幣。而Sandra會給你看她閃電網(wǎng)絡(luò)的憑證,上面的二維碼會提示你相關(guān)的信息。
由于HTLC的特性,你將知道Thomas揭示的是否是Sandra所創(chuàng)建的秘密,即使你事先并不知道這個秘密是什么?,F(xiàn)在,Thomas可以向Sandra發(fā)送一個比特幣,并且包含相同的條款:如果要花費它,她需要在一段時間內(nèi)揭示秘密。而已經(jīng)知道秘密的Sandra可以立即使用這筆錢。
在獲取資金的那一刻,Sandra揭示了秘密,于是Thomas也可以使用你發(fā)送給他的比特幣了。最終的結(jié)果是在彼此不信任的情況下,你通過Thomas成功向Sandra支付了比特幣?,F(xiàn)在,你和Thomas都知道了Sandra創(chuàng)造的秘密,你們都可以將其用作付款證明,因為Sandra揭示了這個秘密用來獲取她的款項。值得注意的是,如果Sandra拒絕或者無法揭示秘密,超時這個限制條件非常關(guān)鍵,其賦予了交易回滾的可能性。
3. 潛交換中的HTLC
我們一般稱普通的比特幣交易為鏈上交易, 閃電網(wǎng)絡(luò)通道建立后,所有交易都是鏈下交易, 也可以理解為閃電支付就是鏈下交易,而HTLC可以同時在鏈上和鏈下交易中實現(xiàn)。實際上,它們可以用于鏈接鏈上付款和鏈下收款的交易,反之亦然。這便是潛交換。
假設(shè)你想在閃電網(wǎng)絡(luò)中實現(xiàn)一筆交易,但又怕麻煩不想自己管理。潛交換允許你通過中介使用鏈上的比特幣來支付閃電憑證,這個過程是如何實現(xiàn)的?閃電網(wǎng)絡(luò)中的商人會生成一個二維碼,用來提示你需要向潛交換提供者獲取的秘密,只有揭示了這個秘密,你才能使用資金。
完成這個步驟后你便可以安全的將比特幣發(fā)給服務(wù)提供商,形成一個鏈上的HTLC。服務(wù)提供商由于不知道秘密,所以無法立即使用你發(fā)給他們的比特幣。相反,他會將比特幣轉(zhuǎn)移到閃電網(wǎng)絡(luò)商家那里,并加上一條條款,要求閃電網(wǎng)絡(luò)商家必須披露相應(yīng)的秘密才可以獲取資金。
閃電網(wǎng)絡(luò)商家已經(jīng)知道了這個秘密,但要想獲取這筆錢,他必須揭露這個秘密。在這個過程中,交換服務(wù)提供商會了解到這個秘密,并獲取你支付給他們的錢。交換服務(wù)提供商和商家都可以收取相應(yīng)的錢,但是有一個區(qū)別:交換服務(wù)提供商收到的是鏈上的錢,而商家收到的是鏈下的錢。
4. 潛交換有什么用?
潛交換可能是通過閃電網(wǎng)絡(luò)進行付款的最簡便方法了。雖然它仍舊需要支付鏈上費用,但付款流程類似于一個鏈上支付的過程,并且付款可以是即時的(取決于實現(xiàn)方式)。如果用戶需要將部分資金從鏈上轉(zhuǎn)移到鏈下(或者相反),那么潛交換將會非常有用。
例如,在通過閃電網(wǎng)絡(luò)成功進行了一周的運作后,商家可能需要獲取鏈上的比特幣才能向提供商付款。而回滾機制則提供了一種反向潛交換的方法,同時可以重新平衡通道以獲取容量。
最后,考慮到其他代幣也可以進行潛互換,例如使用Litecoin(費用較低且確認(rèn)時間較短)和商家完成閃電付款或為您的渠道提供更多的流動性。
潛交換是Alex Bosworth和Olaoluwa Osuntokun提出的想法,并隨著時間的推移越來越受到人們的歡迎。盡管潛交換不是完美的,但它現(xiàn)存的一些應(yīng)用程序可以幫助整個網(wǎng)絡(luò)在初期發(fā)展的過程中解決兩個主要問題:流動性和采用率。(Qtum研究院)