Gas

Gas

比特币核心开发者预测ETH将归零,V神回应力挺ETH

投研8btc 发表了文章 • 2018-09-03 17:52 • 来自相关话题

比特币核心开发人员Jeremy Rubin今日在TechCrunch上发文预测, ETH——加密货币,而不是以太坊网络本身——将会归零。而以太坊创始人Vitalik Buterin则正面回应Jeremy提出的相关问题,力证ETH不会归零。

Jeremy认为,由于未能实现扩容,未能采用更安全的合约,也并未甩开竞争对手,那些认为ETH不会真正被采用的人不需要说服就已经确信ETH价格的崩溃迟早有一天要到来。但是,如果有人认为以太坊作为一个平台最终成功的话,那么ETH(作为一种货币)将归零的说法可能需要更多的理由。他将从这个角度,提出自己看法。

 
购买“BuzzwordCoin”
 

在官方描述中,ETH没有价值主张。遗漏的原因可能是,ETH的价值对以太坊基金会来说显得如此明显,以至于不用刻意提及:用于支付Gas。但是Jeremy认为,这一用途不足以作为ETH不会归零的理由,因为以太坊合约中没有硬性要求要用ETH支付Gas。

假设正在构建一个新的去中心化应用BuzzwordCoin。默认情况下,遵循标准ERC-20代币模板,BuzzwordCoin上的每笔交易都将以 ETH支付Gas。要求每个BuzzwordCoin交易都依赖于使用ETH支付费用会产生巨大的风险,第三方依赖性以及对基础代币价格人为造成的下行压力(如果必须提前卖出BuzzwordCoin以获得ETH,以进行BuzzwordCoin交易,那么卖出的压力将在交易需要之前发生,并且一定比确保足够资金来支付交易所必需的卖出量更大)。

我们可以让每个BuzzwordCoin交易将少量的BuzzwordCoin直接存入该区块矿工的地址以支付合约的执行费用,而不是用ETH支付Gas费用。使用非ETH资产支付Gas有时被称为以太坊社区的经济抽象化(Economic abstraction)。

 
经济抽象化
 

Jeremy表示,对于经济抽象化的以太坊,目前有四个主要的反对观点:缺乏对经济抽象的软件支持,难以对许多代币定价,存在的合约没有绑定代币,以及PoS需要ETH。

软件支持:目前,矿工根据Gas选择交易。由于ETH不是合约,因此ETH交易的代码是特殊的。然而,已经有人在努力让以太坊对待ETH不那么特殊,更像其他ERC-20代币一样。举个例子,Weth将ETH包含在1:1挂钩的ERC-20兼容代币中,用于在去中心化交易所进行交易。

经济抽象的批评者(特别是Vitalik Buterin)认为考虑生态系统的获益,复杂性的增加可能得不偿失。Jeremy觉得这种说法很荒谬。他认为,如果软件不支持理性用户的需求,则应修改软件。此外,不修改软件的话,代币所需的钱包实际上复杂性有所增加,因为钱包必须支持同时支持ETH和代币本身。

市场定价:在经济抽象化的情况下挖掘ETH,矿工只需要一种软件,该软件可以让他们能够解释活跃代币感知价值的差异,并在此基础上合理地将交易包含在内。此类软件需要根据定价信息动态重新排序待定交易,并且可以通过矿工自己的期望或监控加密货币交易所价格收集定价信息。

Vlad Zamfir认为,对监测价格市场信息的需求可能使经济抽象变得困难。

然而,Jeremy认为,现状就是,矿工当前就需要定价信息。理性矿工在挖矿(或投注)之前需要一个未来ETH价格的模型,以尽量增加利润,减少电力成本、硬件成本和机会成本。

无代币合约:并非所有合约都有代币;即使有,可能也无法在交易所交易。这些合约可以在没有ETH的情况下支付费用吗?

Jeremy认为,无代币合约的用户可以用任何代币支付费用。例如,TokenlessContract的用户可以用一半一半混合的LemonadeCoin和TeaBucks支付费用。为了确保具有不同资产的用户和矿工之间的流动性,用户可以简单地发起多个互斥交易,以支付不同资产的费用。矿工收到的不需要的资产,可以通过去中心化交易所兑换成所需要的。

权益证明(PoS):在没有ETH的情况下,如果每个节点为所有资产的投票权选择权重向量,那么具有大量资产的经过修改的PoS仍然可以决定共识(让我们称之为HD-PoS,或者非均质保证金权益证明,heterogeneous deposit PoS)。虽然这是一个开放的研究问题,用来展示HD-PoS在哪些条件下维持共识,但是如果权重向量足够相似的话,是可能达成共识的。

 
V神正视问题,力挺ETH不会归零
 

Jeremy发文后,V神在Reddit上做出回应称:

“在目前的以太坊中,这是绝对正确的。事实上如果以太坊不改变,作者论证的所有部分(除了关于PoS的部分)可能都是对的。 然而,社区正在考虑两个提案,这两个提案都将对使用ETH支付的需要写在了协议层中,更进一步的话,ETH会被销毁。因此没有办法通过加快交换媒介环路的运转速度来将ETH从环路中拿出来。 ”


提案可见如下地址https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838,其中平均Gas使用量的目标是50%(高于当前的2倍) Gas上限,使用自我调整的最低交易费来进行定价,最低费用会被销毁。此费用将由区块发起者收取,因此区块发起者可以用任何ERC20代币收取费用,但区块发起者自己仍需要用ETH支付最低费用。

存储维护费用(又名“租金”):每个区块每字节支付一定费用以保存数据;否则,数据就会被“休眠”,你需要提交一个Merkle证明来恢复它。这笔费用也会被销毁。

据V神猜测,超过2/3的交易费用可能最终会被这些机制销毁。

最后就PoS的问题,V神也给出了自己的看法。他说,他实际上在2015年对HD-PoS进行了研究,但是使用HD-PoS正确地决定共识是非常难的(可能是不可能的)。 问题在于,协议如何能够获得代币之间的兑换比率信息? 人们可能会使用协议内的去中心化交易所,但(i)这需要得到补贴才能保证安全(ii)人们可以构建“病态代币”,其规则旨在将任何协议内处罚视为无操作。 因此安全性可能取决于某种形式的“链式治理”,但这显然是一个巨大的攻击载体(https://vitalik.ca/general/2018/03/28/plutocracy.html)。

V神总结道:

“因此,如果社区没有采用HD-POS,那么存入ETH会成为获得交易费收入的唯一途径。 总而言之,在这种情况下,即使根据标准的‘discounted future returns(考虑现金时间的价值后的未来回报)’模型,ETH价格也不可能为零。”



原文:The collapse of ETH is inevitable
作者:Jeremy Rubin & Vitalik Buterin
编译:Apatheticco 查看全部
vitalik-buterin-147a2587.jpg


比特币核心开发人员Jeremy Rubin今日在TechCrunch上发文预测, ETH——加密货币,而不是以太坊网络本身——将会归零。而以太坊创始人Vitalik Buterin则正面回应Jeremy提出的相关问题,力证ETH不会归零。

Jeremy认为,由于未能实现扩容,未能采用更安全的合约,也并未甩开竞争对手,那些认为ETH不会真正被采用的人不需要说服就已经确信ETH价格的崩溃迟早有一天要到来。但是,如果有人认为以太坊作为一个平台最终成功的话,那么ETH(作为一种货币)将归零的说法可能需要更多的理由。他将从这个角度,提出自己看法。

 
购买“BuzzwordCoin”
 

在官方描述中,ETH没有价值主张。遗漏的原因可能是,ETH的价值对以太坊基金会来说显得如此明显,以至于不用刻意提及:用于支付Gas。但是Jeremy认为,这一用途不足以作为ETH不会归零的理由,因为以太坊合约中没有硬性要求要用ETH支付Gas。

假设正在构建一个新的去中心化应用BuzzwordCoin。默认情况下,遵循标准ERC-20代币模板,BuzzwordCoin上的每笔交易都将以 ETH支付Gas。要求每个BuzzwordCoin交易都依赖于使用ETH支付费用会产生巨大的风险,第三方依赖性以及对基础代币价格人为造成的下行压力(如果必须提前卖出BuzzwordCoin以获得ETH,以进行BuzzwordCoin交易,那么卖出的压力将在交易需要之前发生,并且一定比确保足够资金来支付交易所必需的卖出量更大)。

我们可以让每个BuzzwordCoin交易将少量的BuzzwordCoin直接存入该区块矿工的地址以支付合约的执行费用,而不是用ETH支付Gas费用。使用非ETH资产支付Gas有时被称为以太坊社区的经济抽象化(Economic abstraction)。

 
经济抽象化
 

Jeremy表示,对于经济抽象化的以太坊,目前有四个主要的反对观点:缺乏对经济抽象的软件支持,难以对许多代币定价,存在的合约没有绑定代币,以及PoS需要ETH。

软件支持:目前,矿工根据Gas选择交易。由于ETH不是合约,因此ETH交易的代码是特殊的。然而,已经有人在努力让以太坊对待ETH不那么特殊,更像其他ERC-20代币一样。举个例子,Weth将ETH包含在1:1挂钩的ERC-20兼容代币中,用于在去中心化交易所进行交易。

经济抽象的批评者(特别是Vitalik Buterin)认为考虑生态系统的获益,复杂性的增加可能得不偿失。Jeremy觉得这种说法很荒谬。他认为,如果软件不支持理性用户的需求,则应修改软件。此外,不修改软件的话,代币所需的钱包实际上复杂性有所增加,因为钱包必须支持同时支持ETH和代币本身。

市场定价:在经济抽象化的情况下挖掘ETH,矿工只需要一种软件,该软件可以让他们能够解释活跃代币感知价值的差异,并在此基础上合理地将交易包含在内。此类软件需要根据定价信息动态重新排序待定交易,并且可以通过矿工自己的期望或监控加密货币交易所价格收集定价信息。

Vlad Zamfir认为,对监测价格市场信息的需求可能使经济抽象变得困难。

然而,Jeremy认为,现状就是,矿工当前就需要定价信息。理性矿工在挖矿(或投注)之前需要一个未来ETH价格的模型,以尽量增加利润,减少电力成本、硬件成本和机会成本。

无代币合约:并非所有合约都有代币;即使有,可能也无法在交易所交易。这些合约可以在没有ETH的情况下支付费用吗?

Jeremy认为,无代币合约的用户可以用任何代币支付费用。例如,TokenlessContract的用户可以用一半一半混合的LemonadeCoin和TeaBucks支付费用。为了确保具有不同资产的用户和矿工之间的流动性,用户可以简单地发起多个互斥交易,以支付不同资产的费用。矿工收到的不需要的资产,可以通过去中心化交易所兑换成所需要的。

权益证明(PoS):在没有ETH的情况下,如果每个节点为所有资产的投票权选择权重向量,那么具有大量资产的经过修改的PoS仍然可以决定共识(让我们称之为HD-PoS,或者非均质保证金权益证明,heterogeneous deposit PoS)。虽然这是一个开放的研究问题,用来展示HD-PoS在哪些条件下维持共识,但是如果权重向量足够相似的话,是可能达成共识的。

 
V神正视问题,力挺ETH不会归零
 

Jeremy发文后,V神在Reddit上做出回应称:


“在目前的以太坊中,这是绝对正确的。事实上如果以太坊不改变,作者论证的所有部分(除了关于PoS的部分)可能都是对的。 然而,社区正在考虑两个提案,这两个提案都将对使用ETH支付的需要写在了协议层中,更进一步的话,ETH会被销毁。因此没有办法通过加快交换媒介环路的运转速度来将ETH从环路中拿出来。 ”



提案可见如下地址https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838,其中平均Gas使用量的目标是50%(高于当前的2倍) Gas上限,使用自我调整的最低交易费来进行定价,最低费用会被销毁。此费用将由区块发起者收取,因此区块发起者可以用任何ERC20代币收取费用,但区块发起者自己仍需要用ETH支付最低费用。

存储维护费用(又名“租金”):每个区块每字节支付一定费用以保存数据;否则,数据就会被“休眠”,你需要提交一个Merkle证明来恢复它。这笔费用也会被销毁。

据V神猜测,超过2/3的交易费用可能最终会被这些机制销毁。

最后就PoS的问题,V神也给出了自己的看法。他说,他实际上在2015年对HD-PoS进行了研究,但是使用HD-PoS正确地决定共识是非常难的(可能是不可能的)。 问题在于,协议如何能够获得代币之间的兑换比率信息? 人们可能会使用协议内的去中心化交易所,但(i)这需要得到补贴才能保证安全(ii)人们可以构建“病态代币”,其规则旨在将任何协议内处罚视为无操作。 因此安全性可能取决于某种形式的“链式治理”,但这显然是一个巨大的攻击载体(https://vitalik.ca/general/2018/03/28/plutocracy.html)。

V神总结道:


“因此,如果社区没有采用HD-POS,那么存入ETH会成为获得交易费收入的唯一途径。 总而言之,在这种情况下,即使根据标准的‘discounted future returns(考虑现金时间的价值后的未来回报)’模型,ETH价格也不可能为零。”




原文:The collapse of ETH is inevitable
作者:Jeremy Rubin & Vitalik Buterin
编译:Apatheticco

「首次深度揭秘」Fomo3D,被黑客拿走的 2200 万

特写hacker 发表了文章 • 2018-08-23 15:50 • 来自相关话题

01 黑客拿走大奖


以太坊上近期最火爆的Dapp应用FOMO 3D 第一轮大奖于北京时间8月22日下午14点48分揭晓。

钱包地址尾号为5的获奖者(以下简称5哥)获得了价值2200万元人民币(10,469以太坊)的大奖。






而从钱包交易历史来看,该获奖人仅仅付出了6000元人民币左右的成本(2.7个以太坊)。

该玩家于8月15日开始进入游戏,经过6天时间,145笔交易的努力,在数十万的玩家中杀出重围,以小博大,斩获大奖,获得了4000倍的收益。

为何价值北京二环两套房的大奖能被5哥夺走?是命中注定还是暗箱操作?

DapDap的小伙伴们深入调查了中奖事件和5哥钱包相关的交易记录,发现事情果然不是5哥撞大运这么简单。

几乎可以断定是黑客行为。

黑客5哥所做的准备工作,也远比表面看起来的买买买这么简单。


02 真正的高级玩家


接下来,我们层层剥开事件真相。

首先,我们简单介绍一下获得大奖的规则。

规则1:最后一个购买KEY的人获得奖池中的大奖

规则2:每有人购买一个KEY,倒计时时间会增加30秒

规则3:游戏启动后从24小时开始倒计时


也就是说,只要你是最后一个购买KEY的人,就可以捧走北京两套二环房。






当然有人会怀疑团队有暗箱操作的可能。但是由于FOMO 3D 的智能合约全程开源,公开透明,因此可以查到黑客5哥是使用正常的购买功能进行购买的。

所以不存在官方暗箱操作的可能。

那作为想要获得2200万大奖的玩家,会怎么去做呢?

如果你是小白玩家:

你可能会24小时盯着电脑,每次在倒计时快要结束的时候,花一点钱买一个KEY,然后祈祷后面不要再有人购买。

如果你是程序员玩家:

你可能会写一个脚本,设定在倒计时快要结束的时候,自动花一点钱买一个KEY,然后不断重复该过程。

如果你真的这么做了,只能说明你很傻很天真。

因为高达2200万的大奖,只要一旦接近倒计时结束,就一定会有人去购买,甚至已经有上百个脚本会等着购买。

真正的高级玩家是这么做的:

买了KEY之后,以各种手段确保后面没有人能够再买进来。

这也是黑客5哥,拿走大奖的关键原因。


03 中奖的两个手段


如下图所示,从黑客5哥的近期钱包交易记录看,他只是每隔一段时间就会买一个KEY。






所以不少人猜测黑客5哥只是写了个脚本,然后正好赶上了以太坊拥堵,或者游戏热度下降没人关注,然后运气好中了奖而已。

但是如果进一步仔细观察,就会发现在黑客5哥购买KEY之后长达3分钟、12个区块的时间里,仅有一人有过一次失败的购买。

除此之外,再无任何人发出过购买的指令。

这和之前每次倒计时3分钟的时候就会大抢一番完全不同,显得异常的冷清。

那么在以太坊上,如何可以做到这一点呢?主要有以下两个途径:

1)和矿主合谋,让矿主在我的交易后,不再打包其他购买KEY的交易;

2)在自己成功购买KEY之后,把以太坊堵塞,让其无法打包其他购买KEY的交易。


