微支付通道

2021-10-18 04:22:14 字數 1956 閱讀 6756

現在的位元幣網路每秒鐘最多處理6到7筆交易,並且每筆交易還需要手續費。

如果每天去咖啡店喝咖啡都用位元幣來支付,那麼每一筆交易產生的手續費可能比咖啡本身還貴。

而微支付通道就是為了解決金融服務高頻小額交易中存在手續費過高的問題產生的

a和b存在乙個位元幣的微支付通道,a是消費者,b是店家

a生成一筆utxo交易tx1,交易到1個公共賬號上面(這個公共賬號同時需要a,b的公鑰),解鎖條件是a,b兩人的簽名(一般是多重簽名),稱tx1為鎖定交易(funding transaction)。

ps:這筆錢,需要a,b兩個人同時出具私鑰,才能把錢取出來。

a再生成一筆時延的utxo交易tx2,交易的輸入是tx1,交易的輸出是a的位元幣位址,稱tx2為贖回交易(refund transaction)。

a將tx2發給b,b將其進行簽名發回給a,a再對tx2簽名後將==tx1和tx2==發布在位元幣網路上。

此後每次進行實時支付時,a只需要生成一筆交易txn(n>2),txn的輸入時最初的鎖定交易tx1,交易的輸出是a和b各自應得的餘額分配,同時設定時延為tx1,tx1

0.(updated transaction)

a對支付交易txn簽名後發給b,b不需要發布到鏈上。以後每次進行支付時,只需要更新這些鏈下的交易即可。當交易終止時,b把最近的一筆交易發布在鏈上即可獲得自身應收的位元幣。

整個過程,我們會看到,只有step1的funding transaction和step4的settlement transaction會廣播到網路上,1頭1尾,2個交易。

如何避免b跑路,a的錢永遠鎖死在公共賬號裡面?

在step1裡面,a把錢打到了1個公共賬號上面。如果b跑了,a的錢不是永遠提不出來了?

實際不是這樣操作的:實際是,a會等到step2裡面,拿到refunding transaction之後,a才會把step1裡面的transaction發給b,同時廣播到網路上面。

refunding transaction就相當於a攢在手裡的,b的把柄。a不用把這個交易廣播出去,等到b跑路了,再拿出來廣播到網路上。

如何避免a跑路,b拿不到自己的錢?

在step3裡面,每個update transaction,都有a,b共同的簽名。如果a跑路了,b就把最新的update transaction廣播到網路上,該交易被執行,b就會拿到最新的錢。

update transaction,就相當於b攢在手裡的,a的把柄。

update transaction有個特點,每1次update transaction的nlocktime,都是逐級減小的,所以b把最新的update transaction廣播到網路上之後,肯定會被最先打包,最先執行。先前其他的update transaction就不會被執行了。

如何避免b篡改交易內容,比如調大給自己的分成比例?

任何1筆交易裡面,都是先讓b簽名,再返回給a,a再簽名,再發給b。

每筆交易裡面都有a,b的雙重簽名,b改了交易內容,和a的簽名就對不上了,反過來,a改了交易內容,就和b的簽名對不上了。

所以a,b都不可能更改篡改交易內容!!

如何防止a雙花這筆錢?

在step2裡面,a拿到了refund transaction,a把這個交易廣播到網路上,拿回這100元,再花到別處呢?

做不到。因為refund transaction有nlocktime,處於鎖定狀態。並且這個nlocktime > 後面的任何1筆updated transaction的值。

微支付通道的缺點

上面說的微支付通道,解決了a給b轉賬的,大量小額交易問題,但它也有幾個缺點:

(1)它是單向的,只能用來a給b轉賬。如果反過來,需要另外再建立1個b到a的通道。

(2)nlocktime的限制。假設b跑路了,a也要等到refund transaction的nlocktime到期了,才能拿回自己的錢;同樣,假設a跑路了,b也要等到updated transaction的nlocktime到期了,拿到屬於自己的錢。

改進 --> 閃電網路

支付通道,區塊鏈支付通道的開發

脫鏈交易似乎是位元幣擴充套件的最佳選擇,而多家公司正在構建和測試脫鏈交易基礎設施,很少有人經歷過它們的工作方式。問題首先,為什麼我們需要在區塊鏈之外進行交易呢?使用位元幣的人正在尋求安全性,區塊鏈肯定是實現安全交易的最佳方式。當然,問題在於區塊鏈非常昂貴且效率低,因為網路中的每個參與者都儲存整個歷史...

微信支付 微信JSAPI支付

pay.php baby extend wx pay.php namespace wx class pay 通過redirecturi獲取授權資訊 return mixed public function getauthinfo 通過code換取網頁授權資訊 res this curlgetreq ...

區塊鏈與支付通道

具有位元幣雙工微支付渠道的快速可擴充套件支付網路 文章提出了可支援雙向支付的支付通道,並介紹其原理 位元幣閃電網路可擴充套件的鏈下即時支付 文章主要對htlc合約進行了講解,介紹了在支付通道中的交易過程 flare閃電網路中的路由方法 使用信標 洋蔥路由 進行路由尋找 文章對閃電網路中的路由尋找,仿...