日食攻击
日食攻击是一种攻击去中心化网络的方法,攻击者通过这种方法试图隔离和攻击一个或多个特定用户,而不是攻击整个网络。
在这篇文章中将解释以太坊的一些特性,包括它的叔块机制,如何使它更容易受到这种攻击。
区块链中的数据结构
区块链是一个去中心化的协议,它将数据库分布在其网络中的多个节点上,为过去、当前和未来的交易建立共识机制。区块链中的数据结构表示为区块。
在一个去中心化的区块链网络中,参与者同意什么是正确的,而不是一个中央权威。区块链也是透明和不可变的,所有网络参与者都可以看到网络上发生的事情,而且交易日期不能被更改,除非通过一个商定的机制。
比特币区块链中的区块类
创世区块
创世区块是任何区块链的第一个区块,该区块是系统的基本起点,并与所有未来的交易相连。世界上第一个创世区块是由中本聪创建的,在此过程中,他创造了比特币。
创世区块的存在使区块链能够通过允许新创建的区块与以前的区块相关联来生成它的交易历史。此外,创世区块在同步网络节点方面有一个重要的功能——它们的数据库中都必须有相同的创世区块。这确保了区块链的分布式交易簿对每个人都是相同的,从而提供了安全性。
主链区块
主链区块是所有经过验证并包含在区块链中的区块。为了实现这一点,区块必须通过节点解决其分配的密码谜题来获得网络的同意。一旦网络达成共识,该区块就包含在区块链中,并由所有节点传播。这样,网络的每个节点都有新的区块,并作为它的一个验证点。
每个有效区块内部包含一系列与该区块一起验证的交易。例如,在比特币中,每个有效区块平均承载2100笔交易。一个有效区块中的每一笔交易都被确认。
所有有效区块继续确认以前的交易,充分保护网络上的所有区块和交易。当然,每个有效的区块包含一个允许验证的数据结构。该结构包括区块的哈希值、它的时间戳、它的nunco和它的区块交易数据。搜索候选解决方案的过程称为挖矿,参与的节点称为矿工。为区块的密码谜题生成有效解决方案的每个矿工都成为领先者,并被允许确定未确认的交易集。然后将它们追加到区块链中。
孤块
孤块或陈旧块是不属于区块链的有效区块。当两个矿工几乎同时验证区块时,或者当具有足够哈希能力的攻击者试图逆转交易时,可以创建这些数据。在这些情况下,网络共识协议将起作用,以决定哪些区块将被包含在链中,哪些将被孤立。
实际上,一个区块链网络被编程成总是偏爱最长的区块链。也就是说,它将选择包含更多信息或处理过的交易的区块。在比特币区块链中,孤块被丢弃,矿工执行的工作是无用的。
此外,正是由于这种类的区块,大多数交易所和一些钱包将自动等待额外的确认,才使资金可用。它们通过计算用户正在接收的交易和当前区块之间挖矿了多少区块来实现这一点。
gt;ETH.getBlock(blockNumber)
}
gt;ETH.syncing.highestBlock -ETH.getTransaction(“ “).blockNumber
区块是如何验证的?
区块链系统使用Merkle树数据结构,这使得它们(在理论上)是不可变的。Merkle树是Ralph Merkle在1979年申请专利的,在密码学中被广泛使用。Merkle树是验证共享数据是否被更改、损坏或更改的基本方法,非常适合区块链,因为它是轻量级的。例如,由于比特币的Merkle树结构,用户的移动钱包不需要下载所有的比特币交易来验证它们。
给定区块中的每个交易对应于Merkle树中的一个叶子,通过哈希单个交易递归构建Merkle根。
对交易(叶)进行哈希以创建额外的叶节点,这些叶节点可能对应于区块链网络中的交易。尽管可以从大量的交易中创建Merkle树,但Merkle根总是对应于一个32字节或256位的字符串(例如,SHA256哈希算法总是输出32字节的固定长度,而不管输入的大小)。通过这种方式,我们可以使用小到32字节的数据来验证多达数千个交易。
根据案例,任何更改,无论多么小,都会阻止对Merkle根的验证,并使区块链的部分或全部历史失效。
以太坊区块链中的区块类
以太坊与比特币的一个不同之处在于,它有一个更快的区块创建机制,旨在加快交易过程。但是,当区块生成之间的时间区间非常短(大约15秒)时,会创建大量孤块,因为将所有这些区块都包含在区块链中是低效的。
这导致了矿工在没有奖励的情况下浪费时间在区块上工作的问题。为了解决这个问题,以太坊的开发者推出了GHOST协议。
GHOST代表Greedy Heaviest Observed Subtree,这个概念很简单。它奖励那些验证孤块的矿工,尽管其奖励低于标准区块。为了释放奖励,区块必须被主链中的区块引用——或者叔块。
该机制的另一个优点是解决了网络中心化的问题。当快速创建区块时,大矿池很容易垄断区块验证,导致较小的竞争对手创建无数无用的孤块。
以太坊区块链中的区块类
以太坊区块链中有两种类的区块:
主链区块是包含在以太坊区块链中的区块。发现它的矿工将获得奖励。
叔块是经过身份验证但未包含在主区块链中的区块。矿工因此得到的报酬比有效区块低。
想象一下,两个在世界不同地方的矿工在同一时间挖矿同一个区块。然后它们在整个网络中传播它们的区块。这可能会在链中产生分歧,所以必须选择一个,而较大的区块总是获胜。未被选中的区块将成为孤儿(在比特币中)或叔叔(在以太坊中)。与比特币不同的是,以太坊矿工将获得 1/8 的完整区块奖励以挖矿叔块。
叔块奖励如何运作
主链区块的矿工可以引用叔块,当他们这样做时,一个额外的奖励分配给主链区块的矿工和叔块的矿工。主链中包含的每个区块可以引用最多两个叔块,并为每个引用的叔块提供1/32的完整区块奖励。然而,支付给矿工的报酬随着时间的推移而减少。
通过保证对浪费的计算工作的补偿,并通过使奖励随着时间的推移而减少,竞争链上的矿工有动力重新加入主链。这些叔块有助于链安全,也减少51%的攻击概率。
在以太坊矿池中,可以以多种方式分布:
比例支付计划
在这个简单的方案中,矿工将根据在池发现的两个区块之间的时间区间内提交的股票数量获得相应的奖励。因此,一个区块奖励B将在池中的N个矿工之间根据他们各自提交的份额进行分配。
按最后 N 股支付 (PPLNS)
(PPLNS)计划按照最近提交的N股份额比例分配奖励。
基于队列的支付计划
ETHpool3是第一个引入基于队列奖励机制的以太坊挖矿池。在这一机制下,矿工对提交给池运营商的每一份额累积信用。每次由池挖矿一个完整的区块时,区块奖励被分配给池中累积信用余额最高的矿工。然后,顶级矿工将其信用余额重置为他们自己和池中第二高的信用余额之间的差异。
引用关系创造了一个额外的铸造奖励,对于普通区块所有者是完整区块奖励的1/32,对于叔块的 (8 – i)/8。根据引用的区块高度,变量i的范围是1到6。
除了优化区块链的结构,以太坊还有另外两个安全改进。一个是随机打破平局规则。一个节点不是接受接收到的第一条链,而是在所有接收到的相同长度的链中随机选择一条链。γ的数目不再是固定的,等于竞争链数的倒数。另一个目标是免除叔块的挖矿战略。
叔块和日食攻击
日食攻击是如何工作的?
日食攻击要求攻击者控制主机节点的僵尸网络(每个节点都有自己的IP地址),并计算出受害者的邻近节点,基本上是通过反复试验。实现这一目标所需的努力取决于网络的规模和性质,但如果成功,攻击者将在受害者注销并重新加入网络后控制所有连接节点。
在这个场景中,有三个参与者——攻击者、受害者和一个诚实节点。如果受害者发现了一个区块,攻击者就不会将此区块传播到网络。如果攻击者发现了一个区块,他们就和受害者分享。通过这种方式,攻击者为自己和被遮蔽的节点创建了一个私有区块链。
这样,攻击者可以获得比诚实挖矿多 96.4% 的收益。日食攻击是可能的,因为在去中心化的网络中,一个节点不能同时连接到网络上的所有其他节点。相反,为了提高效率,一个给定节点将连接到一组选定的其他节点,这些节点依次连接到自己的选定组。因此,仅使用两台具有唯一IP地址的计算机就可以发起日食攻击。
以太坊依赖于基于一种名为Kademlia的协议的结构化网络,该协议旨在让节点更有效地连接到其他节点。通过使用密钥生成算法,攻击者可以非常迅速地创建无限数量的节点ID(点对点网络上的标识符)。更糟糕的是,攻击者甚至可以创建节点 ID,使它们比随机节点 ID 对受害者更具吸引力,基本上将受害者吸引到他们身边。
以太坊有三个特征可能使其容易受到日食攻击。首先,快速创建区块会创造出无尽的松散区块,通过增加以太坊的供应量间接侵犯了诚实矿工的利益。其次,叔块机制意味着节点可以从这些区块中获利。第三,以太坊增强的节点连接性为攻击者提供了动机。
-
什么是女巫攻击?计算机安全方面的女巫攻击是指一个人试图通过在同一个网络上创建多个身份/账户/节点来接管网络,而这些身份/节点对该网络的其他参与者来说似乎是不同的唯一身份。女巫攻击背后的动机是破坏声誉系统中的权威/权力。用更简单的术语来理解这...
-
什么是公有链?我们可以把区块链理解为一种分布式账本,区块链中的每个节点负责存储账本数据。根据节点参与区块链的准入机制不同,可以将区块链分为公有链、私有链和联盟链。 公有链公有链是完全开放的,任何人都可以参与进来,在区块链上发送交易和读取存储数...
-
什么是智能合约?智能合约最早在1990年代由尼克·萨博提出,是一种旨在以数字化形式制定、传播、验证及执行合同的计算机协议。由于技术限制,其在诞生初期并没有被真正应用。随着区块链技术的出现,智能合约获得了可信的执行环境,两者开始结合应用。 什么是智能...
-
什么是双花攻击?双花攻击是指单个或者多个单位/组织能控制全网51%的算力,从而改变区块链中区块的交易次序的攻击问题。 双花攻击实现原理: 比特币等区块链通过分布式账本实现去中心化,具有公信力和安全性。区块链中的事物需要网络中的大部分节点都认同后,才...
-
什么是女巫攻击?女巫攻击(Sybil Attack),即通过伪造多个ID对网络进行干扰的攻击方式。名称来源于美国著名小说《女巫》。该小说的主角患有多重人格障碍症,一个身体内同时兼容多个人格。女巫攻击在网络中很常见,淘宝产品中的刷量、刷赞等都是黑客通过伪造大量I...
-
什么是工作量证明?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是共识算法?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是DeFi?一、什么是DeFi DEFI(Decentralized Finance)是指去中心化金融,通常是指区块链中的去中心化应用程序(DApp)和去中心化交易所。DEFI技术实现了支付过程中的去中介化,不再依赖中央服务,比如说在汇款时,第三方金融机构会收取手续费作为报酬,而在DEFI应...
-
什么是混币服务?混币(Coin Shuffle) 是一个去中心化的隐私功能,它可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现完全匿名。该功能是基于TimRuffing在Bitcointalk.org上的描述以及它的学术论...
-
什么是分散式应用程式?分布式应用程序(DApp)是在分布式计算系统(即区块链网络)上运行的应用程序。尽管定义DApp的方法有多种,但通常将它们描述为具有以下特征的应用程序: 开源 – 源代码是有意向公众开放的,这意味着任何人都可以验证,使用,复制和修改代码。 去中心...
- 热门词条
-
- 什么是算法? 算法(Algorithm)是指解题方案的准确而完整的...
- 什么是孙宇晨456万美元拍下巴菲特午餐? 指2019年6月孙宇晨以4,567,888美元拍下第2...
- 什么是割韭菜? 割韭菜,网络流行语。原指韭菜达到了生长盛期...
- 什么是互联链? 针对特定领域的应用可能会形成各自垂直领域...
- 什么是区块? 区块是在区块链网络上承载交易数据的数据...
- 什么是最优货币区? 指符合一些经济金融条件的国家或地区之间...
- 什么是云储存? 云存储是一种网上在线存储(英语:Cloud stora...
- 什么是数字资产抵押稳定币? 指基于数字资产的抵押的,按抵押率和资产价...
- 什么是燃烧证明? 燃烧证明是一种投资于全新的加密货币的方...
- 什么是硬件钱包? 硬件钱包是指将数字资产私钥单独储存在一...
- 猜你喜欢
-
Tangem冷钱包体验:新手入门必备!
MACD指标精髓:阿佩尔教你玩转均线通道及ENE、ENV指标
$XAI生态:XAI小钥匙开启Web3游戏新纪元
孙宇晨:从被通缉到自我辩护,加密领域的坚韧领航者
新币SKF与REG头矿挖掘教程:Win + OS指南,本地节点与Solo挖矿详解,首富中文挖矿教学 #gpu #gpuminer #solo #gpumining
SEC认定NFT为证券!OpenSea收到威尔斯通知引发市场震荡,BLUR和TNSR暴跌
深度解析:STETH与ETH的紧密联系
梵蒂冈吉祥物Luce引爆宗教迷因币狂潮,同名Meme市值跃升至6000万美元
519矿难幸存者现状:生死一线,如今安好?
抓住2025年加密财富密码:Lorenzo、Solv、BOB、Babylon、Pell等项目空投深度解析