04 以太坊工作原理


这里给区块链小白简单科普一下以太坊网络的工作原理。

一般家用计算机每秒都在执行很多程序。但是以太坊可以理解为平均每14秒才执行一次,专业术语叫做“打包交易”。

负责执行程序(打包交易)的计算机被称为“矿机”,拥有矿机的人叫做矿工或矿主。

这个世界上有上万台以太坊矿机,而由哪台矿机来打包交易,会受到矿机算力和全网算力的影响。争夺打包交易权力的行为被称作“挖矿”。






一旦矿机挖矿成功,将会获得以太坊奖励,并且可以决定打包哪些交易,以及如何打包这些交易。

每时每刻都有很多用户提交自己的程序命令希望被矿机打包,被矿机打包交易需要支付给矿工一定的手续费,而矿机一般会选择付费最高的用户。

因此,通俗的讲,想要获得大奖的玩家,有以下两个途径:

1、选择和各大矿主协商好,请矿工挖矿成功后,不要打包别人买KEY的交易;

2、可以通过某种技术手段,配合高额的交易手续费,让矿机自动选择只打包我的交易,而不打包别人的交易。

矿主在这个过程中甚至毫不知情。


05 与矿主合谋的可能性


首先看与矿主合谋的可能性。

如下图,以太坊的矿机算力分布相对较为分散。

拥有最高算力的矿池Ethermine也仅占有29%的比例,其他大矿池所占比例也仅为10%左右。





出自:ethgasstation.info


由于倒计时一旦低于2分钟后,必然有大量的玩家受大奖刺激入场购买KEY。

所以大奖玩家,必须在倒计时结束前至少两分钟购买KEY,然后和挖到接下来的8-12个区块(14秒一个区块,每分钟4个,2-3分钟8-12个)的矿主协商好,让对方阻止所有要购买KEY的用户,保证自己是最后一个。

但这个做法不但在理论上较难实现,在此次事件的实际操作中,也几乎不可能达成。

如下图所示,从黑客5哥购买KEY直至确定大奖归属之间的12个区块,分别属于Ethermine、SparkPool、Nanopool、BitClubPool、bw等8个不同的矿工。

黑客5哥必须提前和这8个矿主都谈好,然后正好是这8个矿主挖矿成功。

学过概率的同学都可以很快算出来这可能性几乎为零。






分析到这里,我们基本排除了串谋矿池的可能性。


06 异常的交易数据


在分析过程中,我们也惊奇地发现,5哥购买KEY直至中奖的这3分钟、12个区块里的交易笔数异常的低,几乎为平时的1/10不到,而交易费用却数百倍高于平时水平。






这异常的数据让我断定其中必有猫腻,而结合接下来做的一系列数据分析,我们确认:

5哥在自己购买KEY后,使用高额的以太费用和技术手段让以太坊堵塞了3分钟。

进而使得其他玩家无法打包购买KEY的交易,从而获得了最后的大奖。

以下是实锤和步骤解析:

首先,我们把中奖前以太坊12个区块的一共353笔交易全部提取出来。经过各维度分析,我们有了以下发现:

1、交易次数最多的众多账号中,有一个刚刚建立不到4天的未开源合约账户。该账户在短短3分钟时间内,交易了32笔之多。






2、我们进一步深挖发现,该可疑合约账户就是由黑客5哥在差不多3、4天前创建的。

也就是说,5哥购买KEY之后,自己用智能合约向以太坊发送了大量的交易。

到这一步,虽然我们还不确定合约内容到底是什么,但是基本可以断定5哥是在买到KEY之后做了手脚。

具体做了什么手脚,我们还需进一步分析。






3、接着我们统计了在中奖前的12个区块里的GAS消耗。

我们发现5哥所创建的可疑合约账户所耗GAS占据了这段时间GAS消耗的绝大多数。

尤其是在最后的6个区块中,差不多1分半钟的时间里,5哥给出了190到501的天价GAS费用,一举垄断了所有以太坊所有的算力。






其他用户几乎无法在以太坊上执行任何操作。


07 黑客动机


这里简单讲解一下以太坊的原理以及为什么黑客5哥要这么做。

上面我们说过以太坊平均每14秒左右出一个块,该区块中会打包一些交易。而每个区块能够进行的运算量是有限的,一般为800万GAS左右。

超过这个限额的交易,将被延后至后续区块进行交易。

打个比方,以太坊上的每个区块都像一个水桶,用户提交交易请求就像往水桶里倒水,一个桶一旦倒满了水,就无法再处理其他交易请求。

水桶一般会优先处理出价高的交易。

所以5哥在这里做的事情,就是给他购买KEY之后6191898至6191908那十几个区块中挖到矿的矿机,支付了大量的金钱,让其优先打包5哥所发出的交易。

然后5哥所发出的交易占了过高的资源,把十几个区块几乎都占满了。

其他所有以太坊用户,包括玩FOMO 3D和不玩FOMO 3D的用户,在那3分钟的时间里,都无法和以太坊进行交互。

由于没有玩家可以进来和黑客5哥竞争,5哥成功守到倒计时结束的那一秒。


08 来龙去脉


于是,整个事件的脉络也就基本理清楚了:

1、FOMO 3D倒计时剩下3分钟左右;

2、黑客5哥购买了1个KEY;

3、黑客5哥用其他钱包账号向自己创建的智能合约,发送大量垃圾信息,造成了以太坊拥堵3分钟;

4、3分钟过后,由于无人购买KEY,黑客5哥成功获得大奖。

当然,整个事件当中还有一些有趣的地方和不容易想明白的地方。我们逐一进行讨论:

1、黑客5哥是手动操作的吗?

当然不是,黑客5哥提前写好了脚本以及和脚本配套的智能合约。

在整个过程中,5哥其实写了10来个智能合约,但最终成功使用的还是尾数7801这个智能合约。看来5哥也一直在优化。


2、黑客5哥的成功之路并不十分顺利

