跳到正文

研究指南

加密现货研究

空投领取:分开有资格、已领取与实际分发

空投分配资格、成功领取和持续使用应用,是三种不同观察。把宣传分配量写成采用量或已分发量之前,应把资格集合与分发合约真实代币移动核对起来。

OpenZeppelin的MerkleProof说明介绍相对Merkle根的成员验证。它不规定所有空投的资格、资金和重复领取规则,这些必须读实际分发合约及分配文件。

先固定分配对象

记录网络、分发地址、代币地址、根及版本、分配文件与领取窗口。按部署记录叶子字段,例如序号、账户、金额。证明匹配根,只支持相应编码构造下的成员身份,不能证明宣传中的所有合资格者都得到了应有分配。

确认分配单位是地址、序号还是其他对象。同一账户可能有多个叶子,一人也可能控制多个账户。独立叶子数、账户数和代币数量应分别保存。

再检查如何阻止重复领取。合约可能记录已领取序号或账户状态,但实现不同。应将状态与成功事件结合,而不是把所有提交调用相加;重复领取回滚可以增加尝试数,却没有新增分发。

假设案例:资格与领取漏斗

假设虚构活动有1000个合资格叶子,每个100代币,分配总额100000。独立账户只有900个,因为部分账户有多个叶子。截止时成功领取600个叶子,实际发出60000代币。

阶段假设数量分母
合资格叶子1000分配构造
合资格账户900独立编码账户
已领取叶子600叶子的60%
已分发代币60000分配量的60%
未领取分配40000剩余有效分配

此处叶子覆盖率与金额覆盖率相同,只因每个叶子分配相同。若大额资格者先领取,金额覆盖率可能显著高于叶子覆盖率。两者应同时报告,不能不加标签地统称领取率。

如果领取涉及550个独立账户,则账户覆盖率为550÷900≈61.1%,又不同于60%的叶子率。这些比率都不能证明550个独立自然人或客户,例子数字全部是假设。

调节资金与未领取额

将成功转账与已领取状态变化核对。代币有特殊转账行为时,应另核实实际收到量,不能自动假设分配事件金额就是到账金额。失败及待定领取不计入成功分发小计。

调节分发合约期初余额、补款、成功发放、获准回收和期末余额。剩余余额不必等于未领取分配:可能超额或不足供资、收到无关存款,或存在回收机制。截止日期和到期后处理没查明之前,不要把余额直接叫作没收。

根改变时保留两个版本,核对旧根下已领取是否仍有效、是否消耗新根资格。直接合并两份分配文件,可能把同一资格算两次。网站提供替换文件,也不证明合约实际采用了新根。

研究采用时,另设领取后的活动窗口及具体动作。领取补贴不证明愿意付费,转出也不能未经接收上下文核对就叫出售。留存主张必须有独立账户复现规则与覆盖限制。

最终分开列资格、执行、实际分发、剩余义务和后续使用。根更新、期限改变、补款或回收时复查。这是在核对机制,不是普查用户。

分配文件也要独立复核:按真实代币小数位加总金额,检查叶子键是否唯一。下载文件中的重复行,不自动产生第二份资格;同一账户具有不同序号,则可能是有意安排。应使用合约真正采用的资格键,把文件与成功领取连接,不能先按地址去重就删掉合法多份分配。

常见问题

有Merkle证明就说明已经收到代币吗?

不是。证明支持给定根下的资格,成功执行及真实到账需要分别验证。

分发合约剩余余额就是未领取金额吗?

不一定。供资、回收、代币行为与合约条款,都可能让两者不同。

相关阅读