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

智能合约:跑在以太坊系统中的代码合同,其实质是一段代码。目前已经存在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算法来提高交易速度、降低能源消耗,并促进网络的去中心化。


相关推荐
charlie1145141916 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程
java·笔记·vscode·后端·学习·maven·springboot
e***74959 小时前
Spring Security 官网文档学习
java·学习·spring
Ashlee_code11 小时前
OTC市场:A股震荡下的金融新蓝海——深度解析场外交易的战略价值与实施路径
科技·金融·系统架构·区块链·跨境·金融机构·场外期权
2501_9418053111 小时前
数字货币与区块链:金融革命的双引擎
区块链
MicroTech202512 小时前
微算法科技(NASDAQ :MLGO)混合共识算法与机器学习技术:重塑区块链安全新范式
科技·算法·区块链
山河亦问安12 小时前
Spring原理编码学习
java·学习·spring
思成不止于此12 小时前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析
开发语言·数据结构·c++·笔记·学习·搜索二叉树·c++40周年
碧海潮生_CC13 小时前
【CUDA笔记】03 CUDA GPU 架构与一般的程序优化思路(下)
笔记·架构·cuda
钟屿14 小时前
Back to Basics: Let Denoising Generative Models Denoise 论文阅读学习
论文阅读·人工智能·笔记·学习·计算机视觉
d111111111d14 小时前
SPI通信协议--在STM32中介绍(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习