黑客5哥在7天前建立了用于赢取大奖的钱包,之后同时在FOMO 3D和 last winner执行了5、6天的脚本,意图争夺最后大奖。

但无奈一直没有成功,还白白损失了不少手续费。

直到1天前,黑客5哥灵机一动,做了一个小的改动,由原来fccbf85主账户购买KEY之后,自行给智能合约发送命令,改为fccbf85主账户只负责购买KEY,由其他若干个账号给合约发送命令。





改动前





改动后


这个改动应该大幅提高了效率,5哥差不多3小时后就迎来了FOMO 3D的大获全胜。

而本次的成功,并不是一次就成的,而是在失败了近千次之后,一次带了一点点运气成分的成功。


3、黑客5哥是谁?

应该是一名区块链领域的职业黑客,我们分析了他的钱包账户往来,但是很遗憾并不能确定最终是谁。

黑客5哥的钱包一共有8个钱包地址向其汇入以太坊。






而这些账户除了5哥自己的账户之外,都是使用了疑似ShapeShift的钱包,而ShapeShift因难以被追踪而被广大区块链黑客喜爱和使用。

同时,黑客5哥在整个过程中,使用了将近20个不同的钱包地址,用于程序运行(跑脚本)。

这些钱包地址基本都无法查到其他来源。


4、赚来的钱去哪了?

分别被存入以下两个钱包:

0xbd321d63a925b439a20ae3260f461c35cbf9b875

0x2c389a86a686ac7ee98ac2606802b5bb4a2186c1

目前暂时还没有转出


5、整个过程中没有人竞争吗?

其实是有的,在5哥买到KEY之后的三分钟时间里,曾经有一位成功的以5000+的GAS 价格挤了进来,尝试购买KEY。

但是非常遗憾的是他所设的GAS上限太低,因此交易报错。而该名玩家也因此损失了2.1以太坊,约合4000元人民币。

其他时间5哥还是很强势的。


6、交易是被f2pool鱼池打包的,鱼池是否有做手脚的嫌疑?

经过以上讨论,黑客成功的关键要素是堵住购买KEY交易之后的十几个区块。而这些区块和鱼池无关,所以我认为和鱼池无关。






但鱼池的强势出镜,反而让游戏变得更加有趣了起来。


09 少数黑客玩的游戏


Fomo 3D的设计技巧十分高超,我们之前甚至会有种错觉:「这个游戏永远不会结束」

所以在听到游戏结束的时候,我们的第一直觉就是,事情没有那么简单。

于是我们花了一晚上时间,对Fomo 3D的这次大奖进行了深层次的分析,结果种种迹象都证实了我们的猜测,确实是黑客所为。

Fomo 3D的第二轮已经启动,几个小时内,奖池的金额就过了6000以太坊。第二轮的大奖,将会在何时产生,是否还会有黑客行为,大家可以耐心等待和观察。

《GAME启示录》中曾有这样一段话:

真实的世界有太多不可预测的事,而游戏则不然,游戏就是基于规则设计的,虽有局部的随机性,但进度与结果之间的关系是确定的。

有人暴富,就必然有人血本无归。

正如我们所写的,这类资金盘游戏,是「少数黑客玩的游戏」,他们会对以太坊直接发出指令进行交互。

通过游戏页面去玩的,大多数人都是亏损的。

所以永远不要以赌徒心态去玩这类游戏。

因为,当你在凝视深渊时,深渊也在凝视你。


10 其他线索汇总


以下是事件的关键要素汇总:

1、获奖人:5哥

2、钱包地址:

0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85


3、成功购买交易地址:

0x7a06d9f11e650fbb2061b320442e26b4a704e1277547e943d73e5b67eb49c349


4、中奖打款交易地址:

0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508


5、黑客5哥创建可疑合约的交易地址:

https://etherscan.io/tx/0x21ebb34d74aa487f036d5b8b5cf9cbfc7083b9fec3614a312341a3ab01592293


6、购买交易的区块高度:6191896


7、矿工:f2pool_2 (鱼池)


8、区块信息:七彩神仙鱼


9、其他参考资料、信息来源:

https://etherscan.io/address/0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85

https://etherscan.io/tx/0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508

https://etherscan.io/block/6191896


作者:dapdap, dapdap区块链  查看全部

ha01.jpg



01 黑客拿走大奖


以太坊上近期最火爆的Dapp应用FOMO 3D 第一轮大奖于北京时间8月22日下午14点48分揭晓。

钱包地址尾号为5的获奖者(以下简称5哥)获得了价值2200万元人民币(10,469以太坊)的大奖。

ha02.jpg


而从钱包交易历史来看,该获奖人仅仅付出了6000元人民币左右的成本(2.7个以太坊)。

该玩家于8月15日开始进入游戏,经过6天时间,145笔交易的努力,在数十万的玩家中杀出重围,以小博大,斩获大奖,获得了4000倍的收益。

为何价值北京二环两套房的大奖能被5哥夺走?是命中注定还是暗箱操作?

DapDap的小伙伴们深入调查了中奖事件和5哥钱包相关的交易记录,发现事情果然不是5哥撞大运这么简单。

几乎可以断定是黑客行为。

黑客5哥所做的准备工作,也远比表面看起来的买买买这么简单。


02 真正的高级玩家


接下来,我们层层剥开事件真相。

首先,我们简单介绍一下获得大奖的规则。


规则1:最后一个购买KEY的人获得奖池中的大奖

规则2:每有人购买一个KEY,倒计时时间会增加30秒

规则3:游戏启动后从24小时开始倒计时



也就是说,只要你是最后一个购买KEY的人,就可以捧走北京两套二环房。

ha03.jpg


当然有人会怀疑团队有暗箱操作的可能。但是由于FOMO 3D 的智能合约全程开源,公开透明,因此可以查到黑客5哥是使用正常的购买功能进行购买的。

所以不存在官方暗箱操作的可能。

那作为想要获得2200万大奖的玩家,会怎么去做呢?

如果你是小白玩家:

你可能会24小时盯着电脑,每次在倒计时快要结束的时候,花一点钱买一个KEY,然后祈祷后面不要再有人购买。

如果你是程序员玩家:

你可能会写一个脚本,设定在倒计时快要结束的时候,自动花一点钱买一个KEY,然后不断重复该过程。

如果你真的这么做了,只能说明你很傻很天真。

因为高达2200万的大奖,只要一旦接近倒计时结束,就一定会有人去购买,甚至已经有上百个脚本会等着购买。

真正的高级玩家是这么做的:

买了KEY之后,以各种手段确保后面没有人能够再买进来。

这也是黑客5哥,拿走大奖的关键原因。


03 中奖的两个手段


如下图所示,从黑客5哥的近期钱包交易记录看,他只是每隔一段时间就会买一个KEY。

ha04.jpg


所以不少人猜测黑客5哥只是写了个脚本,然后正好赶上了以太坊拥堵,或者游戏热度下降没人关注,然后运气好中了奖而已。

但是如果进一步仔细观察,就会发现在黑客5哥购买KEY之后长达3分钟、12个区块的时间里,仅有一人有过一次失败的购买。

除此之外,再无任何人发出过购买的指令。

这和之前每次倒计时3分钟的时候就会大抢一番完全不同,显得异常的冷清。

那么在以太坊上,如何可以做到这一点呢?主要有以下两个途径:

1)和矿主合谋,让矿主在我的交易后,不再打包其他购买KEY的交易;

2)在自己成功购买KEY之后,把以太坊堵塞,让其无法打包其他购买KEY的交易。


04 以太坊工作原理


这里给区块链小白简单科普一下以太坊网络的工作原理。

一般家用计算机每秒都在执行很多程序。但是以太坊可以理解为平均每14秒才执行一次,专业术语叫做“打包交易”。

负责执行程序(打包交易)的计算机被称为“矿机”,拥有矿机的人叫做矿工或矿主。

这个世界上有上万台以太坊矿机,而由哪台矿机来打包交易,会受到矿机算力和全网算力的影响。争夺打包交易权力的行为被称作“挖矿”。

ha05.jpg


一旦矿机挖矿成功,将会获得以太坊奖励,并且可以决定打包哪些交易,以及如何打包这些交易。

每时每刻都有很多用户提交自己的程序命令希望被矿机打包,被矿机打包交易需要支付给矿工一定的手续费,而矿机一般会选择付费最高的用户。

因此,通俗的讲,想要获得大奖的玩家,有以下两个途径:

1、选择和各大矿主协商好,请矿工挖矿成功后,不要打包别人买KEY的交易;

2、可以通过某种技术手段,配合高额的交易手续费,让矿机自动选择只打包我的交易,而不打包别人的交易。

矿主在这个过程中甚至毫不知情。


05 与矿主合谋的可能性


首先看与矿主合谋的可能性。

如下图,以太坊的矿机算力分布相对较为分散。

拥有最高算力的矿池Ethermine也仅占有29%的比例,其他大矿池所占比例也仅为10%左右。

ha06.jpg

出自:ethgasstation.info


由于倒计时一旦低于2分钟后,必然有大量的玩家受大奖刺激入场购买KEY。

所以大奖玩家,必须在倒计时结束前至少两分钟购买KEY,然后和挖到接下来的8-12个区块(14秒一个区块,每分钟4个,2-3分钟8-12个)的矿主协商好,让对方阻止所有要购买KEY的用户,保证自己是最后一个。

但这个做法不但在理论上较难实现,在此次事件的实际操作中,也几乎不可能达成。

如下图所示,从黑客5哥购买KEY直至确定大奖归属之间的12个区块,分别属于Ethermine、SparkPool、Nanopool、BitClubPool、bw等8个不同的矿工。

黑客5哥必须提前和这8个矿主都谈好,然后正好是这8个矿主挖矿成功。

学过概率的同学都可以很快算出来这可能性几乎为零。

ha07.jpg


分析到这里,我们基本排除了串谋矿池的可能性。


06 异常的交易数据


在分析过程中,我们也惊奇地发现,5哥购买KEY直至中奖的这3分钟、12个区块里的交易笔数异常的低,几乎为平时的1/10不到,而交易费用却数百倍高于平时水平。

ha08.jpg


这异常的数据让我断定其中必有猫腻,而结合接下来做的一系列数据分析,我们确认:

5哥在自己购买KEY后,使用高额的以太费用和技术手段让以太坊堵塞了3分钟。

进而使得其他玩家无法打包购买KEY的交易,从而获得了最后的大奖。

以下是实锤和步骤解析:

首先,我们把中奖前以太坊12个区块的一共353笔交易全部提取出来。经过各维度分析,我们有了以下发现:

1、交易次数最多的众多账号中,有一个刚刚建立不到4天的未开源合约账户。该账户在短短3分钟时间内,交易了32笔之多。

ha09.jpg


2、我们进一步深挖发现,该可疑合约账户就是由黑客5哥在差不多3、4天前创建的。

也就是说,5哥购买KEY之后,自己用智能合约向以太坊发送了大量的交易。

到这一步,虽然我们还不确定合约内容到底是什么,但是基本可以断定5哥是在买到KEY之后做了手脚。

具体做了什么手脚,我们还需进一步分析。

ha10.jpg


3、接着我们统计了在中奖前的12个区块里的GAS消耗。

我们发现5哥所创建的可疑合约账户所耗GAS占据了这段时间GAS消耗的绝大多数。

