02 ETH
以太坊与比特币有什么不同?
以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。
- 比特币就仅仅是比特币;以太坊包括以太币,以太币才是和比特币对等的存在。
- 以太坊是可编程的,所以你可以在以太坊网络上构建和部署去中心化应用程序。
- 比特币使我们能够互通基本信息,了解我们认为有价值的东西。在没有权威的情况,确定价值就已经很强大了。以太坊则更进一步,不仅可以互通信息,用户还能编写任何常规程序或合约。可以创建和达成共识的合约种类没有限制,因此以太坊网络上时常出现重大创新。
比特币只是一个支付网络,而以太坊更像是一个金融服务、游戏、社交网络和其他应用程序的市场。
迈向 ETH2
以太坊网络同时存在主链和信标链( ETH2 的一部分,现在作为共识层)。
随着以太坊网络的增长,原有架构已经难以支撑日益增长的交易量和复杂的应用场景。为了应对这些问题,以太坊社区启动了以太坊 2.0 项目,即 ETH2,旨在通过一系列的技术革新提升整个网络的性能。
在2020年底,以太坊推出了信标链,这是以太坊向权益证明(PoS) 转换的第一步。
这个新的链与原有的工作量证明(PoW)主链并行运行。在合并之前,信标链主要负责处理以太坊网络未来的 PoS 机制,并且逐步地将接管整个网络的共识机制。
“合并”是指以太坊的 PoW 共识机制向 PoS 机制的转变,这一过程发生在2022年9月。合并后,以太坊的共识层(即之前的信标链)和执行层(即之前的以太坊主网)相结合,形成了一个更加节能高效的区块链网络。
在原有的 PoW 区块链转变为 PoS 区块链的过程中,引入了一个名为“信标链”的新组件,它是 ETH2 的核心部分,负责协调整个网络并向 PoS 机制过渡、管理验证者的集合、分配奖励和惩罚,并协调未来的分片链(Shard Chains)。
信标链是一个由“空”区块组成的链。在以太坊上停止 PoW 并启动 PoS 时,需要先让信标链接受来自执行客户端的交易数据,将它们打包到区块,再将区块组织到一条运行 PoS 共识机制的区块链上。 与此同时,原有的以太坊客户端停止挖矿、区块传播及旧的共识逻辑,并将这一切转交给信标链。 这一事件称为合并。
在合并发生后,就不再有两个区块链。 相反,只有一个 PoS 以太坊,与 PoW 以太坊不同,现在每个节点需要两个不同的客户端
。
信标链现在是 PoS 以太坊的共识层,即一个处理区块消息和共识逻辑的共识客户端的点对点网络,而原始客户端形成执行层,负责传播消息和执行交易,以及管理 ETH 的状态。
这两层可以使用引擎 API 相互通信。
PoS 、信标链、质押、分片和 ETH2 的关系
迈向 ETH2 的目的是更低能耗更可持续,而 ETH2 最关键的特征就是 PoS。
为了将主链从 PoW 转向 PoS ,引入了信标链和质押,且在完成合并后,信标链就是系统的一部分。
为了进一步横向扩展 ETH ,分片概念得以产生。
ETH1、ETH2、ETH?
“以太坊 2”一词已弃用。 在将“以太坊 1”和“以太坊 2”合并为一条链之后,将不再需要区分两个不同 的以太坊网络,只有以太坊。
但是,若专门提到,以下两个词都特定的含义:
- “以太坊 1”现在是处理交易和执行的“执行层”。
- “以太坊 2”现在是处理权益证明共识的“共识层”。
Merge 合并
合并是指在 ETH 的原有执行层(从创世块开始就一直存在的主网)中加入其新的权益证明共识层,即信标链。
合并摒弃了消耗大量能源的挖矿,而是通过质押以太币来保护网络的安全。
信标链最初是与主网分开上线的。 以太坊主网(所有帐户、余额、智能合约和区块链状态)仍继续由 PoW 保护,与此同时,与之一起运行的信标链采用 PoS。 合并是指这两个系统最终整合在一起之时,且 PoW 被 PoS 永久取代。
信标链最开始并不处理主网上的交易。 而是通过对活跃的验证者及其帐户余额达成一致来就自己的状态达成共识。
经过广泛测试后,即合并后,信标链将成为所有网络数据的共识引擎,包括执行层交易和帐户余额。
合并代表正式转变成使用信标链作为区块生产引擎
。
同时,挖矿将不再生成区块,该任务交由 PoS 验证者,PoS 现在负责处理所有交易的有效性及创建区块。
功能
信标链是在以太坊质押
人开始验证真实的以太坊区块之前管理和协调以太坊质押人网络的帐户账本的名称。 它不处理交易或智能合约交互,因为这些任务在执行层完成。 信标链负责处理区块和证明、运行分叉选择算法以及管理奖励和惩罚等。
- 共识机制:信标链引入了 PoS 机制,允许用户通过质押一定数量的 ETH(通常为 32ETH)成为验证者,参与区块的创建和验证过程。这与 PoW 相比,减少了计算资源的需求,使得系统更加环保和高效。
- 分片链管理:信标链不仅负责维护自身的状态,还管理着多个分片链(Shard Chains)。分片链是独立的数据块链,它们可以并行处理交易和智能合约,从而极大地提高了系统的吞吐量。
Beacon Chain 信标链
信标链是 PoS 区块链,它可以让验证者可以参与质押系统、替代矿工的角色而成为链的构建者。
也就是说信标链上管理着验证者的名单,以及分片验证者任务。
信标链由多个部分组成,诸如分片(shards)、质押验证者 (staking validators)、证明 (attestations)、委员会 (committees)、检验点 (checkpoints) 和最终确定性 (finality)。
一个简单的例子
怎么样才可以成为信标链的验证者呢?
首先你需要向当前以太坊主链上的一个合约发送押金( 32 个以太币),然后经过一系列的审核检查之后,你就会收到一张电子收据(以太坊智能合约中的事件),从此你就拥有了验证资格,成为了验证者。
成为验证者之后,信标链就会给你安排任务了。
它会将你随机分配到一到两个分片中去做验证。我们知道,在 PoW 机制下,也就是我们现在的以太坊主链上,矿工通过挖矿生成下一个区块,但是在 PoS 机制下,不存在挖矿,下一个区块的产生是由验证者们选择出来的。这个选择具有随机性,不是一个验证者所能掌控的,这也体现了去中心化的特点。
假如你很“活跃”,就可能被选中成为区块提议者(block proposer)。
假如你不是很“活跃”,信标链将可能将你指定为验证者 (validators),并分配到某一分片,此后你需要同该分片的其它验证者一起从候选区块中选择出新的区块。
然后该分片的区块提议者就会为这个分片收集交易,并且将这些交易纳入到刚刚验证者们选出的区块中去,虽然由于你不是区块的提议者,也就没有将交易纳入新区块的权力,但是作为验证者的你这个时候可以验证这个过程中区块提议者是否行为妥当。
如果你表现良好,做了身为验证者应该做的事就会得到奖励,相反,如果你违反规则就受到惩罚,惩罚就是从你抵押的 32 ETH 中扣除一部分,当抵押金低于 16 个以太币之后,信标链就会将你从验证者列表中移除。
如果有一天你不想当验证者了,你抵押的以太币加上你得到的奖励以及减去你因惩罚而扣除的以太币将不会回到你之前的以太坊主链中,而是会被存进某一个分片链中。
除了管理验证者之外,信标链还需要存储一些认证( Attestation )。
我们知道当前的以太坊区块链上存储了我们平时的那些资产转移等交易的数据信息,但是信标链不同于当前的以太坊主链,它存储的是一系列经过哈希运算的字符串。
在信标链中,验证者验证并签名交易,比如一笔转账交易,然后经过哈希变成一段字符串,将这个字符串存到信标链中,此时这个字符串就代表了一笔交易的数据,这样做的好处就是,你不用去深入探究这笔交易到底在哪个分片中发生。
分片中的状态一旦发生改变(比如某个账户余额发生了丁点改变),验证者都会把这个变化汇报给信标链。因此,信标链实时跟踪者分片的变化,也建立起了个分片间的联系与通信。
Staking 质押
质押是指存入 32 个以太币以激活验证者( validator)的行为。
质押者每质押 32 个以太币,就可激活一个验证者,即,一个质押者可激活多个验证者。
作为验证者,你将负责存储数据,处理交易并向区块链添加新的区块。这将保证以太坊的安全,并在此过程中为你赚取新以太币。
质押的目的和以前的挖矿相似,都是为了保证区块链正常运行。
但又在很多方面不同。 挖矿的前期支出庞大,需要投入强大的硬件和消耗大量能源,从而产生规模经济并促进集中化。
挖矿也没有提出任何将资产锁定作为抵押品的要求,这限制了被攻击后协议惩罚不良行为者的能力。
ETH2 中存在着多种形式的质押
-
独立质押(Solo Staking)/(Home Staking)
概述:用户自己运行一个验证者节点,直接参与区块提议和验证。
要求:必须持有至少32 ETH,具备技术能力来设置和维护验证节点,还需要持续运行高可用的节点。
优点:完全去中心化,用户自己控制资金,并且可以获得完整的质押奖励。
缺点:技术门槛高,需承担运营节点的责任,若节点下线
或表现不佳,可能会被罚款或削减质押的 ETH。 -
质押即服务(Staking as a Service)
概述:以太坊协议本身并不支持质押委托, 如果你有 32 个以太币需要质押,但是没有合适的硬件设备,那么质押即服务可以使你在使用运营商硬件设施的同时获得区块奖励。
优点:对于那些拥有 32 个以太币但是不能解决运行节点的技术问题的人来说,这是个很好的选择
缺点: 出于安全原因,用于转移或提取资金的密钥是单独分开的,即每个帐户都由 BLS 签名密钥和 BLS 提款密钥组成。用户会将签名密钥授权给运营商使用。 -
池化质押/联合质押(Pooled Staking)
概述:用户可以将少量 ETH 投入质押池,与其他用户共同筹集 32 ETH 来运行一个验证者节点。
优点:适合小额用户,需达到 32 ETH 的最低限额,通过参与池化质押可以降低技术门槛和资金门槛。
缺点:质押奖励需要与其他用户共享,管理资金的质押池也可能带来一定的信任风险。 -
流动性质押(Liquid Staking)
概述:流动性质押由联合质押而引出。在参与联合质押时,用户可能想在质押过程尚未结束时退出质押(当然还可能有其它原因)。因此,在用户参与联合质押的开始,平台就发给用户代表质押 ETH 的代币(例如 Lido 的 stETH),这些代币可以在二级市场上交易或参与 DeFi 活动。。
优点:用户可以在质押期间保持资产的流动性,质押代币可以在 DeFi 生态中使用或交易。
缺点:存在平台风险,流动性质押可能会涉及智能合约的漏洞或平台治理问题。 -
交易所质押(Exchange Staking)/中心化质押(Centralized exchanges)
概述:在加密货币交易所(如币安、Coinbase 等)直接质押ETH,用户只需将资金存入交易所账户并参与质押。
优点:通常没有最低金额要求,用户只需在交易所拥有 ETH 即可,操作最为简单,用户无需管理私钥和节点,质押收益会自动分发。
缺点:资金完全托管在交易所,存在一定的集中化风险,可能会收取手续费。
扩容
二层网络
分片
在计算机科学中,主要有两种扩容方式: A.纵向扩容:即增强节点能力 B.横向扩容:即增加节点数量
为了保证去中心化,区块链需要采取横向扩容方式。 ETH2 其中一个目标就是让节点可以在消费级硬件中运行。
总体来说,ETH2 采用的分片机制指的就是对数据库进行横向分割。
每条分片链都拥有一个节点子集,在该链上进行工作。虚拟矿工和验证者被分配到不同的分片中,并且只处理和验证自己所在分片链上的交易。
以太坊分片上的节点子集是动态的,按照区块顺序处理分片。
区块链实行分片机制的主要挑战在于如何确保分片安全性。
由于验证者分散在不同的分片中,有的节点可能会恶意控制某个分片。
解决该问题的关键在于:
随机分配 (shuffling) 验证者,每个分片区块都有一个委员会,其中的验证者都经由随机挑选。这种做法的目的是,经数学计算,如果攻击者控制的验证者少于总数的三分之一,其想要攻击单个分片是难以实现的。
此外,错误性证明(fraud proofs)、数据托管证明 (custody proofs) 和数据可用性检查 (data availability checks) 都是确保安全的重要因素,不过需要单独的讲解才能说清楚。
Eth2 目前的计划是启用64个分片。尽管分片和信标链是独立运作的,我们还是会针对整个系统的关键部分进行阐述。
PoS 的优势是,在任何给定时间都有全部已批准的区块生产者的记录,每个区块生产者都质押了以太币。 这个记录不但为分开治理奠定了基础,还可靠地划分了具体的网络责任。
这种责任与 PoW 形成对比,在 PoW 中,矿工对网络没有义务,可以立即停止挖矿并永久关闭其节点而不会受到任何影响。 而且,也没有已知区块提议者的记录,并且没有可靠的方法安全地划分网络责任。
Web3
相关文章:

02 ETH
以太坊与比特币有什么不同? 以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。 比特币就仅仅是比特币;以太坊包括以太币,以太币才是和比特币对等的存在。以太坊是可编程的,所以你可以在…...

web渗透—RCE
一:代码执行 相关函数 1、eval()函数 assert()函数 (1)原理:将用户提交或者传递的字符串当作php代码执行 (2)passby:单引号绕过:闭合注释;开启GPC的话就无法绕过(GPC就是将单引号转换为"反斜杠单引号"&a…...

HomeAssistant显示节假日
先看效果 步骤: 新建卡片时选择“Markdown 卡片”代码在文章最下方,当然你也可以自己修改 点击保存/完成 ### {% if now().hour > 6 and now().hour < 9 -%} 早上好, {%- elif now().hour > 9 and now().hour < 12 -%} 上午好…...

AI问答-HTTP:理解 Content-Disposition
本文背景 在下载arraybuffer文件时,想要获取文件名,这时引入本文内容Content-Disposition,我们在Content-Disposition获取到文件名就可以在下载后的文件以该文件名命名了。 一、简介 Content-Disposition是HTTP协议中的一个响应头字段&…...

kubernetes架构
kubernetes cluster由master和node组成,节点上运行着若干kubernetes服务Master节点: master是kubernetes cluster的大脑,运行着的Daemon服务包括kube-apiserver,kube-scheduler,kube-controller-manager,etcd和Pod网络…...

【隐私计算篇】中国剩余定理解释以及Paillier解密加速应用
1. 背景介绍 本篇主要关注中国剩余定理的原理以及在paillier同态加密系统中的应用。在很多工作中,都可以看到中国剩余定理的影子,特别是同态加密提升计算效率的优化工作中,将paillier与中国剩余定理进行结合,能够实现在加密状态下…...

保护您的隐私:隐藏 IP 地址的重要性
在当今的数字时代,我们的在线隐私和安全变得比以往任何时候都更加重要。浏览互联网时保护自己的一种方法是隐藏您的 IP 地址。 但是为什么要隐藏您的 IP 地址以及如何有效地做到这一点? 隐藏您的 IP 地址有助于保护您的在线匿名性。您的 IP 地址就像您的…...

nodejs 007:错误npm error Error: EPERM: operation not permitted, symlink
完整错误信息 npm error Error: EPERM: operation not permitted, symlink npm warn cleanup Failed to remove some directories [ npm warn cleanup [ npm warn cleanup C:\\Users\\kingchuxing\\Documents\\IPFS\\orbit-db-set-master\\node_modules\\ipfs-cli, npm…...

Rsync未授权访问漏洞复现及彻底修复
一、什么是 Rsync? Rsync 是一种广泛使用的文件传输工具,它允许系统管理员和用户通过局域网(LAN)或广域网(WAN)在计算机之间同步文件和目录。Rsync 支持通过本地或远程 shell 访问,也可以作为守…...

影刀RPA实战:网页爬虫之携程酒店数据
1.实战目标 大家对于携程并不陌生,我们出行定机票,住酒店,去旅游胜地游玩,都离不开这样一个综合性的网站为我们提供信息,同时,如果你也是做旅游的公司,那携程就是一个业界竞争对手,…...

【UCB CS61C】Lecture 5 - Floating Point
目录 引入浮点数(Floating Point)定点表示法(Fixed-Point Model)科学记数法(Scientific Notation)记数法间的转换 IEEE 754 二进制浮点数算术标准实现目标单精度浮点编码阶码字段(The Exponent …...

【Binlog实战】:基于Spring监听Binlog日志
【Binlog实战】:基于Spring监听Binlog日志 binlog的三种模式 MySQL 的二进制日志(binlog)有三种不同的格式,通常被称为 binlog 模式。这三种模式分别是 Statement 模式、Row 模式和Mixed 模式。 Statement 模式: 在 …...

鸿蒙OpenHarmony【轻量系统芯片移植】轻量系统STM32F407芯片移植案例
轻量系统STM32F407芯片移植案例 介绍基于STM32F407IGT6芯片在拓维信息[Niobe407]开发板上移植OpenHarmony LiteOS-M轻量系统,提供交通、工业领域开发板解决方案。移植架构采用Board与SoC分离方案,使用arm gcc工具链Newlib C库,实现了lwip、l…...

基于SpringBoot+定时任务实现地图上绘制车辆实时运动轨迹图
目录 1. 项目结构 2. Maven依赖配置 (pom.xml) 3. 实现后端服务 4. 配置文件 (application.properties) 5. 启动项目 6. 访问页面 实现基于北斗卫星的车辆定位和轨迹图的Maven工程(使用模拟数据),我们将使用以下技术: Spri…...

Rasa对话模型——做一个语言助手
1、Rasa模型 1.1 模型介绍 Rasa是一个用于构建对话 AI 的开源框架,主要用于开发聊天机器人和语音助手。Rasa 提供了自然语言理解(NLU)和对话管理(DM)功能,使开发者能够创建智能、交互式的对话系统。 1.2…...
golang学习笔记19——golang做服务发现与注册的深度剖析
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...

ROS和ROS2借助智能大模型的学习和研究方法
机器人相关知识的本身和价值-CSDN博客 知识本身在智能时代毫无价值,需要基于知识应用和创新才有价值。 学历报废并非来自扩招,而是智能模型的快速发展。-CSDN blink-领先的开发者技术社区 2024年中秋,智能模型实力已经如此,但还…...
弹性负载均衡ELB 详解和设置方法
一、弹性负载均衡ELB 详解 1. 定义与概念 弹性负载均衡(Elastic Load Balancing,简称ELB)是一种将访问流量自动分发到多台云服务器的流量分发控制服务。它通过在多个后端服务器之间均衡分配请求,提高应用程序的可用性、可扩展性…...

Python3网络爬虫开发实战(15)Scrapy 框架的使用(第一版)
文章目录 一、Scrapy 框架介绍1.1 数据流1.2 项目结构1.3 Scrapy 入门 二、Selector 解析器2.1 XPath 和 CSS 选择器2.2 信息提取2.3 正则提取 三、Spider 的使用3.1 Spider 运行流程3.2 Spider 类分析3.3 Request3.4 Response 四、Download Middleware 的使用4.1 process_requ…...
大众点评代发排名骗局
大众点评代发排名骗局 不诋毁同行,不贬低对手,请各位老板擦亮眼睛,认真看完这篇文章,以防上当受骗#网络宣传#企业推广#企业推广 大众点评代发排名:一场精心编织的骗局 在这个美食如云的时代&…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...