区块链学习笔记3--以太坊

news2024/11/12 23:32:31

智能合约:跑在以太坊系统中的代码合同,其实质是一段代码。目前已经存在180多万个智能合约。
在这里插入图片描述
智能合约能表达:规则明确,不受主观因素影响的业务。
智能合约能表达:规则不轻易修改的业务
如果业务的规则经常变化,同样是无法通过智能合约编写的,因为智能合约小程序一旦写完,是无法通过软件升级,去进行规则更新的。

以太坊中的Ghost协议 (贪婪最重可观察子树协议)
以太坊快速出块产生的问题,由于出块时间极短,新发布的区块可能还未完全传播到整个网络,导致区块链频繁分叉,如果按照比特币的最长原则处理这些分叉,可能会浪费大量算力并降低矿工的积极性,同时也会影响系统的安全性和效率。
该协议的主要思想就是通过判断最重子树来决定主链,而非单纯依赖长链原则。
在以太坊中,区块的重量是通过该区块及其所有子区块的难度累加来计算的,因此,此协议能够确保在分叉发生时,选择包含最多有效工作量的链作为主链。
此协议提高了系统安全性,解决孤块奖励问题,提高了TPS(每秒交易数)(通过优化区块链的共识机制,为以太坊的扩容提供了更好的基础)

以太坊的挖矿算法
以太坊的挖矿算法主要是Ethash,也称为Dagger-Hashinoto。这是一个专为以太坊设计的挖矿算法,旨在实现工作量证明机制pow,以保证区块链的安全性和去中心化。
特点:
内存依赖性强:Ethash算法的特点是其计算效率基本与CPU无关,而与内存大小和内存带宽正相关。这意味着即使通过共享内存的方式大规模部署矿机芯片,也无法在挖矿效率上实现线性或超线性的增长。这种设计有助于防止算力去中心化,保护区块链的安全。
抗ASIC芯片:ASIC专用集成电路芯片在挖矿在通常由极高算力,但该算法通过对内存访问的需求,使得ASIC芯片在挖矿在不再具有明显优势。这有助于保持以太坊的去中心化特性,防止算力被少数矿工或矿池垄断。

POW(Proof of work工作量证明)和POS(Proof of stake权益证明)是区块链技术在两种常见的共识算法。
pow算法:
pow要求参与者(矿工)进行一定量的计算工作,通常是解决一个数学难题(如哈希碰撞),以证明付出相应的工作量。这个难题的设计使得验证结果比求解过程容易得多,从而确保网络的安全性。
特点:
安全性高:由于需要大量的计算能力来解决数学难题,攻击者需要掌握网络的大部分算力才能对网络进行攻击。
去中心化:pow算法使得任何人都可以参与到挖矿中,没有特权集团可以垄断控制整个网络。
能源消耗大:pow算法需要大量的计算能力来完成工作量证明,这导致了巨大的能源消耗。
硬件要求高:为了进行挖矿,需要专门的硬件设备。
存在51%攻击风险:如果某个实体掌握了网络一半以上的算力,就有可能对网络进行攻击。
应用:
pow算法最著名的应用是比特币,其他如以太坊(早期采用pow,后转向pos与pow混合机制)等区块链项目采用了类似的算法。

POS算法
在这里插入图片描述

POS算法基于参与者持有的加密货币数量来创建新区快,持有更多货币的参与者有更大的机会被选中为出块者。这种机制鼓励货币持有者积极参与网络维护,同时减少了能源消耗和硬件要求。
特点:
能源效率高:相对于POW,POS算法不需要大量的计算能力来完成工作量证明,因此能源消耗比较低。
去中心化:和pow类似,pos也可以实现去中心化,没有特权集团可以垄断控制整个网络。
参与门槛低:用户只需要持有一定数量的代币就可以参与挖矿,相对于pow需要专门硬件设备的要求更为友好。
存在财富集中问题:pos算法可能导致财富集中,因为持有更多代币的人会获得更多的权益和奖励。
安全性相对较低:相对于POW,POS算法在面对攻击时的安全性较低,攻击者只需要掌握网络的一定比例的代币即可发动攻击。
应用:
POS算法被许多区块链项目采用,如以太坊的Casper协议(与POW混合使用)、EOS、Tezos等。这些项目希望通过POS算法来提高交易速度、降低能源消耗,并促进网络的去中心化。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2025第九届数字信号处理国际会议(ICDSP 2025)将在成都召开!

第九届数字信号处理国际会议(ICDSP 2025)将于2025年2月21-23日在成都召开。ICDSP 2025大会由西南交通大学和西华大学联合主办, 并得到各地高校和机构的技术支持。大会旨在邀请众多国内外学者及产业研发人员齐聚一堂,共同探讨数字信号处理领域…

ABB机械手备份与恢复

ABB机械手备份与恢复 备份恢复系统 备份 ABB机器人数据备份的对象是所有正在系统内存中运行的RAPID程序和系统参数。当机器人系统出现错乱或者重新安装系统以后,可以通过备份快速地把机器人恢复到备份时的状态。 如果导出到U盘需要将U盘插入USB接口,位置…

docker-01 创建一个自己的镜像并运行容器

docker-01 创建一个自己的镜像并运行容器 前言 我们都知道使用Docker的镜像可以快速创建和部署应用,大大的节约了部署的时间。并且Docker 的镜像提供了除内核外完整的运行时环境,确保代码的环境一致性,从而不会在出现这段代码在我机器上没问…

通过mxGraph在ARMxy边缘计算网关上实现工业物联网