尤其是在最后的6个区块中,差不多1分半钟的时间里,5哥给出了190到501的天价GAS费用,一举垄断了所有以太坊所有的算力。

ha11.jpg


其他用户几乎无法在以太坊上执行任何操作。


07 黑客动机


这里简单讲解一下以太坊的原理以及为什么黑客5哥要这么做。

上面我们说过以太坊平均每14秒左右出一个块,该区块中会打包一些交易。而每个区块能够进行的运算量是有限的,一般为800万GAS左右。

超过这个限额的交易,将被延后至后续区块进行交易。

打个比方,以太坊上的每个区块都像一个水桶,用户提交交易请求就像往水桶里倒水,一个桶一旦倒满了水,就无法再处理其他交易请求。

水桶一般会优先处理出价高的交易。

所以5哥在这里做的事情,就是给他购买KEY之后6191898至6191908那十几个区块中挖到矿的矿机,支付了大量的金钱,让其优先打包5哥所发出的交易。

然后5哥所发出的交易占了过高的资源,把十几个区块几乎都占满了。

其他所有以太坊用户,包括玩FOMO 3D和不玩FOMO 3D的用户,在那3分钟的时间里,都无法和以太坊进行交互。

由于没有玩家可以进来和黑客5哥竞争,5哥成功守到倒计时结束的那一秒。


08 来龙去脉


于是,整个事件的脉络也就基本理清楚了:

1、FOMO 3D倒计时剩下3分钟左右;

2、黑客5哥购买了1个KEY;

3、黑客5哥用其他钱包账号向自己创建的智能合约,发送大量垃圾信息,造成了以太坊拥堵3分钟;

4、3分钟过后,由于无人购买KEY,黑客5哥成功获得大奖。

当然,整个事件当中还有一些有趣的地方和不容易想明白的地方。我们逐一进行讨论:

1、黑客5哥是手动操作的吗?

当然不是,黑客5哥提前写好了脚本以及和脚本配套的智能合约。

在整个过程中,5哥其实写了10来个智能合约,但最终成功使用的还是尾数7801这个智能合约。看来5哥也一直在优化。


2、黑客5哥的成功之路并不十分顺利

黑客5哥在7天前建立了用于赢取大奖的钱包,之后同时在FOMO 3D和 last winner执行了5、6天的脚本,意图争夺最后大奖。

但无奈一直没有成功,还白白损失了不少手续费。

直到1天前,黑客5哥灵机一动,做了一个小的改动,由原来fccbf85主账户购买KEY之后,自行给智能合约发送命令,改为fccbf85主账户只负责购买KEY,由其他若干个账号给合约发送命令。

ha12.jpg

改动前

ha13.jpg

改动后


这个改动应该大幅提高了效率,5哥差不多3小时后就迎来了FOMO 3D的大获全胜。

而本次的成功,并不是一次就成的,而是在失败了近千次之后,一次带了一点点运气成分的成功。


3、黑客5哥是谁?

应该是一名区块链领域的职业黑客,我们分析了他的钱包账户往来,但是很遗憾并不能确定最终是谁。

黑客5哥的钱包一共有8个钱包地址向其汇入以太坊。

ha14.jpg


而这些账户除了5哥自己的账户之外,都是使用了疑似ShapeShift的钱包,而ShapeShift因难以被追踪而被广大区块链黑客喜爱和使用。

同时,黑客5哥在整个过程中,使用了将近20个不同的钱包地址,用于程序运行(跑脚本)。

这些钱包地址基本都无法查到其他来源。


4、赚来的钱去哪了?

分别被存入以下两个钱包:

0xbd321d63a925b439a20ae3260f461c35cbf9b875

0x2c389a86a686ac7ee98ac2606802b5bb4a2186c1

目前暂时还没有转出


5、整个过程中没有人竞争吗?

其实是有的,在5哥买到KEY之后的三分钟时间里,曾经有一位成功的以5000+的GAS 价格挤了进来,尝试购买KEY。

但是非常遗憾的是他所设的GAS上限太低,因此交易报错。而该名玩家也因此损失了2.1以太坊,约合4000元人民币。

其他时间5哥还是很强势的。


6、交易是被f2pool鱼池打包的,鱼池是否有做手脚的嫌疑?

经过以上讨论,黑客成功的关键要素是堵住购买KEY交易之后的十几个区块。而这些区块和鱼池无关,所以我认为和鱼池无关。

ha15.jpg


但鱼池的强势出镜,反而让游戏变得更加有趣了起来。


09 少数黑客玩的游戏


Fomo 3D的设计技巧十分高超,我们之前甚至会有种错觉:「这个游戏永远不会结束」

所以在听到游戏结束的时候,我们的第一直觉就是,事情没有那么简单。

于是我们花了一晚上时间,对Fomo 3D的这次大奖进行了深层次的分析,结果种种迹象都证实了我们的猜测,确实是黑客所为。

Fomo 3D的第二轮已经启动,几个小时内,奖池的金额就过了6000以太坊。第二轮的大奖,将会在何时产生,是否还会有黑客行为,大家可以耐心等待和观察。

《GAME启示录》中曾有这样一段话:

真实的世界有太多不可预测的事,而游戏则不然,游戏就是基于规则设计的,虽有局部的随机性,但进度与结果之间的关系是确定的。

有人暴富,就必然有人血本无归。

正如我们所写的,这类资金盘游戏,是「少数黑客玩的游戏」,他们会对以太坊直接发出指令进行交互。

通过游戏页面去玩的,大多数人都是亏损的。

所以永远不要以赌徒心态去玩这类游戏。

因为,当你在凝视深渊时,深渊也在凝视你。


10 其他线索汇总


以下是事件的关键要素汇总:

1、获奖人:5哥

2、钱包地址:

0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85


3、成功购买交易地址:

0x7a06d9f11e650fbb2061b320442e26b4a704e1277547e943d73e5b67eb49c349


4、中奖打款交易地址:

0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508


5、黑客5哥创建可疑合约的交易地址:

https://etherscan.io/tx/0x21ebb34d74aa487f036d5b8b5cf9cbfc7083b9fec3614a312341a3ab01592293


6、购买交易的区块高度:6191896


7、矿工:f2pool_2 (鱼池)


8、区块信息:七彩神仙鱼


9、其他参考资料、信息来源:

https://etherscan.io/address/0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85

https://etherscan.io/tx/0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508

https://etherscan.io/block/6191896


作者:dapdap, dapdap区块链 

不可能的任务?Vitalik建议设置固定手续费标准

资讯leek 发表了文章 • 2018-08-20 15:25 • 来自相关话题

 
Vitalik Buterin建议用固定费用机制取代现阶段的最高手续费优先模式来处理交易。
他在Zcash的Github页面提出了这一建议。他强调,这个建议与所有的公共区块链系统息息相关,而以太坊已经在考虑采用这种新机制。

这个新机制将会新增一项协议规则,设置固定的手续费标准,而且相关标准可以随着区块容量的改变而改变,旨在取代当前极不稳定的费用计算方式。

Buterin说:

假设一个区块用了50%的容量,那么费用就不需要调整;假设这个区块用了10%的空间。那么手续费就减少10%;要是容量是90%就增加10%。


通过这种机制,用户需要以字节或gas为单位支付费用,这些费用最终会去往一个“分配处”,然后平均分配给矿工。

Buterin说这种机制下的矿工收到的费用不会低于X(某一标准),但除非X是矿工能够取得的最高费用,否则他们依然可能会优先处理手续费高于X的交易。

这个新机制用固定标准取代了原先‘价高者得’的方式(除非短时间内区块容量被迅速耗尽,导致费用上涨),提高了效率,并且让费用的估算过程变得尤其简单:提前计算出下一区块的手续费f,如果你承担的起就可以发起交易,否则就继续等待。


目前交易手续费的固定标准尚未公布。不过,Buterin曾提出设定以太坊供应量上限,因此他对于本次提议给出的结论很有意思:

矿工处理每个区块得到的奖励是1/N(例如1/10000),N代表了‘分配处’剩余的资金(注意,这个数字与区块中的交易无关)……

这样就能创建一种类似于永久区块奖励的机制,在无需永久发行货币的情况下,减少了大量的不稳定因素,这些问题在只关注手续费的区块链系统中很常见。


这就相当于实现了交易过程的公有化,矿工无需因为选择特定交易而互相竞争。相反,他们会共享这些费用,而不是直接通过交易手续费获利。

从理论上来说,这些费用就成了固定的区块奖励。要实现这个目标,无论是实际操作还是思想观念的转变都是十分困难的。不仅要有人能够设置合理的费用,还要说服矿工适应这种费用机制,这一定是很有影响力的人才能做到的。

现阶段这个提案还比较粗糙,具体的实施还需要一些重大的改进以适应系统规则,因此现在听起来还是一个不可能完成的任务。


作者:Wendy, 巴比特 查看全部

201808200256268105.jpg

 
Vitalik Buterin建议用固定费用机制取代现阶段的最高手续费优先模式来处理交易。
他在Zcash的Github页面提出了这一建议。他强调,这个建议与所有的公共区块链系统息息相关,而以太坊已经在考虑采用这种新机制。

这个新机制将会新增一项协议规则,设置固定的手续费标准,而且相关标准可以随着区块容量的改变而改变,旨在取代当前极不稳定的费用计算方式。

Buterin说:


假设一个区块用了50%的容量,那么费用就不需要调整;假设这个区块用了10%的空间。那么手续费就减少10%;要是容量是90%就增加10%。



通过这种机制,用户需要以字节或gas为单位支付费用,这些费用最终会去往一个“分配处”,然后平均分配给矿工。

Buterin说这种机制下的矿工收到的费用不会低于X(某一标准),但除非X是矿工能够取得的最高费用,否则他们依然可能会优先处理手续费高于X的交易。


这个新机制用固定标准取代了原先‘价高者得’的方式(除非短时间内区块容量被迅速耗尽,导致费用上涨),提高了效率,并且让费用的估算过程变得尤其简单:提前计算出下一区块的手续费f,如果你承担的起就可以发起交易,否则就继续等待。



目前交易手续费的固定标准尚未公布。不过,Buterin曾提出设定以太坊供应量上限,因此他对于本次提议给出的结论很有意思:


矿工处理每个区块得到的奖励是1/N(例如1/10000),N代表了‘分配处’剩余的资金(注意,这个数字与区块中的交易无关)……

这样就能创建一种类似于永久区块奖励的机制,在无需永久发行货币的情况下,减少了大量的不稳定因素,这些问题在只关注手续费的区块链系统中很常见。



这就相当于实现了交易过程的公有化,矿工无需因为选择特定交易而互相竞争。相反,他们会共享这些费用,而不是直接通过交易手续费获利。

从理论上来说,这些费用就成了固定的区块奖励。要实现这个目标,无论是实际操作还是思想观念的转变都是十分困难的。不仅要有人能够设置合理的费用,还要说服矿工适应这种费用机制,这一定是很有影响力的人才能做到的。

现阶段这个提案还比较粗糙,具体的实施还需要一些重大的改进以适应系统规则,因此现在听起来还是一个不可能完成的任务。


作者:Wendy, 巴比特

比特币核心开发者预测ETH将归零,V神回应力挺ETH

