【区块链】跨链-论文阅读(一)

模型

系统

有向图D,V代表不同区块链节点,A代表资产或数据的转移

交换协议

某协议执行后的结果(对于某一方用户)

fig1

  • FreeRide:获得资产而不付钱,执行的边中至少有一条边终点是该点,但是没有以该点作为起点的边
  • Discount:获得所有资产而付更少的钱,所有终点为该点的边都执行了,但是至少有一条起点为该点的边没有被执行
  • Deal:正常交易,所有相连边都被执行
  • NoDeal:不进行交易,所有边都不执行
  • UnderWater:只付钱,不要求获得相应数量的资产,至少有一条以该点为终点的边未执行,至少有一条以该点为起点的边执行了

交换协议的目标:让所有节点都达到Deal结果,如果出现错误或干扰,达到NoDeal结果

如图所示:

  • NoDeal$\rightarrow$Deal:比起NoDeal结果,每个节点都更加希望达到Deal结果(因为每个节点都是同意产生swap的)
  • NoDeal$\rightarrow$FreeRide:能够获得免费的资产
  • Deal$\rightarrow$Discount:节点都希望能获得所有资产,但是更希望付更少的钱
  • UnderWater是节点不能接受的状态,其余都是能接受的

定义

交换协议的一致性定义

fig2

交换协议的原子性定义:既具有一致性,又是一个强纳什均衡策略

fig3

定理:针对D的一致性的交换协议是原子性的,当且仅当D是强连通的;如果D不是强连通的,那么没有任何的交换协议可以达到原子性

原子交换协议

哈希锁和哈希密钥

主要实现是基于哈希锁的(以及时间锁)

两方交易

见哈希时间锁合约博客

多方交易

每条边都有一个哈希锁和时间锁,进入节点follower v的边的超时时间最少比离开该节点的边的超时时间晚一个$\Delta$(合约发布以及确认需要的时间)。这样做是为了确保离开节点v的边执行后,v有足够的时间去执行进入v的边。

单leader情况

fig4

fig5

多leader情况

针对图D给出反馈顶点集$L=\{v_0,…,v_l\}$,L中的节点是leader,每个leader $v_i$持有一个密码$s_i$和密码对应的哈希锁$h_i=H(s_i)$,形成一组哈希锁$(h_0,…,h_l)$,用来分配给每条边

边$(u,v)$的哈希锁h的钥匙是一个三元组hashkey $(s,p,\sigma)$

  • s:密码s
  • p:路径 $(v,…,u_k)$ $u_k$是管理该哈希锁的leader节点
  • $\sigma$:$\sigma=sig(…sig(s,u_k),…,v)$ 路径中的每个节点都对s签名

hashkey超时时间长度为$(diam(D)+|p|)\cdot \Delta$,从协议开始时算起(?)

边被触发:所有哈希锁都被打开

哈希锁超时:所有该锁对应的key都超时

Pebble Game

Lazy Game

在从leader出发的边上放石子;如果进入节点v的每条边上都放了石子,那么在从v出发的边上也放上石子

Eager Game

???????

协议内容

leader的第一阶段协议:

  • 在以leader为起点的边上发布合约
  • 等待,直到所有以leader为终点的边上都有了合约

follower的协议:

  • 等待,直到所有进入该节点的边上都有合约
  • 在以其为起点的边上发布合约
Author: iwannaeat
Link: https://iwannaeat.github.io/2022/11/03/【区块链】跨链-论文阅读(一)/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.