流支付:區塊鏈賦能的支付新範式
作者:Leo,IOSG Ventures
二十多年前,音樂傳輸的媒介主要是磁帶;十多年前,除了電影院,消費者宅家看電影主要是靠光碟。現在磁帶和光碟從我們的選項中基本消失,取而代之的是流媒體(Streaming Media)------即媒體數據被壓縮後,以流的方式通過網絡傳送,實現在網絡上實時傳輸媒體內容的方式[1]。歸功於流媒體,消費者可以更快更便捷地獲取內容,人均內容消費量和頻率也持續上升。多媒體內容傳輸的形式改變了我們消費內容的方式和習慣。
試想,如果支付也可以從批量轉移(lump-sum transfer) 的形式,轉為流(streaming)的形式,這個相較於現行金融系統完全不一樣的價值流轉方式會對我們的經濟活動和生活帶來什麼樣的改變?
Andreas M. Antonopoulos在其2016年10月19日的演講[2]中提出了"流支付------Streaming Money"的概念雛形。指鏈上資金不再是以每隔一定時間區間被批量地轉帳(比如每月發放的工資、每年支付的會員費),而是像水流一樣涓涓不斷地以設定的轉帳速率從支付人流向收款人。
如果是初次聽說流支付,可能只會籠統地接受這個抽象的概念,不易體會到流支付意義何在。這裡舉幾個例子來體現流支付的優點:
●Payroll 工資發放
通常公司會按照月度在每月的固定時間點給員工發放工資,這個常規操作有至少兩個可以被流支付改進的地方。第一從公司的角度,在每月的固定時間點發放工資,意味著公司需要在這個時間點籌備大量現金來發放給員工,可能給公司的現金流管理造成一定的壓力。
如果採用流支付,將每月集中發放的一大筆資金在整個月的時間段中緩慢均速地發放,公司的現金流可以更平滑。第二從員工的角度,通過流支付,員工可以實時按勞獲得薪酬。相較於現有方式,流支付讓員工可以更早更快地獲取應得薪酬。隨著DAO和Gig economy越發盛行,自由職業者通過流支付獲取勞動報酬這個應用場景有著廣闊的市場需求。
●Subscription \& Time-based service 訂閱服務 \& 計時收費服務
現行Netflix的訂閱模式對用戶按月計費,無論用戶使用產品與否、使用了多長時間,收費都是硬性固定的。流支付可以為訂閱類、計時收費類的服務和商品提供了更精確、更公平的付款方式。例如在流媒體行業中,用戶享受音樂或影視所支付的費用取決於實際聽了多長時間、看了多少內容,而不必為整部作品、為整月/整年的訂閱支付費用;又如點卡計時線上遊戲中,流支付完全可以替代點卡,玩家所付即所得,支付多少費用直接根據上線時間實時計算結帳。
●Rental application 租借服務
如果在流支付協議上開發租賃協議,當鏈上資產/物品被租借時,租金可以按照流支付預設程序實時計費、結算,當流支付中斷時,鏈上資產/物品根據租賃協議被自動收回、退還。一方面對租借方公平計費;另一方面保障出借方實時收款,杜絕了租金拖欠的情況。
●Airdrop \& Token Vesting 代幣空投和代幣解鎖發放
區塊鏈項目方給早期參與者空投代幣和向投資者發放代幣時,若通過流支付來線性緩速釋放代幣,可以有效減輕因一次性發放大量代幣而對二級市場造成的衝擊。
流支付還可作為DeFi Building Block將更有意思的產品和應用帶入DeFi
●Under-collateralized lending/Income-backed lending 非足額抵押借貸
每一筆流支付都代表了持續到未來某段時間的收入證明。流支付將無信任、可驗證的未來收入證明以有形的形式具象化並上鏈。以流支付作抵押的貸款將把非足額抵押借貸引入DeFi,用有形的、可追索的未來收入做擔保,提升資金效率。這可能是 on-chain credit 鏈上信貸發展的基礎。
●Securitized/Tradable cash flow 证券化/可交易現金流
流支付可以將現金流在鏈上證券化以供交易,極大提高資金利用效率和流轉速度。
以上僅僅只是部分列舉。Web3支付領域已經湧現了很多協議,值得一提的是Sablier和Superfluid兩個項目,其他項目基本可以看作是這兩個協議的改版。
Sablier流支付的技術實現簡單直接。Sablier協議在每一條支持的EVM-compatible區塊鏈上部署有一個主合約,主合約管理著這條鏈上的所有的代幣流(token stream)。用戶通過與主合約互動來創建代幣流、撤銷代幣流、從代幣流中提取資金。
每個代幣流有且僅有六個屬性(attributes):1、Sender address 支付方地址;2、Recipient address 收款方地址;3、Deposit 發送代幣總量;4、Token address 所發送代幣的合約地址(僅支持ERC-20代幣);5、Start time 流開始時間;6、Stop time 流停止時間。
從這僅有的六個屬性中,可以看出Sablier流支付的功能是比較基礎的。一旦用戶將代幣流創建,Sablier只能按照預先設定的屬性參數機械執行。Sablier截至目前不支持refill deposit充值流的發送代幣量、改變流的轉帳速率、更改代幣流結束時間等等操作。不支持refill deposit意味著發送的代幣總量必須在代幣流創建之初就存於其中,支付方需要提前準備所有資金。從支付方的角度來看,選擇Sablier流支付與否,支付方的現金流壓力沒有得到減輕。另外代幣流中的資金均存於Sablier主合約中,當收款方想取出已收到的資金時,需要支付gas費將資金從合約中取出才能自由使用。從收款方的角度,這多餘的步驟和隨之產生的gas開銷帶來了負面的使用體驗。
Sablier是第一個實現流支付的協議,雖然功能上的薄弱限制了Sablier的大規模採用,但Sablier為後續眾多流支付協議的蓬勃發展奠定了基礎。其創始人Paul在2018年曾提出EIP-1620: Money Streaming[3],旨在為Ethereum制定一套流支付的標準,該提案也促成Sablier於2019年上線。然而EIP-1620提案後續發展停滯,現處於停滯(未完成)狀態。Sablier支持主要的EVM-compatible blockchains,包括Ethereum, Optimism, Arbitrum, Polygon, Ronin, Avalanche, 和BSC。Sablier(截至12月19日)TVL為4.5M USD,歷史峰值1.57B USD。
Superfluid作為後起之秀,相較Sablier做了諸多改進。Superfluid協議由四個重要部分組成,分別為Super Tokens, Super Agreements, Super Apps, 以及Super Host。Superfluid協議借鑒了向下兼容ERC-20的ERC-777[4]代幣標準,將具有real-time finance實時金融功能的擴展ERC-777代幣標準引入協議並命名為Super Token標準。
Super Token具備ERC-20代幣的所有特徵,且支持 Constant Flow Agreement 流合約[5] 和 Instant Distribution Agreement 即時分配合約[6]。流合約和即時分配合約組成了現行版本中Super Agreements的兩大類合約,未來版本中Super Agreements可能會添加創建更多的合約類型。這些合約定義了在基礎ERC-20代幣功能以外,Super Token可以被交互、餘額變動的方式(如:線性增減餘額)。
Super Agreements中值得一看的是流合約,Superfluid協議在流合約中引入了一種十分簡單的"以流的方式"來記帳的會計規則,但這套簡單的規則在Superfluid所創建的real-time finance實時金融系統中行之有效。
介紹該記帳方法前,我們先了解以下變量:
- Flow Rate 資金流量:單筆流支付的轉帳速率,收款為正值,支付為負值
- Netflow Rate 淨流量:一個賬戶的所有資金流量之和
- Latest CRUD Timestamp 該賬戶的最新增改刪時間戳:該賬戶最後一次增添、修改、刪除任何一筆流支付的時間戳
- Real-time Balance 實時(動態)賬戶餘額
- Static Balance 靜態賬戶餘額
- Current Balance 當前實際餘額
以下圖中所示賬戶為例,我們來看Superfluid"流式記帳"是如何工作的:
圖中賬戶同時有兩筆收款的代幣流和三筆支付的代幣流,每筆流的Flow rate資金流量(轉帳速率)和方向如圖中所示,可得該賬戶Netflow rate淨流量為-100USDCx/month。Superfluid的"流式記帳"將用戶餘額分為兩部分,一部分為Static Balance靜態餘額,另一部分為Real-time Balance實時(動態)餘額。靜態餘額為該賬戶最後一次增改刪時間戳對應的當時實際餘額,即靜態餘額+實時(動態)餘額之和。實時(動態)餘額通過淨流量*(當前時間-最新增改刪時間戳)可得。
- 靜態餘額
Static Balance = Initial Current Balance at the latest CRUD timestamp - 實時(動態)餘額 Real-time Balance = Netflow Rate * Time elapsed since the latest CRUD timestamp - 當前實際餘額 Current Balance = Static Balance + Real-time Balance
當該賬戶任何一筆代幣流被創建、修改、刪除的時候,以下變量將在鏈上立即被更新,1. Netflow rate 淨流量根據代幣流的變化重新計算;2. Latest CRUD timestamp 賬戶最新一次增改刪時間戳更新到變化發生的這一刻時間;3. Static Balance 靜態餘額更新為Current Balance當前實際餘額;4. Real-time Balance 實時(動態)餘額歸零。
這個流式記帳的主要優點是實現了gasless鏈上價值轉移。Gas cost僅在賬戶有新代幣流被創建、既有代幣流被修改或刪除時產生。
Superfluid支持refill deposit,此功能可以緩解支付方現金流壓力。前文所舉的工資發放例子中,公司財務和HR部門需要在每月的工資發放日籌備所有員工的工資並在當日發放。這造成了每月的這一天都會出現資金需求的峰值,對公司運營形成一定現金流壓力。若工資發放使用支持refill deposit的Superfluid協議來實現,那麼資金需求峰值可以被有效抹平。Superfluid還支持更改代幣流速率,不設限代幣流結束時間等等功能,靈活滿足各類用戶持續變化的支付要求。
Superfluid的願景不僅限搭建一個滿足錢包對錢包、錢包對合約、合約對合約之間資金轉帳的流支付協議,而是打造一個由眾多實時金融應用(real-time finance apps)組成的可讀、可驗證、可編程的實時金融系統(real-time finance system)。在這個系統中,資金以流(stream)的形式實時、持續地流轉,最小化每個用戶、組織、公司的閒置資金。
Superfluid已支持Ethereum, Gnosis Chain, Polygon, Optimism, Arbitrum, Avalanche, 和BSC,並正在探索非EVM-compatible chain的部署。自2021年上線以來,Superfluid穩中有升,但目前TVL僅約1.5M USD。需要提到的是Superfluid曾在2022年2月初經歷了一次安全事件,超過1300萬美元(事件發生時市場價值)的資產被盜取。
被盜原因是原版本的Super Agreement中一個function call在調用來自Super Host的數據時一個序列化狀態環境參數未被檢查,導致這個參數可以被注入一個錯值而讓正確值被丟棄,這個參數足以讓黑客賬戶冒充其他賬戶來轉移其他賬戶中的資金。
除Sablier和Superfluid以外,其他深耕流支付方向的項目有Near生態的Roketo,Solana生態的Zebec、Streamflow、MeanFi,以及多鏈的Calamus、LlamaPay等。
流支付帶來的遠不止一種新的轉帳方式。其應用場景遠不僅限於賬戶對賬戶之間的簡單流式轉帳,前文所提的薪酬支付、自動訂閱、計時付費、代幣發放是我們已能窺見的應用實例。支付這個過程本身,而不僅僅是被支付的鏈上資產,變成了 programmable money 可編程貨幣的一部分。流支付無延遲實時結算、無欠款風險、高可組合性、高效流通的特性,將引入新的DeFi building block,供開發者創建前所 不能的DeFi應用。
自從區塊鏈的誕生,web3的嘗鮮者已經初有體會Internet of Money------價值互聯網,讓資產和價值在網絡上轉移。但目前所摸索出來的Internet of Money和各種去中心化應用可能只是冰山一角,流支付有潛力將 programmable money 可編程貨幣帶入一個更廣闊的想像和創造空間,帶來一個價值流動比現行金融系統更公平、更高效、更流暢的real-time finance實時金融系統。
Appendix:
Reference:
[1]Maniar, N.J. (2012). Streaming Media. In: Seel, N.M. (eds) Encyclopedia of the Sciences of Learning. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-1428-6_602
[2]Bitcoin, Lightning, and Streaming Money https://www.youtube.com/watch?v=gFZQeijPs
[3] https://eips.ethereum.org/EIPS/eip-1620
[4] https://eips.ethereum.org/EIPS/eip-777
[5] https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/constant-flow-agreement-cfa
[6] https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/instant-distribution-agreement-ida
[7] https://halborn.com/explained-the-superfluid-hack-february-2022/
[8] https://medium.com/superfluid-blog/08-02-22-exploit-post-mortem-15ff9c97cdd