来源:Medium
作者:iamthetorn
翻译:思嘉
如果没有修改智能合约中使用随机性的方式,不要将Loot的代码用于新项目。
Loot的智能合约有一个设计限制,影响着初始代币分配的公平性。而那些使用Loot代码的新项目也存在这个漏洞。
本文不是要贬低Loot或任何相关公司,而是意在:
1.通过减少信息不对称,营造NFT的公平竞争环境;
2.减少程序错误或设计模式的继续扩散,以防将用户置于风险中。
Loot是一个由8000个代币组成的NFT集合,称为Bags。97%的NFT可由公众铸造,除了Gas费之外没有其他费用。
智能合约包含随机化和渲染层、逻辑层,允许它生成对应于任何代币ID的SVG。
每个Bag有8项属性,每一项都在智能合约上随机生成一个分值。分值越高,物品的名称可变性越强,物品也就更加稀有。
分析 | 全球合约市场成交大单空军占优 盘面反弹无力:据合约帝全球市场期货合约大单成交统计显示,截至北京时间7月31日09:01,24小时内全球合约市场成交大单总额共计2895万美元,大额多单1229万美元,大额空单1666万美元。其中OKEx交易所成交大额BTC季度多单231.7万美元,空单126.8万美元;LTC成交大额季度多单178.6万美元。BitMEX交易所成交大额BTC永续多单618万美元,空单879万美元;Huobi交易所成交大额多单380万美元,空单660万美元。合约帝入驻实盘分析师大雪无痕认为,当前盘面刚刚经历过一波触底反弹,但是结合盘面和多空军成交来看,反弹并不具备很强力度,低位筑底的形态依然会延续。[2019/7/31]
那么问题出在哪里呢?
Bag的内容是根据其代币ID确定的——这意味着在最初的代币分配之前或分配期间的任何节点,只要通过阅读智能合约,任何人都可以轻而易举地提前计算出整个Bag的供应量。
分析 | 经济学家:熊市已经结束 BTC长期底部已经形成:据dailyhodl消息,经济学家、数字货币分析师Alex Krüger最新分析指出,2018年数字货币市场的熊市在几个月前已经结束,BTC价格在去年11月至12月触底后,行情两次触及200日均线这一重要趋势支撑未破,并在本月内走出一波加速反弹,基本完成了这一空转多趋势逆转的判断。对于BTC来说,只要价格能够突破4200这一“近在眼前”的阻力位置,趋势性上涨将正式启动。Alex Krüger表示,市场的趋势已经形成,舆论观点如何并无法改变这一“事实”。[2019/3/30]
由于claim()函数将代币ID作为一个参数,所以很容易从收藏品中挑选出最稀有的物品,并赶在其他人之前立即将其铸造完成。
如果合同代码在最初发行时是公开的,就会使得Loot和类似的项目很容易被游戏化。
事实上,Loot和其大多数模仿者都把使用Etherscan作为他们的造币UI,这要求源代码在Etherscan上经过验证。
分析 | 比特币挖矿耗电量被夸大:据Bitcoin Exchange Guide消息,8月30日,Node Blockchain发表对一项研究报告表明,目前许多文章至少夸大了三分之一对比特币的能源消耗量。报告指出,“由于采矿中心的物理位置对比特币网络并不重要,因此矿工们以最低的边际成本涌向产生剩余电力的地区。从长远来看,这有可能产生更有效的全球能源市场,比特币矿工在全球中心之间进行电力套利。”此外,PoW是能源密集型产业,但与数据中心、金矿开采和其他行业不同的是,开采效率很高,而且越来越环保。对想要加入比特币挖矿行业的企业来说,必须削减他们的能源支出,否则他们将因高昂的价格而被淘汰出局。[2018/9/4]
公司已经确认,以下项目的初始发行版对上述的造币操作是开放的。Loot、Bloot、MoreLoot、n、CHAR0......
这是个非详尽的列表,在写这篇文章时,我还没有发现任何其他对此开放的项目。
分析 | 比特币重回7000美元的路上仍存在障碍:据coindesk分析,截至记者发稿时,Bitfinex平台上比特币正以6689美元的价格转手,似乎正在为测试6838积累动力。目前的价格水平正在形成一个成败标记,可以揭示经典的趋势反转模式(反向头肩颈线)是否会生效。实际上,收盘高于该水平将构成短期看跌至看涨的趋势变化,并获得大涨至7900美元目标的机会。7000美元至7100美元之间的区域存在更多相关技术障碍。两个主要障碍分别为:1. 0.236的斐波纳契回撤和反向头肩颈线形态;2. 长期下行趋势阻力。[2018/7/17]
最令人担忧的是,这种游戏性会导致普通用户和内行或具有技术知识的用户之间产生的结果存在显著差距。
漏洞1
MoreLoot是Loot的创造者dhof发布的Loot后续产品,截至本文写作时仅发布几个小时,从MoreLoot的链上数据中就可以明显地发现这一漏洞产生的影响。
金色财经独家分析 区块链对扶贫的两个重要促进:金色财经独家分析,区块链对于扶贫有两点重要改变。第一是政策上帮助实现精准扶贫,区块链不可篡改和透明的特点,让资金的去向更加透明的被监管起来,让精准扶贫实现既定预期;第二是发挥欠发达地区的资源价值创造作用,“去中介化”消除了信息不对称带来过多中间环节的利益提取,让贫困地区得到相应产业中更多的价值,打通产销的隔阂,让产品生产者实现更多利润,这对于偏远地区、欠发达地区也十分重要。[2018/5/30]
上图显示了MoreLootBags可供铸币与实际铸币之间的分布差异。它包括目前该系列中超过130万个Bag的"greatness"分数。
如果铸币是随机的,我们期望这些分布是一致的。
恰恰相反,我们可以清楚地看到,虽然绝大多数的购买是"盲目的",但有一小部分的交易是利用合同,只对最稀有的Bag铸币。
自GitHub上公布了稀有度排名后,这种有针对性的铸币活动的频率有所增加。
然而,即使在公开的LootDiscord中分享了这些数据后的几个小时,有针对性的铸币活动仍然只占铸币活动的一小部分,这表明大多数用户都被蒙在鼓里。
有些人可能会用MoreLoot来试试水,不会太认真对待,但仍应当考虑其实际影响。
比如用户为MoreLoot铸币支付了大约300万美元Gas费。这些铸币中的绝大部分是盲目的。
随着供应上限远远超过100万个代币,成千上万的"特殊"代币涌入市场,普通持有人的转售前景非常暗淡。
漏洞2:CHAR0
CHAR0是最近另一个基于Loot的项目,从UTC9月3日13:47到UTC9月4日11:56,在分发9700个代币的过程中,预计花费70万美元的Gas费。
作为这个项目的早期矿工,产出必要的数据来识别和获得该系列中许多最稀有的代币,对我来说非常容易。
为了演示,我只对一个小的收藏品进行铸币,但没有什么能阻止我迅速且隐蔽地获得前1%绝大所数的供应。
很明显,像我这样有动机获取者可以从CHAR0的用户群中提取巨大的价值,并对项目的结果产生相当大的影响。
可能的解决方案
我会把这一部分划定在比较高层次的讨论上,并留有一些后续解决空间。以下是解决上述问题的几种不同方法。
盲投
Hashmasks普及了盲投模式,在这种模式中创作者承诺为整个系列提供一个哈希值,在销售结束时通过链上随机性对系列顺序进行洗牌。
这可以创造出公平、随机的分配,即使是创作者也不能作弊。Hashmasks智能合约被BAYC和其他一些项目成功采用。
可改变盲投策略与Loot一起使用,同时保留所有LootSVG由智能合约生成的属性。
链上RNG
可在运行时使用链上随机性使每个铸币的结果随机产生。
对这种方法必须格外小心,因为链上随机性的来源可能会被他人以意想不到的方式利用。
最好的方法是利用VRF,如Chainlink的VRF,但这对某些应用来说可能过于昂贵。
未验证的合同
一个简单的修复方法是在最初发布时保持智能合约代码的私密性。在以下情况下,这种方法合理:
1.创建者的声誉受到威胁;
2.合同不接受付款。
虽然这可以说是一种改进,但我强烈建议不要采用这种方法。
与盲投不同,这种方法没有保护措施防止NFT创建者作弊。无论是通过分析铸币输出还是通过字节码反编译,合约可能会受到逆向工程的影响。
即使合同创建者是值得信任的,然而也存在不好的先例,包括合同不接受付款,要求用户与未经验证的合同互动。
抗Sybil投资
最后,我有一个建议想要呼吁:使用Mirror的数据来尝试抗Sybil的公平分配。
这是一个具有前瞻性的方法,我相信在未来会变得越来越有趣。
最后...
这些方法中的每一种都有取舍,有些可能是最初的Loot团队所考虑的。
事实是,当前版本的Loot智能合约扩散得越多,对用户来说情况就越糟糕。
在问题得到解决之前,这个智能合约不应该重新进行使用,至少在没有明确沟通的情况下,铸币是游戏化的,而且分配目的不是为了公平或随机。
结尾的呼吁
所有关于社区和公平分配的讨论都在于,NFT用户应该得到更好的待遇。
他们应该有一个公平的竞争环境,他们应该得到精心设计的、不会坑害他们的代币发行。
毋庸置疑,Loot已经引发了一场革命,是NFT持续发展的一个关键项目。
我想强调的是,即使是在试水,NFT开发者也要对他们的用户负责,这包括那些从其他项目中复制粘贴代码的开发者。
不要再吹嘘那个利用你的Loot进行抄袭的家伙通过看YouTube在一天之内学会了智能合约。
让我们为用户提供更安全的NFT空间,新型的和高价值的智能合约应该接受审查,或者至少由经验丰富的智能合约开发者进行代码审查。
众所周知的问题应该公开进行讨论,让我们改进优秀做法,并广泛分享,确保艺术家创作安全和富有意义的NFTs时有用武之地。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。