Sprites: Payment Channels that Go Faster than Lightning(精灵:比闪电还快的支付渠道) 阅读笔记
- 论文发表信息: FC-2019
论文关键点摘录:
- 这篇文章引用了Revive,是在Revive之后做的
- 改善之前闪电网络上最差路由情况的时间开销
- state channel: 状态通道
- l l l:路径长度
- Δ \Delta Δ: the worstcase confirmation time for an on-chain broadcast
- O ( l + Δ ) O(l + \Delta) O(l+Δ):本文提出的方法所降低到的时间
- $ X X X:X美元
- O ( l O(l O(l$ X ) X) X):在长度为 l l l的支付路径上支付X美元的金额,通路上需要锁定的总金额数。
- θ ( l Δ ) \theta(l \Delta) θ(lΔ):闪电网络交易时,资金锁定的时间
- θ ( l 2 \theta(l^{2} θ(l2$ X Δ ) X\Delta) XΔ):在路径长度为 l l l 的通道上支付 X 美元的最坏情况开销(the total collateral cost (money × time) of a $ X payment over a path of length l l l)
- θ ( l \theta(l θ(l$ X Δ ) X\Delta) XΔ):sprites方法的最坏情况开销
- PreimageManager (PM):一种智能合约,the preimage x x x of hash h = H ( x ) h = H(x) h=H(x) was published on the blockchain before time T E x p i r y T_{Expiry} TExpiry.
- 闪电网络的交易过程:
- Sprites交易过程:
- d e p o s i t s [ L , R ] deposits_{[L,R]} deposits[L,R]:表示智能合约每一方的存款总额。
- w d i wd_{i} wdi:提款值
- 主要思想是使用智能合约签名的方式进行状态变化
状态通道的理想化功能
-
F S t a t e F_{State} FState:The ideal functionality for state channels
-
U U U:This functionality is parameterized by an update function, U, which can be customized by a developer to specialize the state channel for different applications.
-
C C C:external blockchain smart contract
-
{ P i P_{i} Pi}:参与者
-
{ v r , i v_{r,i} vr,i}:由参与者提供
-
a u x i n aux_{in} auxin: external contract input
-
θ ( Δ ) \theta(\Delta) θ(Δ):有限的时间延迟
-
签名: σ r , i : = S i g n P i ( r ∣ ∣ s t a t e r ∣ ∣ o u t r ) σ_{r,i}:= Sign_{P_{i}}(r||state_{r}||out_{r}) σr,i:=SignPi(r∣∣stater∣∣outr) (r表示当前的回合数; s t a t e r state_{r} stater是将状态转移函数应用于每一方的输入后的结果; o u t r out_{r} outr是最终的区块链输出,如果没有输出则用 ⊥ \perp ⊥表示)
- 争议: 如果在第r轮的时候交易的某一方没能获得另一方的完整签名,那么就会产生争议。产生争议后会调取r-1轮的证据,证明r-1轮时的状态是双方认可的,然后将状态通知给所有参与者。
- 解决链下争议: 如果交易的某一方提出第r轮交易的争议,则另一方参与者可以拿出第r轮或者r轮之后的r’轮已经在链下达成一致的证据(我的理解是双方的签名),以此来解决纠纷。
- 上链解决争议: 如果交易的某一方提出第r轮交易的争议,而另一方拿不出r轮或r轮之后的证据,那么则需要上链处理纠纷。