投研8btc 发表了文章 • 2018-09-03 17:52 • 来自相关话题

比特币核心开发人员Jeremy Rubin今日在TechCrunch上发文预测, ETH——加密货币,而不是以太坊网络本身——将会归零。而以太坊创始人Vitalik Buterin则正面回应Jeremy提出的相关问题,力证ETH不会归零。

Jeremy认为,由于未能实现扩容,未能采用更安全的合约,也并未甩开竞争对手,那些认为ETH不会真正被采用的人不需要说服就已经确信ETH价格的崩溃迟早有一天要到来。但是,如果有人认为以太坊作为一个平台最终成功的话,那么ETH(作为一种货币)将归零的说法可能需要更多的理由。他将从这个角度,提出自己看法。

 
购买“BuzzwordCoin”
 

在官方描述中,ETH没有价值主张。遗漏的原因可能是,ETH的价值对以太坊基金会来说显得如此明显,以至于不用刻意提及:用于支付Gas。但是Jeremy认为,这一用途不足以作为ETH不会归零的理由,因为以太坊合约中没有硬性要求要用ETH支付Gas。

假设正在构建一个新的去中心化应用BuzzwordCoin。默认情况下,遵循标准ERC-20代币模板,BuzzwordCoin上的每笔交易都将以 ETH支付Gas。要求每个BuzzwordCoin交易都依赖于使用ETH支付费用会产生巨大的风险,第三方依赖性以及对基础代币价格人为造成的下行压力(如果必须提前卖出BuzzwordCoin以获得ETH,以进行BuzzwordCoin交易,那么卖出的压力将在交易需要之前发生,并且一定比确保足够资金来支付交易所必需的卖出量更大)。

我们可以让每个BuzzwordCoin交易将少量的BuzzwordCoin直接存入该区块矿工的地址以支付合约的执行费用,而不是用ETH支付Gas费用。使用非ETH资产支付Gas有时被称为以太坊社区的经济抽象化(Economic abstraction)。

 
经济抽象化
 

Jeremy表示,对于经济抽象化的以太坊,目前有四个主要的反对观点:缺乏对经济抽象的软件支持,难以对许多代币定价,存在的合约没有绑定代币,以及PoS需要ETH。

软件支持:目前,矿工根据Gas选择交易。由于ETH不是合约,因此ETH交易的代码是特殊的。然而,已经有人在努力让以太坊对待ETH不那么特殊,更像其他ERC-20代币一样。举个例子,Weth将ETH包含在1:1挂钩的ERC-20兼容代币中,用于在去中心化交易所进行交易。

经济抽象的批评者(特别是Vitalik Buterin)认为考虑生态系统的获益,复杂性的增加可能得不偿失。Jeremy觉得这种说法很荒谬。他认为,如果软件不支持理性用户的需求,则应修改软件。此外,不修改软件的话,代币所需的钱包实际上复杂性有所增加,因为钱包必须支持同时支持ETH和代币本身。

市场定价:在经济抽象化的情况下挖掘ETH,矿工只需要一种软件,该软件可以让他们能够解释活跃代币感知价值的差异,并在此基础上合理地将交易包含在内。此类软件需要根据定价信息动态重新排序待定交易,并且可以通过矿工自己的期望或监控加密货币交易所价格收集定价信息。

Vlad Zamfir认为,对监测价格市场信息的需求可能使经济抽象变得困难。

然而,Jeremy认为,现状就是,矿工当前就需要定价信息。理性矿工在挖矿(或投注)之前需要一个未来ETH价格的模型,以尽量增加利润,减少电力成本、硬件成本和机会成本。

无代币合约:并非所有合约都有代币;即使有,可能也无法在交易所交易。这些合约可以在没有ETH的情况下支付费用吗?

Jeremy认为,无代币合约的用户可以用任何代币支付费用。例如,TokenlessContract的用户可以用一半一半混合的LemonadeCoin和TeaBucks支付费用。为了确保具有不同资产的用户和矿工之间的流动性,用户可以简单地发起多个互斥交易,以支付不同资产的费用。矿工收到的不需要的资产,可以通过去中心化交易所兑换成所需要的。

权益证明(PoS):在没有ETH的情况下,如果每个节点为所有资产的投票权选择权重向量,那么具有大量资产的经过修改的PoS仍然可以决定共识(让我们称之为HD-PoS,或者非均质保证金权益证明,heterogeneous deposit PoS)。虽然这是一个开放的研究问题,用来展示HD-PoS在哪些条件下维持共识,但是如果权重向量足够相似的话,是可能达成共识的。

 
V神正视问题,力挺ETH不会归零
 

Jeremy发文后,V神在Reddit上做出回应称:

“在目前的以太坊中,这是绝对正确的。事实上如果以太坊不改变,作者论证的所有部分(除了关于PoS的部分)可能都是对的。 然而,社区正在考虑两个提案,这两个提案都将对使用ETH支付的需要写在了协议层中,更进一步的话,ETH会被销毁。因此没有办法通过加快交换媒介环路的运转速度来将ETH从环路中拿出来。 ”


提案可见如下地址https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838,其中平均Gas使用量的目标是50%(高于当前的2倍) Gas上限,使用自我调整的最低交易费来进行定价,最低费用会被销毁。此费用将由区块发起者收取,因此区块发起者可以用任何ERC20代币收取费用,但区块发起者自己仍需要用ETH支付最低费用。

存储维护费用(又名“租金”):每个区块每字节支付一定费用以保存数据;否则,数据就会被“休眠”,你需要提交一个Merkle证明来恢复它。这笔费用也会被销毁。

据V神猜测,超过2/3的交易费用可能最终会被这些机制销毁。

最后就PoS的问题,V神也给出了自己的看法。他说,他实际上在2015年对HD-PoS进行了研究,但是使用HD-PoS正确地决定共识是非常难的(可能是不可能的)。 问题在于,协议如何能够获得代币之间的兑换比率信息? 人们可能会使用协议内的去中心化交易所,但(i)这需要得到补贴才能保证安全(ii)人们可以构建“病态代币”,其规则旨在将任何协议内处罚视为无操作。 因此安全性可能取决于某种形式的“链式治理”,但这显然是一个巨大的攻击载体(https://vitalik.ca/general/2018/03/28/plutocracy.html)。

V神总结道:

“因此,如果社区没有采用HD-POS,那么存入ETH会成为获得交易费收入的唯一途径。 总而言之,在这种情况下,即使根据标准的‘discounted future returns(考虑现金时间的价值后的未来回报)’模型,ETH价格也不可能为零。”



原文:The collapse of ETH is inevitable
作者:Jeremy Rubin & Vitalik Buterin
编译:Apatheticco 查看全部
vitalik-buterin-147a2587.jpg


比特币核心开发人员Jeremy Rubin今日在TechCrunch上发文预测, ETH——加密货币,而不是以太坊网络本身——将会归零。而以太坊创始人Vitalik Buterin则正面回应Jeremy提出的相关问题,力证ETH不会归零。

Jeremy认为,由于未能实现扩容,未能采用更安全的合约,也并未甩开竞争对手,那些认为ETH不会真正被采用的人不需要说服就已经确信ETH价格的崩溃迟早有一天要到来。但是,如果有人认为以太坊作为一个平台最终成功的话,那么ETH(作为一种货币)将归零的说法可能需要更多的理由。他将从这个角度,提出自己看法。

 
购买“BuzzwordCoin”
 

在官方描述中,ETH没有价值主张。遗漏的原因可能是,ETH的价值对以太坊基金会来说显得如此明显,以至于不用刻意提及:用于支付Gas。但是Jeremy认为,这一用途不足以作为ETH不会归零的理由,因为以太坊合约中没有硬性要求要用ETH支付Gas。

假设正在构建一个新的去中心化应用BuzzwordCoin。默认情况下,遵循标准ERC-20代币模板,BuzzwordCoin上的每笔交易都将以 ETH支付Gas。要求每个BuzzwordCoin交易都依赖于使用ETH支付费用会产生巨大的风险,第三方依赖性以及对基础代币价格人为造成的下行压力(如果必须提前卖出BuzzwordCoin以获得ETH,以进行BuzzwordCoin交易,那么卖出的压力将在交易需要之前发生,并且一定比确保足够资金来支付交易所必需的卖出量更大)。

我们可以让每个BuzzwordCoin交易将少量的BuzzwordCoin直接存入该区块矿工的地址以支付合约的执行费用,而不是用ETH支付Gas费用。使用非ETH资产支付Gas有时被称为以太坊社区的经济抽象化(Economic abstraction)。

 
经济抽象化
 

Jeremy表示,对于经济抽象化的以太坊,目前有四个主要的反对观点:缺乏对经济抽象的软件支持,难以对许多代币定价,存在的合约没有绑定代币,以及PoS需要ETH。

软件支持:目前,矿工根据Gas选择交易。由于ETH不是合约,因此ETH交易的代码是特殊的。然而,已经有人在努力让以太坊对待ETH不那么特殊,更像其他ERC-20代币一样。举个例子,Weth将ETH包含在1:1挂钩的ERC-20兼容代币中,用于在去中心化交易所进行交易。

经济抽象的批评者(特别是Vitalik Buterin)认为考虑生态系统的获益,复杂性的增加可能得不偿失。Jeremy觉得这种说法很荒谬。他认为,如果软件不支持理性用户的需求,则应修改软件。此外,不修改软件的话,代币所需的钱包实际上复杂性有所增加,因为钱包必须支持同时支持ETH和代币本身。

市场定价:在经济抽象化的情况下挖掘ETH,矿工只需要一种软件,该软件可以让他们能够解释活跃代币感知价值的差异,并在此基础上合理地将交易包含在内。此类软件需要根据定价信息动态重新排序待定交易,并且可以通过矿工自己的期望或监控加密货币交易所价格收集定价信息。

Vlad Zamfir认为,对监测价格市场信息的需求可能使经济抽象变得困难。

然而,Jeremy认为,现状就是,矿工当前就需要定价信息。理性矿工在挖矿(或投注)之前需要一个未来ETH价格的模型,以尽量增加利润,减少电力成本、硬件成本和机会成本。

无代币合约:并非所有合约都有代币;即使有,可能也无法在交易所交易。这些合约可以在没有ETH的情况下支付费用吗?

Jeremy认为,无代币合约的用户可以用任何代币支付费用。例如,TokenlessContract的用户可以用一半一半混合的LemonadeCoin和TeaBucks支付费用。为了确保具有不同资产的用户和矿工之间的流动性,用户可以简单地发起多个互斥交易,以支付不同资产的费用。矿工收到的不需要的资产,可以通过去中心化交易所兑换成所需要的。

权益证明(PoS):在没有ETH的情况下,如果每个节点为所有资产的投票权选择权重向量,那么具有大量资产的经过修改的PoS仍然可以决定共识(让我们称之为HD-PoS,或者非均质保证金权益证明,heterogeneous deposit PoS)。虽然这是一个开放的研究问题,用来展示HD-PoS在哪些条件下维持共识,但是如果权重向量足够相似的话,是可能达成共识的。

 
V神正视问题,力挺ETH不会归零
 

Jeremy发文后,V神在Reddit上做出回应称:


“在目前的以太坊中,这是绝对正确的。事实上如果以太坊不改变,作者论证的所有部分(除了关于PoS的部分)可能都是对的。 然而,社区正在考虑两个提案,这两个提案都将对使用ETH支付的需要写在了协议层中,更进一步的话,ETH会被销毁。因此没有办法通过加快交换媒介环路的运转速度来将ETH从环路中拿出来。 ”



提案可见如下地址https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838,其中平均Gas使用量的目标是50%(高于当前的2倍) Gas上限,使用自我调整的最低交易费来进行定价,最低费用会被销毁。此费用将由区块发起者收取,因此区块发起者可以用任何ERC20代币收取费用,但区块发起者自己仍需要用ETH支付最低费用。

存储维护费用(又名“租金”):每个区块每字节支付一定费用以保存数据;否则,数据就会被“休眠”,你需要提交一个Merkle证明来恢复它。这笔费用也会被销毁。

据V神猜测,超过2/3的交易费用可能最终会被这些机制销毁。

最后就PoS的问题,V神也给出了自己的看法。他说,他实际上在2015年对HD-PoS进行了研究,但是使用HD-PoS正确地决定共识是非常难的(可能是不可能的)。 问题在于,协议如何能够获得代币之间的兑换比率信息? 人们可能会使用协议内的去中心化交易所,但(i)这需要得到补贴才能保证安全(ii)人们可以构建“病态代币”,其规则旨在将任何协议内处罚视为无操作。 因此安全性可能取决于某种形式的“链式治理”,但这显然是一个巨大的攻击载体(https://vitalik.ca/general/2018/03/28/plutocracy.html)。

V神总结道:


“因此,如果社区没有采用HD-POS,那么存入ETH会成为获得交易费收入的唯一途径。 总而言之,在这种情况下,即使根据标准的‘discounted future returns(考虑现金时间的价值后的未来回报)’模型,ETH价格也不可能为零。”




原文:The collapse of ETH is inevitable
作者:Jeremy Rubin & Vitalik Buterin
编译:Apatheticco

「首次深度揭秘」Fomo3D,被黑客拿走的 2200 万

特写hacker 发表了文章 • 2018-08-23 15:50 • 来自相关话题

01 黑客拿走大奖


以太坊上近期最火爆的Dapp应用FOMO 3D 第一轮大奖于北京时间8月22日下午14点48分揭晓。

钱包地址尾号为5的获奖者(以下简称5哥)获得了价值2200万元人民币(10,469以太坊)的大奖。






而从钱包交易历史来看,该获奖人仅仅付出了6000元人民币左右的成本(2.7个以太坊)。

该玩家于8月15日开始进入游戏,经过6天时间,145笔交易的努力,在数十万的玩家中杀出重围,以小博大,斩获大奖,获得了4000倍的收益。

为何价值北京二环两套房的大奖能被5哥夺走?是命中注定还是暗箱操作?

DapDap的小伙伴们深入调查了中奖事件和5哥钱包相关的交易记录,发现事情果然不是5哥撞大运这么简单。

几乎可以断定是黑客行为。

黑客5哥所做的准备工作,也远比表面看起来的买买买这么简单。


02 真正的高级玩家


接下来,我们层层剥开事件真相。

首先,我们简单介绍一下获得大奖的规则。

规则1:最后一个购买KEY的人获得奖池中的大奖

规则2:每有人购买一个KEY,倒计时时间会增加30秒

规则3:游戏启动后从24小时开始倒计时


也就是说,只要你是最后一个购买KEY的人,就可以捧走北京两套二环房。






当然有人会怀疑团队有暗箱操作的可能。但是由于FOMO 3D 的智能合约全程开源,公开透明,因此可以查到黑客5哥是使用正常的购买功能进行购买的。

所以不存在官方暗箱操作的可能。

那作为想要获得2200万大奖的玩家,会怎么去做呢?

如果你是小白玩家:

你可能会24小时盯着电脑,每次在倒计时快要结束的时候,花一点钱买一个KEY,然后祈祷后面不要再有人购买。

如果你是程序员玩家:

你可能会写一个脚本,设定在倒计时快要结束的时候,自动花一点钱买一个KEY,然后不断重复该过程。

如果你真的这么做了,只能说明你很傻很天真。

因为高达2200万的大奖,只要一旦接近倒计时结束,就一定会有人去购买,甚至已经有上百个脚本会等着购买。

真正的高级玩家是这么做的:

买了KEY之后,以各种手段确保后面没有人能够再买进来。

这也是黑客5哥,拿走大奖的关键原因。


03 中奖的两个手段


如下图所示,从黑客5哥的近期钱包交易记录看,他只是每隔一段时间就会买一个KEY。






所以不少人猜测黑客5哥只是写了个脚本,然后正好赶上了以太坊拥堵,或者游戏热度下降没人关注,然后运气好中了奖而已。

但是如果进一步仔细观察,就会发现在黑客5哥购买KEY之后长达3分钟、12个区块的时间里,仅有一人有过一次失败的购买。

除此之外,再无任何人发出过购买的指令。

这和之前每次倒计时3分钟的时候就会大抢一番完全不同,显得异常的冷清。

那么在以太坊上,如何可以做到这一点呢?主要有以下两个途径:

1)和矿主合谋,让矿主在我的交易后,不再打包其他购买KEY的交易;

2)在自己成功购买KEY之后,把以太坊堵塞,让其无法打包其他购买KEY的交易。


