主页 > imtoken钱包哪个版本好 > 以太坊硬分叉提案公布,留给社区的时间仅剩15天

以太坊硬分叉提案公布,留给社区的时间仅剩15天

imtoken钱包哪个版本好 2024-01-23 05:13:26

译者注:The DAO攻击发生后,以太坊社区迅速提出软硬分叉对策。 但软分叉方案被否决,因为会造成更大的攻击问题。 前面似乎只有两条路:(1)什么都不做,或者(2)使用硬分叉。 现在,Slock.it 团队和几位以太坊开发者共同提出了硬分叉计划。 以太坊社区最终会采用这个方案吗? 或许这还是一个未知数。

以太坊众筹时间_sitehqz.com 以太坊和以太坊贸易的关系_京东众筹和淘宝众筹

在过去的六天里以太坊众筹时间,来自 Slock.it 团队的个人与其他几位以太坊开发人员合作开发了以太坊硬分叉,试图解决 DAO 黑客攻击问题。

下面的硬分叉方案还有待测试,同时也需要社区的审核。 这是一个开源项目,因此它依赖于来自多个来源的宝贵输入。 当然也可以改变。 这篇文章仅提供有关硬分叉开发进度的最新信息。 我们希望您觉得它有用。

提议的硬分叉计划

所有起始交易来自0xbb9bc244d798123fde783fcc1c72d3bb8c189413的账户,它们的附加余额(extraBalance)账户[1],以及the DAO的主账户(0xbb9bc244d798123fde783fcc1c72d3bb8c189413)和其附加余额账户(0x807640A13483f8AC783c557fcDF27Be11ea4AC7A)都会被列入列表L当中。 This list L is在块 X 中确定(块号待定)。 列表当前内容可以看这里[2]:在区块Y开始(区块号待定),L列表账户中的所有以太币将转入一个退款合约账户,代码如下:

/*

该文件是 DAO 的一部分。

DAO 是自由软件:您可以重新分发它和/或修改它

它根据 GNU 通用公共许可证的条款发布

自由软件基金会,许可证的第 3 版,或

(由您选择)任何更高版本。

DAO 被分发是希望它有用,

但没有任何保证; 甚至没有默示保证

特定用途的适销性或适用性。 见

GNU 较小的通用公共许可证以获取更多详细信息。

您应该已经收到 GNU 次要通用公共许可证的副本

与 DAO 一起。 如果没有,请看。

*/

// TODO: 所有常量都需要仔细检查

导入“github.com/slockit/DAO/DAO.sol”;

