Raiden Network(二)—— Mediated transfers(多跳支付里的中介传输)

什么是Mediated transfers

  • 在雷电网络中,节点可以通过中间节点进行Mediated transfers向其他节点进行支付。
  • Mediated transfers的步骤:
    1. Allocation(分配): 使用锁定的转移消息(locked transfer message)为给定的支付预留代币容量。
    2. 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
相关推荐
devmoon11 小时前
Polkadot SDK Pallet 单元测试完整指南:从基础到实战
单元测试·web3·区块链·模块测试·polkadot
devmoon12 小时前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot
晚霞的不甘13 小时前
Flutter for OpenHarmony 打造沉浸式呼吸引导应用:用动画疗愈身心
服务器·网络·flutter·架构·区块链
devmoon14 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
综合热讯14 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
暴躁小师兄数据学院15 小时前
【WEB3.0零基础转行笔记】Solidity编程篇-第一讲:简易存储
web3·区块链·智能合约
devmoon1 天前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
暴躁小师兄数据学院1 天前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon1 天前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
devmoon1 天前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