04 以太坊工作原理


这里给区块链小白简单科普一下以太坊网络的工作原理。

一般家用计算机每秒都在执行很多程序。但是以太坊可以理解为平均每14秒才执行一次,专业术语叫做“打包交易”。

负责执行程序(打包交易)的计算机被称为“矿机”,拥有矿机的人叫做矿工或矿主。

这个世界上有上万台以太坊矿机,而由哪台矿机来打包交易,会受到矿机算力和全网算力的影响。争夺打包交易权力的行为被称作“挖矿”。






一旦矿机挖矿成功,将会获得以太坊奖励,并且可以决定打包哪些交易,以及如何打包这些交易。

每时每刻都有很多用户提交自己的程序命令希望被矿机打包,被矿机打包交易需要支付给矿工一定的手续费,而矿机一般会选择付费最高的用户。

因此,通俗的讲,想要获得大奖的玩家,有以下两个途径:

1、选择和各大矿主协商好,请矿工挖矿成功后,不要打包别人买KEY的交易;

2、可以通过某种技术手段,配合高额的交易手续费,让矿机自动选择只打包我的交易,而不打包别人的交易。

矿主在这个过程中甚至毫不知情。


05 与矿主合谋的可能性


首先看与矿主合谋的可能性。

如下图,以太坊的矿机算力分布相对较为分散。

拥有最高算力的矿池Ethermine也仅占有29%的比例,其他大矿池所占比例也仅为10%左右。





出自:ethgasstation.info


由于倒计时一旦低于2分钟后,必然有大量的玩家受大奖刺激入场购买KEY。

所以大奖玩家,必须在倒计时结束前至少两分钟购买KEY,然后和挖到接下来的8-12个区块(14秒一个区块,每分钟4个,2-3分钟8-12个)的矿主协商好,让对方阻止所有要购买KEY的用户,保证自己是最后一个。

但这个做法不但在理论上较难实现,在此次事件的实际操作中,也几乎不可能达成。

如下图所示,从黑客5哥购买KEY直至确定大奖归属之间的12个区块,分别属于Ethermine、SparkPool、Nanopool、BitClubPool、bw等8个不同的矿工。

黑客5哥必须提前和这8个矿主都谈好,然后正好是这8个矿主挖矿成功。

学过概率的同学都可以很快算出来这可能性几乎为零。






分析到这里,我们基本排除了串谋矿池的可能性。


06 异常的交易数据


在分析过程中,我们也惊奇地发现,5哥购买KEY直至中奖的这3分钟、12个区块里的交易笔数异常的低,几乎为平时的1/10不到,而交易费用却数百倍高于平时水平。






这异常的数据让我断定其中必有猫腻,而结合接下来做的一系列数据分析,我们确认:

5哥在自己购买KEY后,使用高额的以太费用和技术手段让以太坊堵塞了3分钟。

进而使得其他玩家无法打包购买KEY的交易,从而获得了最后的大奖。

以下是实锤和步骤解析:

首先,我们把中奖前以太坊12个区块的一共353笔交易全部提取出来。经过各维度分析,我们有了以下发现:

1、交易次数最多的众多账号中,有一个刚刚建立不到4天的未开源合约账户。该账户在短短3分钟时间内,交易了32笔之多。






2、我们进一步深挖发现,该可疑合约账户就是由黑客5哥在差不多3、4天前创建的。

也就是说,5哥购买KEY之后,自己用智能合约向以太坊发送了大量的交易。

到这一步,虽然我们还不确定合约内容到底是什么,但是基本可以断定5哥是在买到KEY之后做了手脚。

具体做了什么手脚,我们还需进一步分析。






3、接着我们统计了在中奖前的12个区块里的GAS消耗。

我们发现5哥所创建的可疑合约账户所耗GAS占据了这段时间GAS消耗的绝大多数。

尤其是在最后的6个区块中,差不多1分半钟的时间里,5哥给出了190到501的天价GAS费用,一举垄断了所有以太坊所有的算力。






其他用户几乎无法在以太坊上执行任何操作。


07 黑客动机


这里简单讲解一下以太坊的原理以及为什么黑客5哥要这么做。

上面我们说过以太坊平均每14秒左右出一个块,该区块中会打包一些交易。而每个区块能够进行的运算量是有限的,一般为800万GAS左右。

超过这个限额的交易,将被延后至后续区块进行交易。

打个比方,以太坊上的每个区块都像一个水桶,用户提交交易请求就像往水桶里倒水,一个桶一旦倒满了水,就无法再处理其他交易请求。

水桶一般会优先处理出价高的交易。

所以5哥在这里做的事情,就是给他购买KEY之后6191898至6191908那十几个区块中挖到矿的矿机,支付了大量的金钱,让其优先打包5哥所发出的交易。

然后5哥所发出的交易占了过高的资源,把十几个区块几乎都占满了。

其他所有以太坊用户,包括玩FOMO 3D和不玩FOMO 3D的用户,在那3分钟的时间里,都无法和以太坊进行交互。

由于没有玩家可以进来和黑客5哥竞争,5哥成功守到倒计时结束的那一秒。


08 来龙去脉


于是,整个事件的脉络也就基本理清楚了:

1、FOMO 3D倒计时剩下3分钟左右;

2、黑客5哥购买了1个KEY;

3、黑客5哥用其他钱包账号向自己创建的智能合约,发送大量垃圾信息,造成了以太坊拥堵3分钟;

4、3分钟过后,由于无人购买KEY,黑客5哥成功获得大奖。

当然,整个事件当中还有一些有趣的地方和不容易想明白的地方。我们逐一进行讨论:

1、黑客5哥是手动操作的吗?

当然不是,黑客5哥提前写好了脚本以及和脚本配套的智能合约。

在整个过程中,5哥其实写了10来个智能合约,但最终成功使用的还是尾数7801这个智能合约。看来5哥也一直在优化。


2、黑客5哥的成功之路并不十分顺利

黑客5哥在7天前建立了用于赢取大奖的钱包,之后同时在FOMO 3D和 last winner执行了5、6天的脚本,意图争夺最后大奖。

