Payment Channels
支付渠道(Payment Channel, PC)是一種避免鏈上交易的交易費和延遲的方式,兩者或以上的組織可以通過預先交一些錢來建立一個支付渠道,他們可以以離線方式互相發送訊息,從而跟蹤彼此欠的錢,第一個Payment channel是Bitcoin,另外一個類似的是Ethereum,
傳統支付渠道
例:假設Bob想要在Alice每次為他發推特時給Alice轉一筆錢,Bob可以通過智能合約與Alice開通支付渠道,稱為PC,Bob在PC上存入一定數量的ETH并設定一個到期日期,每當Alice發推特時,Bob都會簽名到目前為止他欠Alice的總金額,然后將簽名發給Alice,然后Alice可以隨時通過向PC發送最新簽名來兌現,PC將會向Alice付款,并將剩余的余額返還給Bob,
缺點:每個人都可以看到PC上的Bob的ETH存款金額,事實上,只要Alice確信PC擁有足夠的錢來還清她,就連Alice也不需要知道這個數目,此外,當Alice兌現時,每個人都可以看到她為每個推文收取的費用(因為推文的數量也是公開的),
Zether [1]解決方案
Zether可以輕松的用于創建保密付款渠道,Bob不是直接在PC上存入ETH,而是將其Zether賬戶鎖定在PC上(將一些資金存入新的Zether賬戶并將其鎖定在PC上),每當Alice發推特時,Bob將會發送一筆(包含他希望的金額b)Zether轉賬交易,Alice將會檢查交易的有效性,并且最終Bob將b轉給了Alice,當Alice想兌現時,她會將最新交易發送到PC,之后將會在ZSC上通過,ZSC將會處理這筆交易,因為ZSC已鎖定到PC上,一筆轉賬交易也會解鎖Bob的賬戶,如果Alice從未兌現過,那么PC只會在到期日期之后解鎖Bob的賬戶,最終,Alice和Bob之間的支付渠道就會彼此保持信任,此外,Alice不會知道Bob鎖定在付款渠道中的總金額,
使用簡單的簽名計數器,該方法可以擴展到雙向渠道,而雙向渠道又可以用來構建支付渠道網路 [2] [3],通過稍微復雜一點的設計,我們還可以為渠道增加資金,假設Bob想要在他的賬戶中添加更多ZTH,于是他準備向PC發起了一筆交易,然后讓Alice簽署了交易,之后,Bob將交易和簽名提交給PC,PC會同時檢查兩人的簽名,如果有效的話PC就會將交易轉移給ZSC,這里需要注意,Alice需要簽署交易,因為這可能使之前的付款渠道的轉賬無效,Alice將要求Bob針對他的新余額進而向Alice進行新的有效的Zether交易,
[1] Bünz B, Agrawal S, Zamani M, et al. Zether: Towards privacy in a smart contract world[C]//International Conference on Financial Cryptography and Data Security. Springer, Cham, 2020: 423-443.
[2] Joseph Poon and Thaddeus Dryja. The Bitcoin Lightning Network: Scalable
O_-Chain Instant Payments, 2016.
[3] Stefan Dziembowski, Lisa Eckey, Sebastian Faust, and Daniel Malinowski. PERUN:
Virtual payment channels over cryptographic currencies. Cryptology ePrint
Archive, Report 2017/635, 2017.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/230617.html
標籤:區塊鏈
