etc dao分叉分析

以太坊合并-DAO攻击事件的启示 阅读详情

  
分叉前:
  Height:    < Prev   1919999   Next >
  TimeStamp:    643 days 17 hrs ago (Jul-20-2016 01:20:38 PM +UTC)
  Transactions:    0 transactions and 0 contract internal transactions in this block
  Hash:    0xa218e2c611f21232d857e3c8cecdcdf1f65f25a4477f98f6f47e4063807f2308
  Parent Hash:    0x505ffd21f4cbf2c5c34fa84cd8c92525f3a719b7ad18852bffddad601035f5f4
  Sha3Uncles:    0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
  Mined By:    0x2a65aca4d5fc5b5c859090a6c34d164135398226 (DwarfPool1) in 3 secs
  Difficulty:    62,382,916,183,238
  Total Difficulty:    39,490,902,020,018,959,982
  Size:    526 bytes
  Gas Used:    0 (0.00%)
  Gas Limit:    4,707,788
  Nonce:    0x60832709c8979daa
  Block Reward:    5 Ether
  Uncles Reward:    0
  Extra Data:    DwarfPool (Hex:0x4477617266506f6f6c)

开始分叉:

新的代码生成一个新的块:
  Height: < Prev   1920000   Next >
  TimeStamp:  643 days 17 hrs ago (Jul-20-2016 01:20:40 PM +UTC)
  Transactions: 4 transactions and 0 contract internal transactions in this block
  Hash: 0x4985f5ca3d2afbec36529aa96f74de3cc10a2a4a6c44f2157a57d2c6059a11bb
  Parent Hash:  0xa218e2c611f21232d857e3c8cecdcdf1f65f25a4477f98f6f47e4063807f2308
  Sha3Uncles: 0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
  Mined By: 0xbcdfc35b86bedf72f0cda046a3c16829a2ef41d1 (bw.com) in 2 secs
  Difficulty: 62,413,376,722,602
  Total Difficulty: 39,490,964,433,395,682,584
  Size: 976 bytes
  Gas Used: 84,000 (1.78%)
  Gas Limit:  4,712,384
  Nonce:  0xbede87201de42426
  Block Reward: 5.00168 Ether (5 + 0.00168)
  Uncles Reward:  0
  Extra Data: dao-hard-fork (Hex:0x64616f2d686172642d666f726b)

0x4985f5ca3d2afbec36529aa96f74de3cc10a2a4a6c44f2157a57d2c6059a11bb进行广播


旧的代码生成一个新的块:

  Height: < Prev   1920000   Next >
  TimeStamp:  643 days 17 hrs ago (Jul-20-2016 01:20:38 PM +UTC)
  Transactions: 0 transactions and 0 contract internal transactions in this block
  Hash: 0xa2************************
  Parent Hash:  0xa218e2c611f21232d857e3c8cecdcdf1f65f25a4477f98f6f47e4063807f2308
 


如果在1919999这个块及以前的的时候,因为if header.Number.Cmp(config.DAOForkBlock) < 0 || header.Number.Cmp(config.DAOForkBlock+10)>= 0, 新旧代码都可以兼容的.

A.1920000开始后,这个p2p的网络大家还是连接着的,那么,
1.  对于新版本的,在download到新版本块,头部校验通过,insertchain. 如果收到旧的版本生成的块,那么这个就出错了, 给抛弃(这个是ErrBadProDAOExtra,ErrBadNoDAOExtra,只会报告错误不会有后续处理)
2.  对于旧版本,则反之
3.  对于1,2的情况,会一直持续到 config.DAOForkBlock+10,即1920010,这时新旧的版本,已经各有11个不同的块了.

B.19200011开始,   parent := chain.GetHeader(header.ParentHash, number-1), 则各自的block在验证header之前取父块失败,在验证header之前就返回错误consensus.ErrUnknownAncestor,
这时这个块会给有可能放入futureBlocks的队列里, 前提是满足这个块的父块在futureBlocks的中, 这个只有当它的父块的时间在当前处理时间之后,即这里给直接给丢弃。


 

以太坊社区的分裂——The DAO项目分析 DAO:Decentralized Autonomous Organization The DAO:众筹投资基金,创建了一个智能合约,运行在以太坊区上。 将以太币转账给该智能合约,然后换回代币,通过代币作为权重投票决定投资哪个项目。 2015年5月发起众筹,1个月内就筹到了1.5亿的以太币,但是3个月后该项目被迫宣告结束。 split DAO - child DAO 回款时没有先清0,导致重入攻... 阅读详情

