什么是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 DeliveredandProcessedacknowledgments在传递和处理的确认中使用的ID | 
| payment_identifier | uint64 | An identifier for the Payment chosen by the Initiator发起人选择的付款标识符 | 
| lock_secret | bytes32 | The secret that unlocked the lock |