

Darwinia是一个跨链消息基础设施,它为去中心化应用程序提供了一个轻量级的、基于客户端的、可编程的、通用的跨链消息网络。现在,他们已经成功地使用了Darwinia的轻客户端跨链消息传递协议(LCMP),其可在基于基板的链之间进行桥接,甚至可以在基于基板的链和EVM链之间桥接跨链消息,Darwinia为开发人员提供了SDK,因此他们可以轻松地将跨链功能集成到他们的dApp中。这将对跨链互操作性产生深远的影响,
用户
他们是发送跨链消息的Dapp用户。用户向中继者支付跨链费用。
用户可以在源链上支付跨链费用(Billing Price)后发送跨链消息,然后等待消息在目标链上执行。
这些跨链消息将通过中继者传递到目标链。
中继者
中继者是那些负责向目标链传递跨链数据,并期望通过这样做赚取利润的人。作为一个无需许可的角色,任何人都可以成为一个中继者。
如何成为中继者?
- 首先,中继者必须在收费市场系统中注册。每个中继者都应该在链上锁定足够数量的抵押品,以保证交易的诚实执行。
- 运行中继者客户端软件。
交付时间段
每条消息都有n个交付时间段。这些slot从发送消息的时间点开始(在交易完成之后),每个slot跨越几个区块。
默认情况下,每条消息有3个交付时间段,跨越300个区块。
指定中继者和计费价格
每个slot被指定中继者,我们称之为被指定的中继者。
在消息发送时就会需要在中继者中进行计算。此时,所有的报价都按升序排序。然后选择n个最低报价,相关的中继者将成为被指定的中继者。选定的n个报价的最后(最高)价格被用作跨链费用。

选择n个中继者的原因是为了确保在执行消息传递时的冗余。
被指定的中继者负责确保跨链消息传递成功,并需要仔细监控和运行他们自己的中继者客户端。
如果一条消息需要在指定的中继者的一个时间段内被传递到目标链上,但结果并没有被传递,那么被指定的中继者会被认为是行为不当,将被从锁定的抵押品中删除,甚至从指定的中继者集合中除名。
然而,其他被指定的中继者可以获得奖励,因为他们保护来跨链消息服务。
奖惩规则
关键参数
在计算奖励和惩罚时,以下参数至关重要。
- GuardRelayersRewardRatio:默认20%
- MessageRelayersRewardRatio:默认80%
- ConfirmRelayersRewardRatio:默认20%
- AssignedRelayerSlashRatio:默认20%
- Slot:默认每个slot 300区块
规则
用户发送跨链交易后,收费市场系统根据跨链交易确认的时间计算奖励或惩罚,规则如下:
slot内交付
只要订单是在第n个slot的最后一区块之前确认的,我们就认为它是准时送达的,根据消息确认的时间计算奖励和惩罚。
假设跨链消息有n个slot,消息在slot m(n≥m)上确认。Pm表示slot m的报价。Pn表示slot n的报价,也是跨链费用。在这一点上:
- 削减
从1 ~ (m-1)的slot的每个被指定的中继者都将被削减。

- 对被指定的中继者的奖励
每个指定给m ~ n 位置的中继者都将因为确保了消息按时完成而获得奖励。

- 到金库:

- 奖励消息传递/确认中继者
Pm加上上面提到的其他被指定的中继者的削减份额将被分发给消息传递中继者和消息确认中继者。

slot外交付
- 削减
当我们认为跨链交易严重延迟时,每个被指定的中继者的奖励都将被大幅削减。

DelayedBlocks是从slot n的最后一个区块到消息确认区块的区块数。
- 奖励消息传递/确认中继者
Pm加上上面提到的其他被指定的中继者的削减份额将被分发给消息传递中继者和消息确认中继者。

例子
- 假设中继者R1、R2、R3、R4和R5已经在收费市场系统中注册,并且都是运行中的中继客户端,能够发送报价为P1=10、P2=20、P3=30、P4=40和P5=50的消息,并且注册的锁定抵押品为100。
- 假设n是3。
- 假设每个时间单位slot跨越50个区块。
- 假设源链接受高度为100的跨链消息。
所以,在这种情况下:
- 交付时间段为slot1:[100,150),slot2:[150,200),slot3:[200,250)。
- 计费价格(跨链费)为30。(10 < 20 < 30 < 40 < 50)
- R1是slot1的被指定中继者。R2是slot2的被指定中继者。R3是slot3的被指定中继者。
在slot1交付
消息在block 110(slot1内)被确认。

在这种情况下,没有被指定的中继者将被惩罚。
奖励总结:
- 被指定中继者(R1, R2, R3):Floor((GuardRelayersRewardRatio * (30 – 10)) / 3)= 1
- 至金库:30 – 10 – 1 * 3 = 17
- 消息传递中继者:10 * messagerelayersrewarratio = 8
- 消息确认中继者:10 * confirmrelayersrewarratio = 2
在slot2交付
消息在区块160(slot2内)被确认。

由于消息在第二个位置被确认,第一个slot内被指定的中继者将被削减份额。
削减:
- R1: 100 * AssignedRelayerSlashRatio = 20
奖励:
- 被指定的中继者(R2, R3) =Floor((GuardRelayersRewardRatio * (30 – 20)) / 2) = 1
- 金库:30 – 20 – 1 * 2 = 8
- 消息传递中继者:(20 + 20)* messagerelayersrewarratio = 32
- 消息确认中继者:(20 + 20)* messagerelayersrewarratio = 8
在slot3交付
消息在区块210(slot3内)被确认。

由于消息在第三个slot被确认,前两个slot内的被指定的中继者将被削减份额。
削减:
- R1: 100 * AssignedRelayerSlashRatio = 20
- R2: 100 * assignnedrelayerslashratio = 20
奖励总结:
- 被指定中继者(R3) =Floor((GuardRelayersRewardRatio * (30 – 30)) / 1)= 0
- 到金库:30 – 30 – 0 = 0
- 消息传递中继者:(30 + 20 + 20)* messagerelayersrewarratio = 56
- 消息确认中继者:(30 + 20 + 20)* messagerelayersrewarratio = 14
slot外交付
消息在block 260(slot外)被确认。

所有被指定的中继者将被削减份额。
削减:
R1: 100 * AssignedRelayerSlashRatio + (260 – 250) * 2 = 40 R2: 100 * assignnedrelayerslashratio + (260 – 250) * 2 = 40 R3: 100 * AssignedRelayerSlashRatio + (260 – 250) * 2 = 40
奖励:
- 被指定的中继者:0
- 金库:0
- 消息传递中继者:(30 + 40 + 40 + 40)* messagerelayersrewarratio = 120
- 消息确认中继者(30 + 40 + 40 + 40)* messagerelayersrewarratio = 30
Source:https://medium.com/darwinianetwork/what-can-a-cross-chain-message-relayer-get-ffb683b689cb
关于
ChinaDeFi – ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。
Layer 2道友 – 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”。