相关推荐

以太坊header.extra字段

type Header struct { ... Extra []byte `json:"extraData" gencodec:"required"` ... } 可以看到Extra数据是可变长度,但是以太坊为了避免作恶节点加入非常大的数据,对其长度进行了限制。 ```go MaximumExtraDataSize uint64 = 32 // Maximum...

mindcarver 606

TheDao事件与以太坊分叉

以太坊的代币众筹曾经历了一次大的灾难性事件,这次事件甚至导致了以太坊区块链的分叉。 2016 年 4 月 30 日,The DAO 项目在以太坊中进行代币众筹,到 5 月 28 日,这个项目筹集了 1150 万个以太币,以当时以太币的价格计算价值超过 1.5 亿美元,是当时最大金额的众筹。 但是,在 2016 年 6 月 9 日,有开发者发现 The DAO 的智能合约存在漏洞,他还在开源平台上提交了修复代码。 6 月 17 日,黑客利用漏洞向一个匿名的地址转移走了项目众筹来的 360 万枚以太币,占到总数

m0_59515695的博客 5003

区块链分叉原理及代码模拟

区块链分叉原理及代码模拟摘要 本文系统探讨了区块链分叉机制,包括意外分叉和协议分叉两大类型。意外分叉由网络延迟或并发出块导致,遵循最长链原则解决;协议分叉分为软分叉(兼容旧节点)和硬分叉(不兼容)。文章构建了Python模拟系统,包含Block、Blockchain、Node和Network等核心类,实现分叉场景下的区块链运作。通过代码演示了区块验证、链共识和分叉解决机制,为理解区块链分叉行为提供了实践参考。系统参数包括节点数量、出块间隔和传播延迟等可调变量,可模拟不同网络条件下的分叉概率。

闲人编程的博客 1088

以太坊智能合约安全编程最佳实践smart-contract-best-practices

https://github.com/ConsenSys/smart-contract-best-practices Ethereum Contract Security Techniques and Tips The recent attack on The DAO highlights the importance of security and proper soft

陈建慧程序人生 1万+

区块链分叉原理与代码仿真

区块链分叉原理与代码仿真摘要 本文系统阐述了区块链分叉机制,包含意外分叉、软/硬分叉等类型,通过Mermaid图表和数学公式(如分叉概率模型)解析分叉产生原理。基于Python实现了区块链核心结构(区块哈希计算、工作量证明)和分叉仿真系统,包含网络延迟模拟和多节点共识过程。代码演示了区块链基础操作(交易添加、挖矿)及分叉检测逻辑,为理解区块链网络演化提供了可操作的仿真模型。(149字)

闲人编程的博客 1135

Splunk CVE-2018-11409认证绕过漏洞深度解析

Splunk作为主流企业级日志分析平台,其Web管理接口的认证机制直接关系到整个安全运营体系的可信边界。CVE-2018-11409本质上是REST API路由层会话校验缺失引发的未授权访问问题,根源在于`/en-US/splunkd/__raw/`路径绕过了splunkweb与splunkd之间的信任链验证,导致配置文件、用户哈希、App源码等敏感信息明文泄露。该漏洞凸显了Web接口权限模型设计失守的风险,尤其在默认配置未加固、HTTPS未启用、初始密码未修改的生产环境中危害急剧放大。结合vulfocus

weixin_30875157的博客 598

为什么会有ETH和ETC?the DAO攻击事件2周年祭

前两天,跟一位HiBlock区块链社区的用户私聊,他问我一个问题,同样是智能合约,为什么会有以太坊和以太经典,又为什么会有相应的ETH和ETC,两者价格还相差如此之大。 转给他一篇the DAO事件的文章后突然发现,the DAO攻击事件已经过去2年了,今年的6月17日大家都在关注父亲节、端午节以及德国和墨西哥队的比赛爆冷,无论币圈还是链圈,没有人提及the DAO。 也许今年的6月17日有人因...

weixin_34203832的博客 526

【R语言-生存分析之观察生存率计算】

全人群肿瘤登记资料常用的统计分析指标包括发病率、死亡率、现患率以及生存率等,其中肿瘤生存率是评估肿瘤治疗效果和肿瘤负担的必要指标,其计算涉及肿瘤患者的发病、 死亡和随访三个方面的资料, 数据整理和计算过程均较为复杂, 如何及时、 准确地计算肿瘤生存率, 并使其可以在不同地区、 不同人群、不同时期间被客观公正地比较和评价,仍然是统计学家们一直在研究的主题。

weixin_46579654的博客 5439

10-BTC-分叉

区块链分叉原理与应用分析 分叉是区块链协议规则分歧导致链分裂的现象,分为硬分叉和软分叉。硬分叉(如比特币区块1MB→4MB)要求所有节点升级,否则形成永久性分裂链;软分叉(如P2SH)保持向后兼容,只需多数算力支持即可平滑升级。以太坊的DAO事件通过硬分叉回滚资金,分裂出ETH和ETC两条链,并引入EIP-155的chainId机制防止跨链重放攻击。此外,比特币提案扩展Coinbase字段存储UTXO默克尔根,实现轻节点余额验证,属于软分叉升级。分叉决策需权衡技术升级与生态影响,硬分叉易导致永久分裂,软分叉

theflowerofac^MQLYES的专栏 679

英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录

本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。

qsc901234的博客 333

详述字符集与汉字编码

字符集与字符编码是文本处理的基础概念。字符集定义字符集合(如ASCII、GB2312、Unicode),字符编码则规定字符如何存储为二进制数据。汉字编码经历了从区域化(GB2312、GBK、BIG5)到全球化(Unicode)的演进,Unicode通过UTF-8、UTF-16等编码方案实现跨语言兼容。UTF-8因兼容ASCII、节省空间且无乱码风险,成为中文互联网的主流编码。正确处理编码问题需统一标准、明确声明格式,并注意生僻字的特殊处理。

零零发不爱ai的博客 805

以太坊go-ethereum源码研读(一)从Process函数相关自定义类型和结构体开始

区块链以太坊go-ehereum源码研读,主要集中于Process函数和相关结构体

eliforsharon的博客 3936

阿里云大模型 ACP 认证教材内容突变?这些改动藏着通关密码,不看亏大!

【摘要】核心章节大换血,安全合规融入实战场景,大模型微调用数学深度解析,部署章节带来阿里云产品对比实战攻略,甚至整章内容被替换成藏满学习彩蛋的行业趋势指南。这些改动不仅重塑考试重点,更暗藏官方命题风向——安全合规考场景方案,微调原理考几何解析,部署设计考分析框架。无论你是数学小白还是部署新手,这篇攻略都将带你吃透变动逻辑,附赠急救包和考点清单,帮你抓住这些“隐形加分项”,速来解锁通关秘籍!

davidkorhenn的博客 1755

0.5秒狙击DAO治理漏洞!Hardhat安全扫描插件重构Web3测试防线

Web3安全领域面临严峻挑战,DAO攻击已造成超2亿美元损失。Hardhat推出的DAO治理漏洞扫描插件为测试工程师提供三重防御:智能合约监控、提案依赖分析和攻击模式匹配。实战案例显示,该工具使漏洞检出率提升83%,测试周期缩短40%。企业可将该方案嵌入CI/CD管道,实现开发阶段危险交易阻断、测试阶段资金流分析和预发阶段攻击模拟。测试工程师需升级漏洞认知,掌握冻结资产攻击等新型风险,并融合安全工具链实现持续监控。

2501_94456679的博客 267

[医学图像分割综述] Medical Image Segmentation Using Deep Learning: A Survey

本综述有两个独创之处,首先,与传统的调查方法直接将医学图像分割的文献划分为多个组,并对每个组详细介绍文献的方法相比,我们将目前流行的文献按照从粗到细的多层次结构进行分类。其次,本文重点研究了监督学习和弱监督学习方法,但未包括无监督方法,这种方法目前在医学图像领域并不流行。对于监督学习方法,我们从骨干网络的选择、网络块的设计和损失函数的改进三个方面对文献进行了分析。对于弱监督学习方法,我们分别根据数据增强,迁移学习和交互式分割研究文献。与已有的调查相比,本次调查的文献分类与以往有很大的不同,更便于读者了解相关

qq_38932073的博客 4万+

【Python】-- 趣味代码 - 发牌游戏

Python -- 趣味代码 - 发牌游戏

银尘博客 351

23-ETH-TheDAO

摘要: DAO(去中心化自治组织)旨在通过智能合约实现透明、自动化的组织治理。2016年,THE DAO项目筹集了1.5亿美元,但因智能合约的重入漏洞被黑客盗取360万ETH,引发危机。以太坊社区分裂为支持回滚和反对回滚两派,最终通过硬分叉将资金返还投资者,导致以太坊分裂为ETH和ETC两条链。这一事件暴露了智能合约不可逆的缺陷,也引发了对区块链治理原则的深刻反思。硬分叉虽违背“代码即法律”,但体现了社区共识的力量,最终通过引入ChainID解决了重放攻击问题。

theflowerofac^MQLYES的专栏 1078

RT-DETR升级:TGRS2026 CKConv结合RepC3 | 方向特征与跨阶段融合协同,小目标漏检率大幅下降

小目标鲁棒性提升:CKConv方向选择性抑制背景噪声,RepC3跨阶段传递保留深层微弱热信号,显著改善低对比度、低信噪比场景下的检测精度。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 151

区块链基础

密码学中的哈希原理有两个重要的性质1 collision resistance 碰撞防御亦或者称为collision free,主要是为了保密性。由于人为难以制造hash碰撞,因此hash可以用作与验证2 hidinghash值可以从x -> f(x),但是难以通过f(x)去反推出x。

qq_54384621的博客 1826

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《我学区块链》—— 十一、以太坊安全之 The DAO 漏洞分析

十一、合约安全之 DAO 漏洞分析 &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;首先,再罗嗦几句 DAO 是什么,DAO 本质上是一个风险投资基金,是一个基于以太坊区块链平台的迄今为止世界上最大的众筹项目。可理解为完全由计算机代码控制运作的类似公司的实体,通过以太坊筹集到的资金会锁定在智能合约中,每个

xuguangyuansh的博客 5736

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

聊聊以太坊和智能合约 终篇

聊聊以太坊和智能合约发生的著名漏洞,以及对区块链应用行业的一系列反思。 这也是区块链分享文章四部曲的最终章

Eyemon的博客 1135

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

教链文章导读《正义回滚》

文章《正义回滚》探讨了比特币(BTC)和其他加密货币在面临安全漏洞或盗窃事件时的不可逆性问题。文章指出,比特币的设计原则之一是其交易的不可逆性,这与PoW(工作量证明)机制、电能消耗的不可逆性以及时间的单向性有关。中本聪在白皮书中强调了不可逆支付的重要性,认为逆转交易会增加成本和信任需求。文章通过币安2019年被盗7000枚BTC的事件和以太坊The DAO事件对比,说明了比特币和以太坊在处理类似...

刘教链 242

区块链中的软分叉与硬分叉详解

https://zhuanlan.zhihu.com/p/28300379 区块链中的软分叉与硬分叉详解 吴寿鹤 区块链早期先行者 ​关注他 8 人赞了该文章 说到分叉,我们首先了解一下在软件开发中的分叉是什么? 软件项目中的分叉 软件开发中的分叉指的是:在开源项目中如果有人Fork了一个项目(一个项目分叉为两个项目),然后开发者沿着这个Fork向另外一个不同的方向独立发展这个...

jfkidear的专栏 825

区块链第4次学习总结----为什么区块链会分叉

前言: csdn论坛对博文内容审核严格,敏感词太多,导致博文往往被误判是违规而无法发布,所以我已经很长时间没有更新博客了。 但是学习和研究是一个长期的过程,坚持学习才能看到希望。所以还是补上本月两次讨论的内容。 具体讨论可以去看讨论课的视频。 1.什么是分叉 2.为什么会分叉 3.分叉的种类 4.比特币的分叉 5.以太坊的分叉 6.分叉是好事还是坏事 7.矿工,矿机,矿场和狂池 8.算力攻击 9.双花攻击 ...

zsheep的专栏 1万+

区块链学习笔记9——BTC分叉

区块链学习笔记8——BTC分叉 state fork:由于对区块链当前状态有意见分歧而导致的分叉,几乎同时产生两个区块插入到链中 forking attack: 属于state fork,这个意见分歧是故意造成的 Protocol fork:对比特币协议产生分歧,用不同版本的协议造成的分叉 根据协议修改内容的不同可以分为hard fork和soft fork hard fork(硬分叉) 什么情况会出现硬分叉? 对比特币协议增加新协议,扩展新功能,未升级软件的旧节点会不认可这些修改,会认为这些特性是非法的

polarday的博客 2336
上一篇: Android 让adb以root的身份来运行
下一篇: 以太坊代码流程分析
aerror
博客等级 码龄23年 392粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值