主页 > imtoken安装下载地址 > V神吹“牛皮”? 以太坊W+的TPS原理(一)

V神吹“牛皮”? 以太坊W+的TPS原理(一)

imtoken安装下载地址 2023-08-26 05:10:58

阅读本文大约需要 8 分钟。

本文同时在百度平台和简书平台实时发布。

币读栏目地址:

一、区块链项目TPS现状

在《区块链的发展趋势:一场去中心化与TPS之战》系列文章中,介绍了整个区块链领域各个项目中TPS的现状。 不清楚的小伙伴请移步了解一下~

业界曾经有一句口号,虽然很武断,但也能窥见一斑:“敢号TPS几万的都是流氓,不用看白皮书,是绝对的空气币。”

然而,直到EOS和分片技术的诞生,这个口号才成为历史。

附言:

1)EOS的介绍会在系列其他文章中介绍;

2)本文分为两个小节分别介绍以太坊的Casper和V神的分片技术。 Casper 不在链之灵魂:共识机制的第 3.5 节中)

2. 以太坊和 Capser

2.1 什么是以太坊?

以太坊(英文:Ethereum)是一个具有智能合约功能的开源公共区块链平台。 以太坊是一个基于交易的状态机。 从创世块开始,以太坊的状态随着每笔交易而改变。

通过其专用的加密货币 Ether,它提供了一个分散的虚拟机(“以太坊虚拟机”)来处理点对点合同。

以太坊的概念是由程序员 Vitalik Buterin 在 2013 年至 2014 年间受到比特币启发后首次提出的,意为“下一代加密货币和去中心化应用平台”。

以太坊原理_sitecsdn.net 以太坊和以太币的关系_以太坊与以太基金

以太坊底层支撑技术最大的亮点就是跨平台EVM。 你可以理解标准的JVM(Java Virtual Machine)。

2.2 EVM实现原理总结

简单的一句话总结了EVM的运行原理:

智能合约的开发过程是用solidlity编写逻辑代码--->通过编译器编译元数据--->最后发布到以太坊上。

以太坊底层通过EVM模块支持合约的执行和调用。 调用时根据合约地址获取代码,生成环境并加载到EVM中运行。

如下所示

(大家别着急,亲手搭建JAVA版区块链,在《亲手写区块链》系列文章中会一一实现)。

2.3 以太坊的几个概念介绍

1) 以太币

以太坊网络的内部加密令牌。 以太币用于支付以太坊交易的交易费用和计算费用。

2) 智能合约

一组以数字形式定义的承诺,包括合约参与者可以执行这些承诺的协议。 可以理解为一段预定义的代码,当满足触发条件时自动执行。

3) 气体

以太坊使用 Gas 机制进行计费。 Gas 也可以被视为一个工作量单位。 智能合约完成的动作越复杂,完成操作需要支付的 Gas 就越多。

sitecsdn.net 以太坊和以太币的关系_以太坊原理_以太坊与以太基金

智能合约中的每一个动作都会消耗Gas,例如乘法(MUL)消耗5 Gas,加法(ADD)消耗3 Gas。

因此,Gas可以理解为:执行一步操作需要消耗多少个工作单位(这个数量不等于消耗价格,虽然最终的Gas支付体现在ETH),而对于相同的一步操作,消耗的单位 工作量始终不变。

另外:气体只是 EVM 内部使用的测量单位。

(打个比方:某品牌汽车百公里耗油量为10升,也就是说行驶100公里需要10升燃油)

4)gas费

Gas不等于成本,一笔交易的总成本,也称为GasCost,计算公式如下:

GasCost = GasUsed*GasPrice 上面已经提到GasUsed是消耗的燃料量,gasPrice可以理解为动态调整的燃料单价。 单价*消耗量=总耗气量,即成本。

gasPrice 可以由矿工和用户动态调整。

5)区块GasLimit和交易GasLimit

Block GasLimitt 是单个区块可以消耗的最大gas量,用于限制单个区块可以打包多少笔交易。

Transaction GasLimit 是为单笔交易设置的最大gas消耗量。

例如,我们有 4 笔交易,其 GasLimit 分别为 10、20、30 和 40。 如果区块 gas limit 为 60,则前 3 笔交易可以成功打包到该区块中。

矿工有权决定将哪些交易包含在区块中。 因此,另一个矿工可以选择将第 2 和第 4 笔交易打包到这个区块中(20+40)。

如果你尝试打包一个会使用超过当前区块 GasLimit 的交易,该交易将被网络拒绝,以太坊客户端会报错“该交易超过了该区块的 GasLimit”。

sitecsdn.net 以太坊和以太币的关系_以太坊原理_以太坊与以太基金

6)消息

以太坊中的消息与我们常规理解的消息不同。 在EVM中,消息是指合约之间的触发调用,可以理解为函数调用以太坊原理,只存在于EVM内部,不可序列化。