在当今的工业4.0时代,工业物联网(IIoT)已经成为制造业转型升级的关键技术之一。ARMxy边缘计算网关作为工业自动化和物联网的重要组成部分,能够为工厂车间提供实时的数据处理能力和智能化服务。而mxGraph作为一种流行的JavaScript库…

ABB的IO板卡配置

ABB的IO板卡配置 标准IO板卡DSQC651IO板卡的配置数字量输入信号配置数字量输出信号配置组合输入信号配置组合输出信号配置模拟量输出信号配置 标准IO板卡DSQC651 DSQC651可以处理8路输入数字量,8路输出数字量和2路模拟量输出信号。 X1是数字量输出,接线…

agentuniverse快速开始和踩坑

https://github.com/alipay/agentUniverse/tree/mastergithub地址:https://github.com/alipay/agentUniverse/tree/master 老大看了演示demo也想跟着做个agent工具,但踩坑太多,含泪写下博客 前置环节 git clone https://github.com/alipay/agentUniverse.git conda create -n…

轻松发高分的好思路:GNN+时间序列预测!新SOTA效率翻了5倍

在时序预测领域,通过合理构建和应用图结构,GNN能有效捕捉时空数据中的复杂依赖关系,轻松提高预测的准确性。因此GNN时序预测在学术界和工业界都广受欢迎。 最近这个方向出现了很多效果很好的研究,比如GraFITi模型,利用…

[AHK]Listbox with incremental search

可以根据文本框中的输入内容,实时动态从列表中搜索并定位所搜索内容。 AHK V1代码 #Requires AutoHotkey v1.0 Gui Add, Edit, w300 h20 vsearchedString gIncrementalSearch Gui Add, ListBox, vchoice gListBoxClick w300 h250 hscroll vscroll Gui Add, Button, …

Excel怎么截图?快速捕捉工作表的多种方法

大家好,这里是效率办公指南! 📸 在日常工作中,我们经常需要对Excel工作表进行截图,无论是为了记录数据、制作演示还是进行数据对比。今天,我们就来学习几种在Excel中截图的方法以及它们的快捷键。 一、使…

迈向智能制造:数字化转型的核心策略与实践

在全球经济不断变革的背景下,制造业正迎来一场深刻的数字化变革。随着技术的快速进步,特别是工业4.0概念的普及,制造企业正在向智能制造方向转型。 智能制造是通过数字化技术的集成和应用,全面提升制造过程的自动化、信息化和智能…

Java项目: 基于SpringBoot+mybatis+maven新闻推荐系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven新闻推荐系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

信息安全数学基础(6)整除的进一步性质

1. 传递性 如果 a 能被 b 整除,且 b 能被 c 整除(记作 a∣b 和 b∣c),则 a 能被 c 整除(记作 a∣c)。 2. 线性组合 如果 a∣b 且 a∣c,则对于任意整数 x 和 y,都有 a∣(bxcy)。这个性…

Vue2踩坑记录 - el-input无法接收键盘输入,对响应式对象的深入理解-对象和数组的响应式

今天发现,某对话框打开后,其中的input无法接收键盘输入,我在页面上劈里啪啦敲了一堆,页面输入框空空如也,的确是用了v-model来实现双向绑定。但是显然,它没有实现双向数据传输。那么,双向数据传…

JMeter在Mac下的安装使用

目录 Mac OS Jmeter安装运行1、Jmeter下载2、运行Jmeter3、编写或导入脚本 前言 开发过程中需要对系统进行性能测试,可以选用jemter对接口进行压测,jemter优点如下: 开源许可证:Jmeter完全免费,允许开发者使用源代码…

SM7015非隔离电磁炉/电饭煲电源芯片12V/18V输出

SM7015特点: 拓扑结构支持:低成本 BUCK、BUCK-BOOST 等方案 采用 730V 单芯片集成工艺 85Vac~265Vac 宽电压输入 待机功耗小于 120mW220Vac 集成高压启动电路 集成高压功率开关 60KHz 固定开关频率 内置抖频技术,提升 EMC 性能 电流模式 PWM…

使用designer.exe实现设计ui界面(以及解决遇到的问题)

引言: 若自己构想一个简洁的页面,有个布局的草图,且使用python实现,似乎是可行的,但是若对于比较复杂的界面,且不说每个模块在布局中所在的位置,再说每个模块所对应的功能以及程序的实现,都会是十分繁杂的任务。所以此时就需要寻找更加直观的设计方法。 其实python中的…

指针之旅(5)—— 万能指针与回调函数的搭配:万能排序qsort函数的使用规则及其模拟实现。

目录 1. 回顾:万能指针void* 与 回调函数 的特性 1.1 万能指针void* 1.2 回调函数 2. qsort函数的使用规则 2.1 qsort的头文件和排序方向 2.2 qsort的函数参数表解析 2.3 结构体数组排序举例 3. 冒泡排序模拟万能排序qsort的实现 3.1 冒泡排序的回顾与疑问…

前端自定义下载文件名

data数据格式如下 "data": [{"createBy": "system","createTime": "2024-09-11 14:08:56","updateBy": "","updateTime": null,"beginTime": null,"endTime": null,&qu…

18068 选择排序

### 思路 1. **初始化**:定义变量i, j, k和临时变量tmp。 2. **外层循环**:遍历数组的每个元素,i从0到n-2。 3. **内层循环**:从i1到n-1,找到最小元素的索引k。 4. **交换**:将最小元素与当前元素交换。 #…

源码安装python3.10.8后pip3无法使用问题

一、背景: CentOS7.7上默认已经存在python2.7,但需要python3,所以计划源码安装python3。 下载python3.10.8 wget https://www.python.org/ftp/python/3.10.8/Python-3.10.8.tgz 二、编译安装 安装用户为普通linux用户,拥有sudo权…