合同退款{

DAO恒公母=0xbb9bc244d798123fde783fcc1c72d3bb8c189413;

映射(地址=>布尔)公共白名单;

uint 常量 public totalSupply = 11712722930974665882186911;

uint 常数 public totalWeiSupply = 12072858342395652843028271;

uint 常量 public fixChildDAOsListTime = 1468057560; // 09.07.2016 - 11:46:00 CEST

函数退款(){

// 将除攻击者 DAO 之外的所有 childDAO 列入白名单(注释掉)

白名单[0xd4fe7bc31cedb7bfb8a345f31e668033056b2728] = true;

白名单[0x2c19c7f9ae8b751e37aeb2d93a699722395ae18f] = true;

白名单[0x1975bd06d486162d5dc297798dfc41edd5d160a7] = true;

白名单[0x319f70bab6845585f412ec7724b744fec6095c85] = true;

白名单[0x5c8536898fbb74fc7445814902fd08422eac56d0] = true;

白名单[0x779543a0491a837ca36ce8c635d6154e3c4911a6] = true;

白名单[0x5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5] = true;

白名单[0x200450f06520bdd6c527622a273333384d870efb] = true;

白名单[0x6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb] = true;

白名单[0xd1ac8b1ef1b69ff51d1d401a476e7e612414f091] = true;

白名单[0x51e0ddd9998364a2eb38588679f0d2c42653e4a6] = true;

白名单[0xf0b1aa0eb660754448a7937c022e30aa692fe0c5] = true;

白名单[0x9f27daea7aca0aa0446220b98d028715e3bc803d] = true;

白名单[0xd9aef3a1e38a39c16b31d1ace71bca8ef58d315b] = true;

白名单[0x6f6704e5a10332af6672e50b3d9754dc460dfa4d] = true;

白名单[0x492ea3bb0f3315521c31f273e565b868fc090f17] = true;

白名单[0x9ea779f907f0b315b364b0cfc39a0fde5b02a416] = true;

白名单[0xcc34673c6c40e791051898567a1222daf90be287] = true;

白名单[0xe308bd1ac5fda103967359b2712dd89deffb7973] = true;

白名单[0xac1ecab32727358dba8962a0f3b261731aad9723] = true;

白名单[0x440c59b325d2997a134c2c7c60a8c61611212bad] = true;

白名单[0x9c15b54878ba618f494b38f0ae7443db6af648ba] = true;

白名单[0x21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241] = true;

白名单[0x1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b] = true;

白名单[0x6131c42fa982e56929107413a9d526fd99405560] = true;

白名单[0x542a9515200d14b68e934e9830d91645a980dd7a] = true;

白名单[0x782495b7b3355efb2833d56ecb34dc22ad7dfcc4] = true;

白名单[0x3ba4d81db016dc2890c81f3acec2454bff5aada5] = true;

白名单[0xe4ae1efdfc53b73893af49113d8694a057b9c0d1] = true;

白名单[0x0737a6b837f97f46ebade41b9bc3e1c509c85c53] = true;

白名单[0x52c5317c848ba20c7504cb2c8052abd1fde29d03] = true;

白名单[0x5d2b2e6fcbe3b11d26b525e085ff818dae332479] = true;

白名单[0x057b56736d32b86616a10f619859c6cd6f59092a] = true;

// 白名单[0x304a554a310c7e546dfe434669c62820b7d83490] = true;

白名单[0x4deb0033bb26bc534b197e61d19e0733e5679784] = true;

白名单[0x35a051a0010aba705c9008d7a7eff6fb88f6ea7b] = true;

白名单[0x9da397b9e80755301a3b32173283a91c0ef6c87e] = true;

白名单[0x0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9] = true;

白名单[0xbcf899e6c7d9d5a215ab1e3444c86806fa854c76] = true;

白名单[0xa2f1ccba9395d7fcb155bba8bc92db9bafaeade7] = true;

白名单[0xd164b088bd9108b60d0ca3751da4bceb207b0782] = true;

白名单[0x1cba23d343a983e9b5cfd19496b9a9701ada385f] = true;

白名单[0x9fcd2deaff372a39cc679d5c5e4de7bafb0b1339] = true;

白名单[0x0e0da70933f4c7849fc0d203f5d1d43b9ae4532d] = true;

白名单[0xbc07118b9ac290e4622f5e77a0853539789effbe] = true;

白名单[0xacd87e28b0c9d1254e868b81cba4cc20d9a32225] = true;

白名单[0x5524c55fb03cf21f549444ccbecb664d0acad706] = true;

// 白名单[0xfe24cdd8648121a43a7c86d289be4dd2951ed49f] = true;

白名单[0x253488078a4edf4d6f42f113d1e62836a942cf1a] = true;

// 白名单[0xb136707642a4ea12fb4bae820f03d2562ebff487] = true;

白名单[0xf14c14075d6c4ed84b86798af0956deef67365b5] = true;

// 白名单[0xaeeb8ff27288bdabc0fa5ebb731b6f409507516c] = true;

白名单[0x6d87578288b6cb5549d5076a207456a1f6a63dc0] = true;

白名单[0xaccc230e8a6e5be9160b8cdf2864dd2a001c28b6] = true;

// 白名单[0x4613f3bca5c44ea06337a9e439fbc6d42e501d0a] = true;

// 白名单[0x84ef4b2357079cd7a7c69fd7a37cd0609a679106] = true;

// 白名单[0xf4c64518ea10f995918a454158c6b61407ea345c] = true;

}

函数 withdrawFromChildDAO(DAO_child) {

// 替换为允许在 childDAO 取款开始之前完成直接取款的时间

如果(现在 < fixChildDAOsListTime + 4 周)抛出; 如果 (!whiteList[_child] || _child.lastTimeMinQuorumMet() > fixChildDAOsListTime

|| _孩子。 privateCreation() != 妈妈)

扔;

退出(_child);

}

函数撤回(){

退出(母亲);

}

函数退出(DAO _dao)内部{

uint balance = _dao.balanceOf(msg.sender);

if (!_dao.transferFrom(msg.sender, this, balance) || !msg.sender.send(balance * totalWeiSupply / totalSupply))

扔;

}

}

评论:

