什么是Mediated transfers
- 在雷电网络中,节点可以通过中间节点进行Mediated transfers向其他节点进行支付。
- Mediated transfers的步骤:
- Allocation(分配): 使用锁定的转移消息(locked transfer message)为给定的支付预留代币容量。
- Finalization(完成) 使用解锁消息(unlock message)让保留的代币金额完成支付。
Mediated Transfers:
- mediated transfer = hash-locked transfer
- 目前雷电网络仅支持一种锁:hash time lock
- 锁所包含的信息:1. 需要转移的金额 2. 用于验证解锁密码的秘密哈希 3. 锁的过期时间来确定其有效性。
Locked Transfer message:
Field Name | Type | Description |
---|---|---|
payment_identifier | uint64 | 付款的标识符,由发起人选择 |
token | address | 代币合约地址 |
recipient(接收者) | address | Destination for this hop of the transfer(此传输跃点的目的地) |
lock | HashTimeLock | A lock |
target | address | 付款的最终目的地 |
initiator | address | 传输的发起人和知道秘密的一方 |
metadata | Metadata | 传输元数据,用于优化和发现 |
message_identifier | uint64 | 已交付Delivered 和已处理确认Processed 的 ID |
Unlock:
- Non cancellable, Non expirable(不可取消,不可过期)
- Invariants
- 余额证明必须包含新挂起锁列表的哈希值,解锁过的锁已经从中删除。
- 此消息仅在相应的合作伙伴发送了 Reveal Secret message后发送。
- nonce 相对于之前的余额证明增加 1
- 锁定金额必须减少,转移金额必须增加解锁锁定中持有的金额。
-Fields(字段)
- Unlock 消息由链下余额证明
off-chain balance proof
和以下字段组成
Field Name | Field Type | Description |
---|---|---|
message_identifier | uint64 | An ID used in Delivered and Processed acknowledgments在传递和处理的确认中使用的ID |
payment_identifier | uint64 | An identifier for the Payment chosen by the Initiator发起人选择的付款标识符 |
lock_secret | bytes32 | The secret that unlocked the lock |