但无奈一直没有成功,还白白损失了不少手续费。

直到1天前,黑客5哥灵机一动,做了一个小的改动,由原来fccbf85主账户购买KEY之后,自行给智能合约发送命令,改为fccbf85主账户只负责购买KEY,由其他若干个账号给合约发送命令。





改动前





改动后


这个改动应该大幅提高了效率,5哥差不多3小时后就迎来了FOMO 3D的大获全胜。

而本次的成功,并不是一次就成的,而是在失败了近千次之后,一次带了一点点运气成分的成功。


3、黑客5哥是谁?

应该是一名区块链领域的职业黑客,我们分析了他的钱包账户往来,但是很遗憾并不能确定最终是谁。

黑客5哥的钱包一共有8个钱包地址向其汇入以太坊。






而这些账户除了5哥自己的账户之外,都是使用了疑似ShapeShift的钱包,而ShapeShift因难以被追踪而被广大区块链黑客喜爱和使用。

同时,黑客5哥在整个过程中,使用了将近20个不同的钱包地址,用于程序运行(跑脚本)。

这些钱包地址基本都无法查到其他来源。


4、赚来的钱去哪了?

分别被存入以下两个钱包:

0xbd321d63a925b439a20ae3260f461c35cbf9b875

0x2c389a86a686ac7ee98ac2606802b5bb4a2186c1

目前暂时还没有转出


5、整个过程中没有人竞争吗?

其实是有的,在5哥买到KEY之后的三分钟时间里,曾经有一位成功的以5000+的GAS 价格挤了进来,尝试购买KEY。

但是非常遗憾的是他所设的GAS上限太低,因此交易报错。而该名玩家也因此损失了2.1以太坊,约合4000元人民币。

其他时间5哥还是很强势的。


6、交易是被f2pool鱼池打包的,鱼池是否有做手脚的嫌疑?

经过以上讨论,黑客成功的关键要素是堵住购买KEY交易之后的十几个区块。而这些区块和鱼池无关,所以我认为和鱼池无关。






但鱼池的强势出镜,反而让游戏变得更加有趣了起来。


09 少数黑客玩的游戏


Fomo 3D的设计技巧十分高超,我们之前甚至会有种错觉:「这个游戏永远不会结束」

所以在听到游戏结束的时候,我们的第一直觉就是,事情没有那么简单。

于是我们花了一晚上时间,对Fomo 3D的这次大奖进行了深层次的分析,结果种种迹象都证实了我们的猜测,确实是黑客所为。

Fomo 3D的第二轮已经启动,几个小时内,奖池的金额就过了6000以太坊。第二轮的大奖,将会在何时产生,是否还会有黑客行为,大家可以耐心等待和观察。

《GAME启示录》中曾有这样一段话:

真实的世界有太多不可预测的事,而游戏则不然,游戏就是基于规则设计的,虽有局部的随机性,但进度与结果之间的关系是确定的。

有人暴富,就必然有人血本无归。

正如我们所写的,这类资金盘游戏,是「少数黑客玩的游戏」,他们会对以太坊直接发出指令进行交互。

通过游戏页面去玩的,大多数人都是亏损的。

所以永远不要以赌徒心态去玩这类游戏。

因为,当你在凝视深渊时,深渊也在凝视你。


10 其他线索汇总


以下是事件的关键要素汇总:

1、获奖人:5哥

2、钱包地址:

0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85


3、成功购买交易地址:

0x7a06d9f11e650fbb2061b320442e26b4a704e1277547e943d73e5b67eb49c349


4、中奖打款交易地址:

0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508


5、黑客5哥创建可疑合约的交易地址:

https://etherscan.io/tx/0x21ebb34d74aa487f036d5b8b5cf9cbfc7083b9fec3614a312341a3ab01592293


6、购买交易的区块高度:6191896


7、矿工:f2pool_2 (鱼池)


8、区块信息:七彩神仙鱼


9、其他参考资料、信息来源:

https://etherscan.io/address/0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85

https://etherscan.io/tx/0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508

https://etherscan.io/block/6191896


作者:dapdap, dapdap区块链  查看全部

ha01.jpg



01 黑客拿走大奖


以太坊上近期最火爆的Dapp应用FOMO 3D 第一轮大奖于北京时间8月22日下午14点48分揭晓。

钱包地址尾号为5的获奖者(以下简称5哥)获得了价值2200万元人民币(10,469以太坊)的大奖。

ha02.jpg


而从钱包交易历史来看,该获奖人仅仅付出了6000元人民币左右的成本(2.7个以太坊)。

该玩家于8月15日开始进入游戏,经过6天时间,145笔交易的努力,在数十万的玩家中杀出重围,以小博大,斩获大奖,获得了4000倍的收益。

为何价值北京二环两套房的大奖能被5哥夺走?是命中注定还是暗箱操作?

DapDap的小伙伴们深入调查了中奖事件和5哥钱包相关的交易记录,发现事情果然不是5哥撞大运这么简单。

几乎可以断定是黑客行为。

黑客5哥所做的准备工作,也远比表面看起来的买买买这么简单。


02 真正的高级玩家


接下来,我们层层剥开事件真相。

首先,我们简单介绍一下获得大奖的规则。


规则1:最后一个购买KEY的人获得奖池中的大奖

规则2:每有人购买一个KEY,倒计时时间会增加30秒

规则3:游戏启动后从24小时开始倒计时



也就是说,只要你是最后一个购买KEY的人,就可以捧走北京两套二环房。

ha03.jpg


当然有人会怀疑团队有暗箱操作的可能。但是由于FOMO 3D 的智能合约全程开源,公开透明,因此可以查到黑客5哥是使用正常的购买功能进行购买的。

所以不存在官方暗箱操作的可能。

那作为想要获得2200万大奖的玩家,会怎么去做呢?

如果你是小白玩家:

你可能会24小时盯着电脑,每次在倒计时快要结束的时候,花一点钱买一个KEY,然后祈祷后面不要再有人购买。

如果你是程序员玩家:

你可能会写一个脚本,设定在倒计时快要结束的时候,自动花一点钱买一个KEY,然后不断重复该过程。

如果你真的这么做了,只能说明你很傻很天真。

因为高达2200万的大奖,只要一旦接近倒计时结束,就一定会有人去购买,甚至已经有上百个脚本会等着购买。

真正的高级玩家是这么做的:

买了KEY之后,以各种手段确保后面没有人能够再买进来。

这也是黑客5哥,拿走大奖的关键原因。


03 中奖的两个手段


如下图所示,从黑客5哥的近期钱包交易记录看,他只是每隔一段时间就会买一个KEY。

ha04.jpg


所以不少人猜测黑客5哥只是写了个脚本,然后正好赶上了以太坊拥堵,或者游戏热度下降没人关注,然后运气好中了奖而已。

但是如果进一步仔细观察,就会发现在黑客5哥购买KEY之后长达3分钟、12个区块的时间里,仅有一人有过一次失败的购买。

除此之外,再无任何人发出过购买的指令。

这和之前每次倒计时3分钟的时候就会大抢一番完全不同,显得异常的冷清。

那么在以太坊上,如何可以做到这一点呢?主要有以下两个途径:

1)和矿主合谋,让矿主在我的交易后,不再打包其他购买KEY的交易;

2)在自己成功购买KEY之后,把以太坊堵塞,让其无法打包其他购买KEY的交易。


04 以太坊工作原理


这里给区块链小白简单科普一下以太坊网络的工作原理。

一般家用计算机每秒都在执行很多程序。但是以太坊可以理解为平均每14秒才执行一次,专业术语叫做“打包交易”。

负责执行程序(打包交易)的计算机被称为“矿机”,拥有矿机的人叫做矿工或矿主。

这个世界上有上万台以太坊矿机,而由哪台矿机来打包交易,会受到矿机算力和全网算力的影响。争夺打包交易权力的行为被称作“挖矿”。

ha05.jpg


一旦矿机挖矿成功,将会获得以太坊奖励,并且可以决定打包哪些交易,以及如何打包这些交易。

每时每刻都有很多用户提交自己的程序命令希望被矿机打包,被矿机打包交易需要支付给矿工一定的手续费,而矿机一般会选择付费最高的用户。

因此,通俗的讲,想要获得大奖的玩家,有以下两个途径:

1、选择和各大矿主协商好,请矿工挖矿成功后,不要打包别人买KEY的交易;

2、可以通过某种技术手段,配合高额的交易手续费,让矿机自动选择只打包我的交易,而不打包别人的交易。

矿主在这个过程中甚至毫不知情。


05 与矿主合谋的可能性


首先看与矿主合谋的可能性。

如下图,以太坊的矿机算力分布相对较为分散。

拥有最高算力的矿池Ethermine也仅占有29%的比例,其他大矿池所占比例也仅为10%左右。

ha06.jpg

出自:ethgasstation.info


由于倒计时一旦低于2分钟后,必然有大量的玩家受大奖刺激入场购买KEY。

所以大奖玩家,必须在倒计时结束前至少两分钟购买KEY,然后和挖到接下来的8-12个区块(14秒一个区块,每分钟4个,2-3分钟8-12个)的矿主协商好,让对方阻止所有要购买KEY的用户,保证自己是最后一个。

但这个做法不但在理论上较难实现,在此次事件的实际操作中,也几乎不可能达成。

如下图所示,从黑客5哥购买KEY直至确定大奖归属之间的12个区块,分别属于Ethermine、SparkPool、Nanopool、BitClubPool、bw等8个不同的矿工。

黑客5哥必须提前和这8个矿主都谈好,然后正好是这8个矿主挖矿成功。

学过概率的同学都可以很快算出来这可能性几乎为零。

ha07.jpg


分析到这里,我们基本排除了串谋矿池的可能性。


06 异常的交易数据


在分析过程中,我们也惊奇地发现,5哥购买KEY直至中奖的这3分钟、12个区块里的交易笔数异常的低,几乎为平时的1/10不到,而交易费用却数百倍高于平时水平。

ha08.jpg


这异常的数据让我断定其中必有猫腻,而结合接下来做的一系列数据分析,我们确认:

5哥在自己购买KEY后,使用高额的以太费用和技术手段让以太坊堵塞了3分钟。

进而使得其他玩家无法打包购买KEY的交易,从而获得了最后的大奖。

以下是实锤和步骤解析:

首先,我们把中奖前以太坊12个区块的一共353笔交易全部提取出来。经过各维度分析,我们有了以下发现:

1、交易次数最多的众多账号中,有一个刚刚建立不到4天的未开源合约账户。该账户在短短3分钟时间内,交易了32笔之多。

ha09.jpg


2、我们进一步深挖发现,该可疑合约账户就是由黑客5哥在差不多3、4天前创建的。

也就是说,5哥购买KEY之后,自己用智能合约向以太坊发送了大量的交易。

到这一步,虽然我们还不确定合约内容到底是什么,但是基本可以断定5哥是在买到KEY之后做了手脚。

具体做了什么手脚,我们还需进一步分析。

ha10.jpg


3、接着我们统计了在中奖前的12个区块里的GAS消耗。

我们发现5哥所创建的可疑合约账户所耗GAS占据了这段时间GAS消耗的绝大多数。