7) 以太坊客户端

以太坊客户端,俗称钱包,提供账户管理、挖矿、转账、部署和执行智能合约等功能,以太坊节点使用以太坊客户端访问以太坊网络。 开发中使用最广泛的客户端是 Geth。

8) 账户

以太坊中有两种账户:外部账户和合约账户。

以太坊试图模糊两者的界限以太坊原理,即你可以同时拥有合约账户和外部账户。 这种方式本质上是允许用户根据合约账户的格式来定义外部账户。

合约账户存在于以太坊中的特定地址(智能合约发布地址),具有以下特点:

1) 拥有以太坊余额 2) 具有关联代码 3) 由交易或消息调用触发并由以太坊虚拟机 (EVM) 解释和执行

3. 以太坊之魂:Casper

Casper 是 POS 的变体。 POS 共识机制的一种变体,通过增加惩罚机制来解决 Nothing at Stake 问题。

Casper 是一种基于存款的经济激励共识协议。 协议中的节点作为“锁押金的验证者”,必须先支付押金(这一步称为锁押押金),才能参与区块生成和共识形成。

Casper 共识协议通过直接控制这些存款来约束验证者的行为。 具体来说,如果验证者做了任何 Casper 认为“无效”的事情,他的保证金将被罚款,出块和参与共识的权利也将被取消。

保证金的引入解决了“无风险”的问题,即经典POS协议中做坏事的成本低。 现在有一个价格,被客观证明做错事的验证者将付出这个代价。

以太坊原理_以太坊与以太基金_sitecsdn.net 以太坊和以太币的关系

见下图(POS的两个核心问题)

POS 没有任何风险

Nothing at stake:指低风险投机。 这是POS共识机制最严重的问题。 拥有股权的人越少,作恶的成本就越低。

例如:如果攻击者分叉了当前链,挖矿节点的保证金已经抵押在两条链上,他不需要判断哪条链是正确的,而是支持两条链,从而导致攻击者得逞,无论攻击者是否成功,节点选择全挖的策略也能保证自己的收益,所以只要理性节点不是“持币大户”,都会支持攻击者。

Long range attack on POS(远程攻击)

远程攻击意义:

与Nothing at Stake不同,恶意节点不对现有主链进行分叉,而是返回到主链初始阶段的某个区块,试图快速创建一条比现有主链更长的链,让网络中的其余节点误相信这条链就是主链。

POW不存在远程攻击的问题。 原因是:规定平均10分钟出一个块,是一种基于算力的挖矿行为。 作恶节点永远追不上主链。

但是 POS 没有指定确切的块生成时间。

Casper通过改变区块长度上限在一定程度上降低了Long range attack的概率,但并没有从根本上解决问题。

Long range attack可以理解为POS中的Sybil攻击。

4. 以太坊扩容可选路线

4.1 Sharding分片技术

以太坊最新分片技术的实施进展。

以太坊与以太基金_以太坊原理_sitecsdn.net 以太坊和以太币的关系

参与V神在北京以太坊开发者大会的报告:《如何成为Casper+POS分片技术的验证者?》 “

分片是什么意思?

也就是说,如果你有100个共识节点,不分片的话,你同一时间只能做一个智能合约。 那么如果你分片,比如每20个共识节点分配一个分片,那么你就有5个分片。 每个切片处理一个智能合约,你可以同时做5个智能合约,所以你的速度会提高15倍。

分片的核心难点是什么?

分片必须保证同一地址的交易分配到同一个分片,否则会出现“双花”问题——这简直就是天灾。

分片分为硬分片和软分片

硬分片:如 Zilliqa 项目。 固定600个节点为一个group,选举一个group leader。 组长负责与其他 599 个成员节点交互。 收集到 500 个签名后,进行多重签名。 这样一来,信息交互量大大减少,交易速度大大提高,但变得中心化。

软分叉:典型的Moac是逻辑分片,也叫软分片,是根据智能合约的要求进行分片。

4.2 迅雷网络(闪电网络LightingNetwork)

就是比特币系统中使用的闪电网络,在以太坊上被称为Thunderbolt Network。

解决方案是将高频、小额的交易下链,然后在固定的时间内,将这些交易聚合成一次更新上链。 在经常有高频小额交易的节点之间开辟唯一的状态通道。

闪电网络的安全性并不完善,只适用于高频、小额交易场景。

该方法主要处理本地用户交易。 在 Moac 中,该解决方案称为 Flash,已获得专利并在链内智能合约服务器中实现。 这也是墨客交易处理速度从5000tps提升到1W+的关键。

本章介绍了以太坊的相关知识点以及以太坊的Casper共识算法的运行机制;

下一篇将从源码的角度分析《Casper分片技术底层原理》,敬请期待~~~

今天的唐说,区块链时代结束了。 个人理解,请关注diss。