在真正的硬分叉发生之前,子 DAO 中 Ether 的实际分配是很难确定的,它会在特定的时间点(区块 X)完成。 区块链分析的结果将成为这次硬分叉的一部分,并将在稍后的时间点(区块 Y)生效。 这意味着在区块高度 X 之后,代币持有者不应进行拆分操作或删除主 DAO 或子 DAO 以太币的提议,否则将无法享受此退款合约。 如果他们这样做,他们将没收退款。 DAO 代币的转移和交易不会受到此次硬分叉计划的影响。

[1] web3.eth.contract(abi).at(newDAO).extraBalance()

[2](非最终版,待核对)

[3] 根据合约是否准备就绪,将使用简单的零代码哈希合约(意味着我们稍后需要另一个硬分叉)或最终合约。 最终合约将具有两个功能(“撤回”和“从子 DAO 撤回”)。

当前代码(粗略版本,未经测试):

或者

争论

为了降低执行过程中出错的风险,我们设计了一个简单的硬分叉计划。 这让绝大多数 DAO 代币持有者挽回了损失,但它也有一个缺点:一些群体无法获得 100% 的退款。

1. 在过去两周内创建代币的代币持有者。

因为 DAO 代币是可交易和可替代的,所以很难区分在任何给定时间创建了哪些代币。 这导致非固定退款模型,比例略高于 1 ETH:100 DAO 代币,适用于所有 DAO 代币持有者。

2. 攻击开始后进行分裂操作的代币持有者。

在子 DAO 中创建的令牌数量取决于第一个“拆分 DAO”命令时主 DAO 的余额。 出于这个原因,在攻击开始后分裂的代币持有者拥有的子 DAO 代币将少于他们之前在主 DAO 中拥有的代币。

这个群体不能得到额外的退款,主要原因是他们可能会把 ETH 发给主 DAO,然后分裂退出。 这创造了以 1 以太:100 子 DAO 代币的比例创建子 DAO 代币的可能性。 如果这个群体享受额外的退款,攻击者可能会利用这一点获得比预期更大的退款。

3. 递归分裂攻击的 Sub-DAO 代币持有者。

攻击者的DAO(包括黑客和白帽子)不在退款合约的白名单中,否则攻击者可以要求更大的退款。 不幸的是,这意味着“darkDAO”代币的持有者将无法获得退款。

然而,解决方案的复杂性可能会导致新的错误和损失。 我们从过去的失败中吸取教训以太坊众筹时间,牢记保持智能合约简单的重要性,因此,我们相信这个硬分叉计划是可以实现的,并且可以在短期内进行测试,是给定时间内的最优硬分叉策略。

重要日期

第一个子 DAO 的创建期结束:2016 年 7 月 1 日 16:25:02 CET

第一批 (2000) 以太离开道系统:2016 年 7 月 16 日 17:04:37 CET(拆分提案 #8)

DarkDAO 创建结束时间:2016 年 7 月 14 日 05:34:48 CEST

攻击者DAO可以进行第一次拆分操作的时间:2016年7月21日05:34:48 CEST

有了提案,攻击者DAO可以进行第一次提现时间:2016年7月28日05:34:48 CET

通过拆分提案,攻击者DAO可以进行首次提款时间:2106年8月31日05:34:48 CET

这意味着不为这个干净的硬分叉添加任何其他规则的截止日期是 7 月 16 日。 这是分裂提案 #8 的所有者可以合法地从他们的子 DAO 中提取以太币的时候。 如果忽略所有分裂的 DAO,我们可以简单地处理攻击者 DAO 的以太币,那么 7 月 21 日将是本次硬分叉的截止日期。 在此之后,这些以太币可以转移到攻击者生成的多个分裂的 DAO 中,这将大大增加硬分叉计划的复杂性。

综上所述

在这篇文章中,我们提出了我们对这个硬分叉计划的建议。 已经转发给各个版本客户端的开发者:geth、parity、cpp-ethereum、pyeth。 我们还介绍了这个简单的硬分叉计划背后的论点,以及这个预期的硬分叉的一些重要时间安排。

我们邀请大家测试和审查这个硬分叉计划,特别是硬编码数字、列表 L 中的帐户,当然还有智能合约本身。

发稿时比特币标准价 买入价:¥4551.7 卖出价:¥4549.24 (来源:HaoBTC,简单优雅的比特币交易所)

原文:#.7gzljc4is