尤其是在最后的6个区块中,差不多1分半钟的时间里,5哥给出了190到501的天价GAS费用,一举垄断了所有以太坊所有的算力。

ha11.jpg


其他用户几乎无法在以太坊上执行任何操作。


07 黑客动机


这里简单讲解一下以太坊的原理以及为什么黑客5哥要这么做。

上面我们说过以太坊平均每14秒左右出一个块,该区块中会打包一些交易。而每个区块能够进行的运算量是有限的,一般为800万GAS左右。

超过这个限额的交易,将被延后至后续区块进行交易。

打个比方,以太坊上的每个区块都像一个水桶,用户提交交易请求就像往水桶里倒水,一个桶一旦倒满了水,就无法再处理其他交易请求。

水桶一般会优先处理出价高的交易。

所以5哥在这里做的事情,就是给他购买KEY之后6191898至6191908那十几个区块中挖到矿的矿机,支付了大量的金钱,让其优先打包5哥所发出的交易。

然后5哥所发出的交易占了过高的资源,把十几个区块几乎都占满了。

其他所有以太坊用户,包括玩FOMO 3D和不玩FOMO 3D的用户,在那3分钟的时间里,都无法和以太坊进行交互。

由于没有玩家可以进来和黑客5哥竞争,5哥成功守到倒计时结束的那一秒。


08 来龙去脉


于是,整个事件的脉络也就基本理清楚了:

1、FOMO 3D倒计时剩下3分钟左右;

2、黑客5哥购买了1个KEY;

3、黑客5哥用其他钱包账号向自己创建的智能合约,发送大量垃圾信息,造成了以太坊拥堵3分钟;

4、3分钟过后,由于无人购买KEY,黑客5哥成功获得大奖。

当然,整个事件当中还有一些有趣的地方和不容易想明白的地方。我们逐一进行讨论:

1、黑客5哥是手动操作的吗?

当然不是,黑客5哥提前写好了脚本以及和脚本配套的智能合约。

在整个过程中,5哥其实写了10来个智能合约,但最终成功使用的还是尾数7801这个智能合约。看来5哥也一直在优化。


2、黑客5哥的成功之路并不十分顺利

黑客5哥在7天前建立了用于赢取大奖的钱包,之后同时在FOMO 3D和 last winner执行了5、6天的脚本,意图争夺最后大奖。

但无奈一直没有成功,还白白损失了不少手续费。

直到1天前,黑客5哥灵机一动,做了一个小的改动,由原来fccbf85主账户购买KEY之后,自行给智能合约发送命令,改为fccbf85主账户只负责购买KEY,由其他若干个账号给合约发送命令。

ha12.jpg

改动前

ha13.jpg

改动后


这个改动应该大幅提高了效率,5哥差不多3小时后就迎来了FOMO 3D的大获全胜。

而本次的成功,并不是一次就成的,而是在失败了近千次之后,一次带了一点点运气成分的成功。


3、黑客5哥是谁?

应该是一名区块链领域的职业黑客,我们分析了他的钱包账户往来,但是很遗憾并不能确定最终是谁。

黑客5哥的钱包一共有8个钱包地址向其汇入以太坊。

ha14.jpg


而这些账户除了5哥自己的账户之外,都是使用了疑似ShapeShift的钱包,而ShapeShift因难以被追踪而被广大区块链黑客喜爱和使用。

同时,黑客5哥在整个过程中,使用了将近20个不同的钱包地址,用于程序运行(跑脚本)。

这些钱包地址基本都无法查到其他来源。


4、赚来的钱去哪了?

分别被存入以下两个钱包:

0xbd321d63a925b439a20ae3260f461c35cbf9b875

0x2c389a86a686ac7ee98ac2606802b5bb4a2186c1

目前暂时还没有转出


5、整个过程中没有人竞争吗?

其实是有的,在5哥买到KEY之后的三分钟时间里,曾经有一位成功的以5000+的GAS 价格挤了进来,尝试购买KEY。

但是非常遗憾的是他所设的GAS上限太低,因此交易报错。而该名玩家也因此损失了2.1以太坊,约合4000元人民币。

其他时间5哥还是很强势的。


6、交易是被f2pool鱼池打包的,鱼池是否有做手脚的嫌疑?

经过以上讨论,黑客成功的关键要素是堵住购买KEY交易之后的十几个区块。而这些区块和鱼池无关,所以我认为和鱼池无关。

ha15.jpg


但鱼池的强势出镜,反而让游戏变得更加有趣了起来。


09 少数黑客玩的游戏


Fomo 3D的设计技巧十分高超,我们之前甚至会有种错觉:「这个游戏永远不会结束」

所以在听到游戏结束的时候,我们的第一直觉就是,事情没有那么简单。

于是我们花了一晚上时间,对Fomo 3D的这次大奖进行了深层次的分析,结果种种迹象都证实了我们的猜测,确实是黑客所为。

Fomo 3D的第二轮已经启动,几个小时内,奖池的金额就过了6000以太坊。第二轮的大奖,将会在何时产生,是否还会有黑客行为,大家可以耐心等待和观察。

《GAME启示录》中曾有这样一段话:

真实的世界有太多不可预测的事,而游戏则不然,游戏就是基于规则设计的,虽有局部的随机性,但进度与结果之间的关系是确定的。

有人暴富,就必然有人血本无归。

正如我们所写的,这类资金盘游戏,是「少数黑客玩的游戏」,他们会对以太坊直接发出指令进行交互。

通过游戏页面去玩的,大多数人都是亏损的。

所以永远不要以赌徒心态去玩这类游戏。

因为,当你在凝视深渊时,深渊也在凝视你。


10 其他线索汇总


以下是事件的关键要素汇总:

1、获奖人:5哥

2、钱包地址:

0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85


3、成功购买交易地址:

0x7a06d9f11e650fbb2061b320442e26b4a704e1277547e943d73e5b67eb49c349


4、中奖打款交易地址:

0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508


5、黑客5哥创建可疑合约的交易地址:

https://etherscan.io/tx/0x21ebb34d74aa487f036d5b8b5cf9cbfc7083b9fec3614a312341a3ab01592293


6、购买交易的区块高度:6191896


7、矿工:f2pool_2 (鱼池)


8、区块信息:七彩神仙鱼


9、其他参考资料、信息来源:

https://etherscan.io/address/0xa169df5ed3363cfc4c92ac96c6c5f2a42fccbf85

https://etherscan.io/tx/0xe08a519c03cb0aed0e04b33104112d65fa1d3a48cd3aeab65f047b2abce9d508

https://etherscan.io/block/6191896


作者:dapdap, dapdap区块链 

不可能的任务?Vitalik建议设置固定手续费标准

资讯leek 发表了文章 • 2018-08-20 15:25 • 来自相关话题

 
Vitalik Buterin建议用固定费用机制取代现阶段的最高手续费优先模式来处理交易。
他在Zcash的Github页面提出了这一建议。他强调,这个建议与所有的公共区块链系统息息相关,而以太坊已经在考虑采用这种新机制。

这个新机制将会新增一项协议规则,设置固定的手续费标准,而且相关标准可以随着区块容量的改变而改变,旨在取代当前极不稳定的费用计算方式。

Buterin说:

假设一个区块用了50%的容量,那么费用就不需要调整;假设这个区块用了10%的空间。那么手续费就减少10%;要是容量是90%就增加10%。


通过这种机制,用户需要以字节或gas为单位支付费用,这些费用最终会去往一个“分配处”,然后平均分配给矿工。

Buterin说这种机制下的矿工收到的费用不会低于X(某一标准),但除非X是矿工能够取得的最高费用,否则他们依然可能会优先处理手续费高于X的交易。

这个新机制用固定标准取代了原先‘价高者得’的方式(除非短时间内区块容量被迅速耗尽,导致费用上涨),提高了效率,并且让费用的估算过程变得尤其简单:提前计算出下一区块的手续费f,如果你承担的起就可以发起交易,否则就继续等待。


目前交易手续费的固定标准尚未公布。不过,Buterin曾提出设定以太坊供应量上限,因此他对于本次提议给出的结论很有意思:

矿工处理每个区块得到的奖励是1/N(例如1/10000),N代表了‘分配处’剩余的资金(注意,这个数字与区块中的交易无关)……

这样就能创建一种类似于永久区块奖励的机制,在无需永久发行货币的情况下,减少了大量的不稳定因素,这些问题在只关注手续费的区块链系统中很常见。


这就相当于实现了交易过程的公有化,矿工无需因为选择特定交易而互相竞争。相反,他们会共享这些费用,而不是直接通过交易手续费获利。

从理论上来说,这些费用就成了固定的区块奖励。要实现这个目标,无论是实际操作还是思想观念的转变都是十分困难的。不仅要有人能够设置合理的费用,还要说服矿工适应这种费用机制,这一定是很有影响力的人才能做到的。

现阶段这个提案还比较粗糙,具体的实施还需要一些重大的改进以适应系统规则,因此现在听起来还是一个不可能完成的任务。


作者:Wendy, 巴比特 查看全部

201808200256268105.jpg

 
Vitalik Buterin建议用固定费用机制取代现阶段的最高手续费优先模式来处理交易。
他在Zcash的Github页面提出了这一建议。他强调,这个建议与所有的公共区块链系统息息相关,而以太坊已经在考虑采用这种新机制。

这个新机制将会新增一项协议规则,设置固定的手续费标准,而且相关标准可以随着区块容量的改变而改变,旨在取代当前极不稳定的费用计算方式。

Buterin说:


假设一个区块用了50%的容量,那么费用就不需要调整;假设这个区块用了10%的空间。那么手续费就减少10%;要是容量是90%就增加10%。



通过这种机制,用户需要以字节或gas为单位支付费用,这些费用最终会去往一个“分配处”,然后平均分配给矿工。

Buterin说这种机制下的矿工收到的费用不会低于X(某一标准),但除非X是矿工能够取得的最高费用,否则他们依然可能会优先处理手续费高于X的交易。


这个新机制用固定标准取代了原先‘价高者得’的方式(除非短时间内区块容量被迅速耗尽,导致费用上涨),提高了效率,并且让费用的估算过程变得尤其简单:提前计算出下一区块的手续费f,如果你承担的起就可以发起交易,否则就继续等待。



目前交易手续费的固定标准尚未公布。不过,Buterin曾提出设定以太坊供应量上限,因此他对于本次提议给出的结论很有意思:


矿工处理每个区块得到的奖励是1/N(例如1/10000),N代表了‘分配处’剩余的资金(注意,这个数字与区块中的交易无关)……

这样就能创建一种类似于永久区块奖励的机制,在无需永久发行货币的情况下,减少了大量的不稳定因素,这些问题在只关注手续费的区块链系统中很常见。



这就相当于实现了交易过程的公有化,矿工无需因为选择特定交易而互相竞争。相反,他们会共享这些费用,而不是直接通过交易手续费获利。

从理论上来说,这些费用就成了固定的区块奖励。要实现这个目标,无论是实际操作还是思想观念的转变都是十分困难的。不仅要有人能够设置合理的费用,还要说服矿工适应这种费用机制,这一定是很有影响力的人才能做到的。

现阶段这个提案还比较粗糙,具体的实施还需要一些重大的改进以适应系统规则,因此现在听起来还是一个不可能完成的任务。


作者:Wendy, 巴比特