导航:首页 > 以太坊区 > 以太坊下载多少内存

以太坊下载多少内存

发布时间:2025-01-04 10:50:44

1. 以太坊虚拟机(EVM)是什么

以太坊是一个可编程的区块链。与比特币不同,以太坊并没有给用户提供一组预定义的操作(比如比特币交易),而是允许用户创建他们自己的操作,这些操作可以任意复杂。这样,以太坊成为了多种不同类型去中心化区块链的平台,包括但是不限于密码学货币。

EVM为以太坊虚拟机。以太坊底层通过EVM模块支持智能合约的执行和调用,调用时根据合约的地址获取到代码,生成具体的执行环境,然后将代码载入到EVM虚拟机中运行。通常目前开发智能合约的高级语言为Solidity,在利用solidity实现智能合约逻辑后,通过编译器编译成元数据(字节码)最后发布到以坊上。

EVM架构概述

EVM本质上是一个堆栈机器,它最直接的的功能是执行智能合约,根据官方给出的设计原理,EVM的主要的设计目标为如下几点:

针对以上几点通过对EVM源代码的阅读来了解其具体的设计思想和工程实用性。

EVM存储系统机器位宽

EVM机器位宽为256位,即32个字节,256位机器字宽不同于我们经常见到主流的64位的机器字宽,这就标明EVM设计上将考虑一套自己的关于操作,数据,逻辑控制的指令编码。目前主流的处理器原生的支持的计算数据类型有:8bits整数,16bits整数,32bits整数,64bits整数。一般情况下宽字节的计算将更加的快一些,因为它可能包含更多的指令被一次性加载到pc寄存器中,同时伴有内存访问次数的减少。目前在X86的架构中8bits的计算并不是完全的支持(除法和乘法),但基本的数学运算大概在几个时钟周期内就能完成,也就是说主流的字节宽度基本上处理器能够原生的支持,那为什么EVM要采用256位的字宽。主要从以下两个方面考虑:

时间上主要体现在执行的效率上,我们以两个整型数相加来对比具体的操作时间消耗。32bits相加的X86


的汇编代码

mov eax, dword [9876ABCD] //将地址9876ABCD中的32位数据放入eax数据寄存器

add eax, dword [1234DCBA] //将1234DCBA地址指向32位数和eax相加,结果保存在eax中

64bits相加的X86汇编代码

mov rax, qword [123456789ABCDEF1] //将地址指向的64位数据放入64位寄存器

add rax, qword [1020304050607080] //计算相加的结果并将结果放入到64位寄存器中

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

2. 3070算力大概多少,一天能挖多少多少以太坊

探讨3070显卡的挖矿能力,特别是以太坊(ETH)的挖矿。首先,明确挖一次ETH所需的内存读取量为128字节,共重复64次,合计8192字节。

接着,观察到3070显卡采用GDDR6内存技术,其频率为1.75GHz,且拥有256位宽度的内存接口。通过计算,其带宽可达1.75GHz * 8 * 256B,即448GBps。

基于此带宽,计算3070理论最大算力为448GBps / 8192B,得出约为54.6M次/秒。考虑到实际应用中的效率损失,其算力约为50M次/秒。

如果对内存进行超频操作,提升至2100MHz,理论算力将提升至约65M次/秒,实际应用中估计为60M次/秒。综上所述,3070在以太坊挖矿中的算力表现大致在50M次/秒左右,经超频后可达60M次/秒左右。

3. 浠ュお鍧婃绘暟閲忓氬皯

浠ュお鍧婃绘暟閲忎笉鑳戒竴姒傝岃猴紝鍏舵瘡骞寸殑浜ч噺鏄涓嶅悓鐨勩備互澶鍧婃垚绔嬩簬2014骞淬傚綋骞寸殑7銆8鏈堬紝涓轰簡浼楃癸紝澶х害鍙戣屼簡7200涓囦互澶甯併備紬绛圭粨鏉熷悗锛屼互澶鍧婃瘡骞寸殑浜ч噺閮介檺鍒跺湪7200涓囩殑25%锛屽嵆1800涓囥備互澶鍧婂拰姣旂壒甯佷竴鏍凤紝鍧囦负涓绉嶈櫄鎷熻揣甯侊紝閮芥槸閫氳繃鈥滄寲鐭库濊岃幏寰椾竴瀹氭暟閲忕殑铏氭嫙璐у竵锛屼絾姣旂壒甯佺殑鈥滅熆鏈衡濇槸渚濋潬绠楀姏锛岃屼互澶鍧婁富瑕佹槸渚濋潬鏄惧崱鍜屽唴瀛樸
鎴戜滑閫氳繃浠ヤ笂鍏充簬浠ュお鍧婃绘暟閲忓氬皯鍐呭逛粙缁嶅悗,鐩镐俊澶у朵細瀵逛互澶鍧婃绘暟閲忓氬皯鏈変竴瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿

4. 以太坊是什么丨以太坊开发入门指南

以太坊是什么丨以太坊开发入门指南
很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门。
以太坊是什么
以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。
对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用。
在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等(很多山寨币就是这样,改改就出来一个新币)。
以太坊平台对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊平台进行开发,开发者只要专注于应用本身的开发,从而大大降低了难度。
目前围绕以太坊已经形成了一个较为完善的开发生态圈:有社区的支持,有很多开发框架、工具可以选择。
智能合约
什么是智能合约
以太坊上的程序称之为智能合约, 它是代码和数据(状态)的集合。
智能合约可以理解为在区块链上可以自动执行的(由事件驱动的)、以代码形式编写的合同(特殊的交易)。
在比特币脚本中,我们讲到过比特币的交易是可以编程的,但是比特币脚本有很多的限制,能够编写的程序也有限,而以太坊则更加完备(在计算机科学术语中,称它为是“图灵完备的”),让我们就像使用任何高级语言一样来编写几乎可以做任何事情的程序(智能合约)。
智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等。
目前除数字货币之外,真正落地的应用还不多(就像移动平台刚开始出来一样),相信1到3年内,各种杀手级会慢慢出现。
编程语言:Solidity
智能合约的默认的编程语言是Solidity,文件扩展名以.sol结尾。
Solidity是和JavaScript相似的语言,用它来开发合约并编译成以太坊虚拟机字节代码。
还有长像Python的智能合约开发语言:Serpent,不过建议大家还是使用Solidity。
Browser-Solidity是一个浏览器的Solidity IDE, 大家可以点进去看看,以后我们更多文章介绍Solidity这个语言。
运行环境:EVM
EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。
Solidity之于EVM,就像之于跟JVM的关系一样,这样大家就容易理解了。
以太坊虚拟机是一个隔离的环境,在EVM内部运行的代码不能跟外部有联系。
而EVM运行在以太坊节点上,当我们把合约部署到以太坊网络上之后,合约就可以在以太坊网络中运行了。
合约的编译
以太坊虚拟机上运行的是合约的字节码形式,需要我们在部署之前先对合约进行编译,可以选择Browser-Solidity Web IDE或solc编译器。
合约的部署
在以太坊上开发应用时,常常要使用到以太坊客户端(钱包)。平时我们在开发中,一般不接触到客户端或钱包的概念,它是什么呢?
以太坊客户端(钱包)
以太坊客户端,其实我们可以把它理解为一个开发者工具,它提供账户管理、挖矿、转账、智能合约的部署和执行等等功能。
EVM是由以太坊客户端提供的。
Geth是典型的开发以太坊时使用的客户端,基于Go语言开发。 Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。Geth的使用我们之后会有文章介绍,这里大家先有个概念。
Geth控制台和Chrome浏览器开发者工具里的面的控制台是类似,不过是跑在终端里。
相对于Geth,Mist则是图形化操作界面的以太坊客户端。
如何部署
智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户。
以太坊中有两类账户:
· 外部账户
该类账户被私钥控制(由人控制),没有关联任何代码。
· 合约账户
该类账户被它们的合约代码控制且有代码与之关联。
和比特币使用UTXO的设计不一样,以太坊使用更为简单的账户概念。
两类账户对于EVM来说是一样的。
外部账户与合约账户的区别和关系是这样的:一个外部账户可以通过创建和用自己的私钥来对交易进行签名,来发送消息给另一个外部账户或合约账户。
在两个外部账户之间传送消息是价值转移的过程。但从外部账户到合约账户的消息会激活合约账户的代码,允许它执行各种动作(比如转移代币,写入内部存储,挖出一个新代币,执行一些运算,创建一个新的合约等等)。
只有当外部账户发出指令时,合同账户才会执行相应的操作。
合约部署就是将编译好的合约字节码通过外部账号发送交易的形式部署到以太坊区块链上(由实际矿工出块之后,才真正部署成功)。
运行
合约部署之后,当需要调用这个智能合约的方法时只需要向这个合约账户发送消息(交易)即可,通过消息触发后智能合约的代码就会在EVM中执行了。
Gas
和云计算相似,占用区块链的资源(不管是简单的转账交易,还是合约的部署和执行)同样需要付出相应的费用(天下没有免费的午餐对不对!)。
以太坊上用Gas机制来计费,Gas也可以认为是一个工作量单位,智能合约越复杂(计算步骤的数量和类型,占用的内存等),用来完成运行就需要越多Gas。
任何特定的合约所需的运行合约的Gas数量是固定的,由合约的复杂度决定。
而Gas价格由运行合约的人在提交运行合约请求的时候规定,以确定他愿意为这次交易愿意付出的费用:Gas价格(用以太币计价) * Gas数量。
Gas的目的是限制执行交易所需的工作量,同时为执行支付费用。当EVM执行交易时,Gas将按照特定规则被逐渐消耗,无论执行到什么位置,一旦Gas被耗尽,将会触发异常。当前调用帧所做的所有状态修改都将被回滚, 如果执行结束还有Gas剩余,这些Gas将被返还给发送账户。
如果没有这个限制,就会有人写出无法停止(如:死循环)的合约来阻塞网络。
因此实际上(把前面的内容串起来),我们需要一个有以太币余额的外部账户,来发起一个交易(普通交易或部署、运行一个合约),运行时,矿工收取相应的工作量费用。
以太坊网络
有些着急的同学要问了,没有以太币,要怎么进行智能合约的开发?可以选择以下方式:
选择以太坊官网测试网络Testnet
测试网络中,我们可以很容易获得免费的以太币,缺点是需要发很长时间初始化节点。
使用私有链
创建自己的以太币私有测试网络,通常也称为私有链,我们可以用它来作为一个测试环境来开发、调试和测试智能合约。
通过上面提到的Geth很容易就可以创建一个属于自己的测试网络,以太币想挖多少挖多少,也免去了同步正式网络的整个区块链数据。
使用开发者网络(模式)
相比私有链,开发者网络(模式)下,会自动分配一个有大量余额的开发者账户给我们使用。
使用模拟环境
另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。而且testrpc可以在启动时帮我们创建10个存有资金的测试账户。
进行合约开发时,可以在testrpc中测试通过后,再部署到Geth节点中去。
更新:testrpc 现在已经并入到Truffle 开发框架中,现在名字是Ganache CLI。
Dapp:去中心化的应用程序
以太坊社区把基于智能合约的应用称为去中心化的应用程序(DecentralizedApp)。如果我们把区块链理解为一个不可篡改的数据库,智能合约理解为和数据库打交道的程序,那就很容易理解Dapp了,一个Dapp不单单有智能合约,比如还需要有一个友好的用户界面和其他的东西。
Truffle
Truffle是Dapp开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程。
总结
我们现在来总结一下,以太坊是平台,它让我们方便的使用区块链技术开发去中心化的应用,在这个应用中,使用Solidity来编写和区块链交互的智能合约,合约编写好后之后,我们需要用以太坊客户端用一个有余额的账户去部署及运行合约(使用Truffle框架可以更好的帮助我们做这些事情了)。为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
注:本文中为了方便大家理解,对一些概念做了类比,有些严格来不是准确,不过我也认为对于初学者,也没有必要把每一个概念掌握的很细致和准确,学习是一个逐步深入的过程,很多时候我们会发现,过一段后,我们会对同一个东西有不一样的理解。

5. 以太坊(ETH)挖矿硬件配置介绍

随着以太坊(ETH)的横盘震荡,挖矿收益持续下滑,加之新显卡的上市,使得显卡价格有所下降。正值618购物节,无论是游戏玩家还是矿工,对当前的显卡市场充满兴趣。



面对近期有朋友咨询如何组装一台以太坊矿机的问题,本文特此提供配置建议,供参考。



组装以太坊矿机的重点在于显卡配置,其他硬件需求相对较低,以降低成本。以下是推荐配置:





以上配置可根据显卡价格波动进行调整,预计成本在2000元以内。同时,结合当前算力计算收益,预计单日收益约为78.38个以太币(ETH),需根据币价波动进行实时调整。



综上所述,组装以太坊矿机时,应优先考虑显卡配置,确保算力与收益的最大化。同时,根据市场动态灵活调整硬件选择,以适应不断变化的挖矿环境。

6. 以太坊区块链大小多少(以太坊区块高度是多少)

以太坊公链区块高度

根据之前的消息,以太坊区块高度现在调整高度到4730660!以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。

就像比特币一样,以太坊不受任何人控制,也不归任何人所有——它是一个开放源代码项目,由全球范围内的很多人共同创建。和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。在以太坊平台上创立新的应用十分简便,随着Homestead的发布,任何人都可以安全地使用该平台上的应用。

以太坊是可编程的区块链。它并不是给用户一系列预先设定好的操作,而是允许用户按照自己的意愿创建复杂的操作。这样一来,它就可以作为多种类型去中心化区块链应用的平台。

以太坊区块链大小

与比特币网络不同,以太坊不会明确地按内存限制每个区块的大小,而是通过区块GasLimit强制规定每个区块的大小。

以太坊的区块GasLimit设置有效的限制了一个区块中可以打包的交易量。GasLimit参数由以太坊矿工集体决定,即通过投票的方式来动态地增加或降低GasLimit数值。

最近的一次投票是2019年下半年,矿工们群体投票同意将以太坊的区块GasLimit由原来的800万Gas单位提高至1000万,使每个区块相比之前区块的大小增加了25%左右,这从理论上提高了以太坊网络的TPS。

什么是区块链扩容?

普通用户能够运行节点对于区块链的去中心化至关重要

想象一下凌晨两点多,你接到了一个紧急呼叫,来自世界另一端帮你运行矿池(质押池)的人。从大约14分钟前开始,你的池子和其他几个人从链中分离了出来,而网络仍然维持着79%的算力。根据你的节点,多数链的区块是无效的。这时出现了余额错误:区块似乎错误地将450万枚额外代币分配给了一个未知地址。

一小时后,你和其他两个同样遭遇意外的小矿池参与者、一些区块浏览器和交易所方在一个聊天室中,看见有人贴出了一条推特的链接,开头写着“宣布新的链上可持续协议开发基金”。

到了早上,相关讨论广泛散布在推特以及一个不审查内容的社区论坛上。但那时450万枚代币中的很大一部分已经在链上转换为其他资产,并且进行了数十亿美元的defi交易。79%的共识节点,以及所有主要的区块链浏览器和轻钱包的端点都遵循了这条新链。也许新的开发者基金将为某些开发提供资金,或者也许所有这些都被领先的矿池、交易所及其裙带所吞并。但是无论结果如何,该基金实际上都成为了既成事实,普通用户无法反抗。

或许还有这么一部主题电影。或许会由MolochDAO或其他组织进行资助。

这种情形会发生在你的区块链中吗?你所在区块链社区的精英,包括矿池、区块浏览器和托管节点,可能协调得很好,他们很可能都在同一个telegram频道和微信群中。如果他们真的想出于利益突然对协议规则进行修改,那么他们可能具备这种能力。以太坊区块链在十小时内完全解决了共识失败,如果是只有一个客户端实现的区块链,并且只需要将代码更改部署到几十个节点,那么可以更快地协调客户端代码的更改。能够抵御这种社会性协作攻击的唯一可靠方式是“被动防御”,而这种力量来自去一个中心化的群体:用户。

想象一下,如果用户运行区块链的验证节点(无论是直接验证还是其他间接技术),并自动拒绝违反协议规则的区块,即使超过90%的矿工或质押者支持这些区块,故事会如何发展。

如果每个用户都运行一个验证节点,那么攻击很快就会失败:有些矿池和交易所会进行分叉,并且在整个过程中看起来很愚蠢。但是即使只有一些用户运行验证节点,攻击者也无法大获全胜。相反,攻击会导致混乱,不同用户会看到不同的区块链版本。最坏情况下,随之而来的市场恐慌和可能持续的链分叉将大幅减少攻击者的利润。对如此旷日持久的冲突进行应对的想法本身就可以阻止大多数攻击。

Hasu关于这一点的看法:

“我们要明确一件事,我们之所以能够抵御恶意的协议更改,是因为拥有用户验证区块链的文化,而不是因为PoW或PoS。”

假设你的社区有37个节点运行者,以及80000名被动监听者,对签名和区块头进行检查,那么攻击者就获胜了。如果每个人都运行节点的话,攻击者就会失败。我们不清楚针对协同攻击的启动群体免疫的确切阈值是多少,但有一点是绝对清楚的:好的节点越多,恶意的节点就越少,而且我们所需的数量肯定不止于几百几千个。

那么全节点工作的上限是什么?

为了使得有尽可能多的用户能够运行全节点,我们会将注意力集中在普通消费级硬件上。即使能够轻松购买到专用硬件,这能够降低一些全节点的门槛,但事实上对可扩展性的提升并不如我们想象的那般。

全节点处理大量交易的能力主要受限于三个方面:

算力:在保证安全的前提下,我们能划分多少CPU来运行节点?

带宽:基于当前的网络连接,一个区块能包含多少字节?

存储:我们能要求用户使用多大的空间来进行存储?此外,其读取速度应该达到多少?(即,HDD足够吗?还是说我们需要SSD?)

许多使用“简单”技术对区块链进行大幅扩容的错误看法都源自于对这些数字过于乐观的估计。我们可以依次来讨论这三个因素:

算力

错误答案:100%的CPU应该用于区块验证

正确答案:约5-10%的CPU可以用于区块验证

限制之所以这么低的四个主要原因如下:

我们需要一个安全边界来覆盖DoS攻击的可能性(攻击者利用代码弱点制造的交易需要比常规交易更长的处理时间)

节点需要在离线之后能够与区块链同步。如果我掉线一分钟,那我应该要能够在几秒钟之内完成同步

运行节点不应该很快地耗尽电池,也不应该拖慢其他应用的运行速度

节点也有其他非区块生产的工作要进行,大多数是验证以及对p2p网络中输入的交易和请求做出响应

请注意,直到最近大多数针对“为什么只需要5-10%?”这一点的解释都侧重于另一个不同的问题:因为PoW出块时间不定,验证区块需要很长时间,会增加同时创建多个区块的风险。这个问题有很多修复方法,例如BitcoinNG,或使用PoS权益证明。但这些并没有解决其他四个问题,因此它们并没有如许多人所料在可扩展性方面获得巨大进展。

并行性也不是灵丹妙药。通常,即使是看似单线程区块链的客户端也已经并行化了:签名可以由一个线程验证,而执行由其他线程完成,并且有一个单独的线程在后台处理交易池逻辑。而且所有线程的使用率越接近100%,运行节点的能源消耗就越多,针对DoS的安全系数就越低。

带宽

错误答案:如果没2-3秒都产生10MB的区块,那么大多数用户的网络都大于10MB/秒,他们当然都能处理这些区块

正确答案:或许我们能在每12秒处理1-5MB的区块,但这依然很难

如今,我们经常听到关于互联网连接可以提供多少带宽的广为传播的统计数据:100Mbps甚至1Gbps的数字很常见。但是由于以下几个原因,宣称的带宽与预期实际带宽之间存在很大差异:

“Mbps”是指“每秒数百万bits”;一个bit是一个字节的1/8,因此我们需要将宣称的bit数除以8以获得字节数。

网络运营商,就像其他公司一样,经常编造谎言。

总是有多个应用使用同一个网络连接,所以节点无法独占整个带宽。

P2P网络不可避免地会引入开销:节点通常最终会多次下载和重新上传同一个块(更不用说交易在被打包进区块之前还要通过mempool进行广播)。

当Starkware在2019年进行一项实验时,他们在交易数据gas成本降低后首次发布了500kB的区块,一些节点实际上无法处理这种大小的区块。处理大区块的能力已经并将持续得到改善。但是无论我们做什么,我们仍然无法获取以MB/秒为单位的平均带宽,说服自己我们可以接受1秒的延迟,并且有能力处理那种大小的区块。

存储

错误答案:10TB

正确答案:512GB

正如大家可能猜到的,这里的主要论点与其他地方相同:理论与实践之间的差异。理论上,我们可以在亚马逊上购买8TB固态驱动(确实需要SSD或NVME;HDD对于区块链状态存储来说太慢了)。实际上,我用来写这篇博文的笔记本电脑有512GB,如果你让人们去购买硬件,许多人就会变得懒惰(或者他们无法负担800美元的8TBSSD)并使用中心化服务。即使可以将区块链装到某个存储设备上,大量活动也可以快速地耗尽磁盘并迫使你购入新磁盘。

一群区块链协议研究员对每个人的磁盘空间进行了调查。我知道样本量很小,但仍然...

请点击输入图片描述

此外,存储大小决定了新节点能够上线并开始参与网络所需的时间。现有节点必须存储的任何数据都是新节点必须下载的数据。这个初始同步时间(和带宽)也是用户能够运行节点的主要障碍。在写这篇博文时,同步一个新的geth节点花了我大约15个小时。如果以太坊的使用量增加10倍,那么同步一个新的geth节点将至少需要一周时间,而且更有可能导致节点的互联网连接受到限制。这在攻击期间更为重要,当用户之前未运行节点时对攻击做出成功响应需要用户启用新节点。

交互效应

此外,这三类成本之间存在交互效应。由于数据库在内部使用树结构来存储和检索数据,因此从数据库中获取数据的成本随着数据库大小的对数而增加。事实上,因为顶级(或前几级)可以缓存在RAM中,所以磁盘访问成本与数据库大小成正比,是RAM中缓存数据大小的倍数。

不要从字面上理解这个图,不同的数据库以不同的方式工作,通常内存中的部分只是一个单独(但很大)的层(参见leveldb中使用的LSM树)。但基本原理是一样的。

例如,如果缓存为4GB,并且我们假设数据库的每一层比上一层大4倍,那么以太坊当前的~64GB状态将需要~2次访问。但是如果状态大小增加4倍到~256GB,那么这将增加到~3次访问。因此,gas上限增加4倍实际上可以转化为区块验证时间增加约6倍。这种影响可能会更大:硬盘在已满状态下比空闲时需要花更长时间来读写。

这对以太坊来说意味着什么?

现在在以太坊区块链中,运行一个节点对许多用户来说已经是一项挑战,尽管至少使用常规硬件仍然是可能的(我写这篇文章时刚刚在我的笔记本电脑上同步了一个节点!)。因此,我们即将遭遇瓶颈。核心开发者最关心的问题是存储大小。因此,目前在解决计算和数据瓶颈方面的巨大努力,甚至对共识算法的改变,都不太可能带来gaslimit的大幅提升。即使解决了以太坊最大的DoS弱点,也只能将gaslimit提高20%。

对于存储大小的问题,唯一解决方案是无状态和状态逾期。无状态使得节点群能够在不维护永久存储的情况下进行验证。状态逾期会使最近未访问过的状态失活,用户需要手动提供证明来更新。这两条路径已经研究了很长时间,并且已经开始了关于无状态的概念验证实现。这两项改进相结合可以大大缓解这些担忧,并为显著提升gaslimit开辟空间。但即使在实施无状态和状态逾期之后,gaslimit也可能只会安全地提升约3倍,直到其他限制开始发挥作用。

另一个可能的中期解决方案使使用ZK-SNARKs来验证交易。ZK-SNARKs能够保证普通用户无需个人存储状态或是验证区块,即使他们仍然需要下载区块中的所有数据来抵御数据不可用攻击。另外,即使攻击者不能强行提交无效区块,但是如果运行一个共识节点的难度过高,依然会有协调审查攻击的风险。因此,ZK-SNARKs不能无限地提升节点能力,但是仍然能够对其进行大幅提升(或许是1-2个数量级)。一些区块链在layer1上探索该形式,以太坊则通过layer2协议(也叫ZKrollups)来获益,例如zksync,Loopring和Starknet。

分片之后又会如何?

分片从根本上解决了上述限制,因为它将区块链上包含的数据与单个节点需要处理和存储的数据解耦了。节点验证区块不是通过亲自下载和执行,而是使用先进的数学和密码学技术来间接验证区块。

因此,分片区块链可以安全地拥有非分片区块链无法实现的非常高水平的吞吐量。这确实需要大量的密码学技术来有效替代朴素完整验证,以拒绝无效区块,但这是可以做到的:该理论已经具备了基础,并且基于草案规范的概念验证已经在进行中。

以太坊计划采用二次方分片(quadraticsharding),其中总可扩展性受到以下事实的限制:节点必须能够同时处理单个分片和信标链,而信标链必须为每个分片执行一些固定的管理工作。如果分片太大,节点就不能再处理单个分片,如果分片太多,节点就不能再处理信标链。这两个约束的乘积构成了上限。

可以想象,通过三次方分片甚至指数分片,我们可以走得更远。在这样的设计中,数据可用性采样肯定会变得更加复杂,但这是可以实现的。但以太坊并没有超越二次方,原因在于,从交易分片到交易分片的分片所获得的额外可扩展性收益实际上无法在其他风险程度可接受的前提下实现。

那么这些风险是什么呢?

最低用户数量

可以想象,只要有一个用户愿意参与,非分片区块链就可以运行。但分片区块链并非如此:单个节点无法处理整条链,因此需要足够的节点以共同处理区块链。如果每个节点可以处理50TPS,而链可以处理10000TPS,那么链至少需要200个节点才能存续。如果链在任何时候都少于200个节点,那可能会出现节点无法再保持同步,或者节点停止检测无效区块,或者还可能会发生许多其他坏事,具体取决于节点软件的设置。

在实践中,由于需要冗余(包括数据可用性采样),安全的最低数量比简单的“链TPS除以节点TPS”高几倍,对于上面的例子,我们将其设置位1000个节点。

如果分片区块链的容量增加10倍,则最低用户数也增加10倍。现在大家可能会问:为什么我们不从较低的容量开始,当用户很多时再增加,因为这是我们的实际需要,用户数量回落再降低容量?

这里有几个问题:

区块链本身无法可靠地检测到其上有多少唯一用户,因此需要某种治理来检测和设置分片数量。对容量限制的治理很容易成为分裂和冲突的根源。

如果许多用户突然同时意外掉线怎么办?

增加启动分叉所需的最低用户数量,使得防御恶意控制更加艰难。

最低用户数为1,000,这几乎可以说是没问题的。另一方面,最低用户数设为100万,这肯定是不行。即使最低用户数为10,000也可以说开始变得有风险。因此,似乎很难证明超过几百个分片的分片区块链是合理的。

历史可检索性

用户真正珍视的区块链重要属性是永久性。当公司破产或是维护该生态系统不再产生利益时,存储在服务器上的数字资产将在10年内不再存在。而以太坊上的NFT是永久的。

是的,到2372年人们仍能够下载并查阅你的加密猫。

但是一旦区块链的容量过高,存储所有这些数据就会变得更加困难,直到某时出现巨大风险,某些历史数据最终将……没人存储。

要量化这种风险很容易。以区块链的数据容量(MB/sec)为单位,乘以~30得到每年存储的数据量(TB)。当前的分片计划的数据容量约为1.3MB/秒,因此约为40TB/年。如果增加10倍,则为400TB/年。如果我们不仅希望可以访问数据,而且是以一种便捷的方式,我们还需要元数据(例如解压缩汇总交易),因此每年达到4PB,或十年后达到40PB。InternetArchive(互联网档案馆)使用50PB。所以这可以说是分片区块链的安全大小上限。

因此,看起来在这两个维度上,以太坊分片设计实际上已经非常接近合理的最大安全值。常数可以增加一点,但不能增加太多。

结语

尝试扩容区块链的方法有两种:基础的技术改进和简单地提升参数。首先,提升参数听起来很有吸引力:如果您是在餐纸上进行数学运算,这就很容易让自己相信消费级笔记本电脑每秒可以处理数千笔交易,不需要ZK-SNARK、rollups或分片。不幸的是,有很多微妙的理由可以解释为什么这种方法是有根本缺陷的。

运行区块链节点的计算机无法使用100%的CPU来验证区块链;他们需要很大的安全边际来抵抗意外的DoS攻击,他们需要备用容量来执行诸如在内存池中处理交易之类的任务,并且用户不希望在计算机上运行节点的时候无法同时用于任何其他应用。带宽也会受限:10MB/s的连接并不意味着每秒可以处理10MB的区块!也许每12秒才能处理1-5MB的块。存储也是一样,提高运行节点的硬件要求并且限制专门的节点运行者并不是解决方案。对于去中心化的区块链而言,普通用户能够运行节点并形成一种文化,即运行节点是一种普遍行为,这一点至关重要。

区块链网络拥堵怎么办

1

什么是网络拥堵

通常指的是一种网络故障现象:某办公局域网计算机使用一个带路由功能的ADSLModem+HUB共享上网。当同一时间上网人数较少的时候网络比较通畅,上网人数多了以后网络会时断时通,并且HUB的Collision指示灯会闪烁不停。

而在区块链的应用程序中,无论是数字货币、智能合约、去中心的交易系统等,它们的网络都是由一个个独立的节点组成的,发生在节点中的各种操作,比如转账交易、合约状态的变更等,都会以交易事务的数据形式广播到网络中,通过矿工打包到新的区块,作为主链的一部分而最终确认所有的这些操作。

当节点很多,使用量很多的时候,大量发生的交易就会来不及在正常期望的时间内被打包,因为它们都拥堵在网络中,这些等待的被确认的交易数据通常会维持在节点的内存池中。这个就是区块链的拥堵。

2

网络拥堵是怎么发生的

目前比特币区块大小为1M,每秒大约只能处理7个交易。随着交易量不断增长,比特币网络已经难以迅速地进行转账交易确认,区块链网络时常出现拥堵。

区块链网络上最高时有上万笔交易积压,某些转账交易手续费高达几十美元,网络拥堵时,交易甚至需要花费好几天才能被打包。

实际上对于每一类区块链应用来说,这个问题都是存在的,造成不断有用户抱怨交易延迟的问题,但也侧面证明了应用的广泛,以及用户体量的增加。

那么发生这些问题,我们应该怎么办呢?

3

网络拥堵怎么解决

解决的方法,无非有如下几种。

第一种扩容,提高处理能力。

第二种截流,限制区块链包的数量。

通过将上述两种方法进行综合。

悉尼大学研究者研发了一种新型的区块链系统,在100台机器中能够实现每秒44万笔交易的吞吐量,而Visa每秒的交易处理器是5.6万笔。相比之下,比特币每秒的交易限制在7笔,以太坊区块链则为20笔。

JadeChain公链系统上线后,将彻底解决JADE生态应用中的网络拥堵问题。

7. 挖以太币需要什么配置

挖以太坊需要的配置包括硬件和软件两部分。以下为具体所需配置要求:


一、硬件配置:


1. 高性能处理器:挖以太坊需要大量计算能力,因此需要一个强大的中央处理器。推荐使用多核高性能CPU。


2.高性能显卡:对于挖以太坊来说,GPU比CPU更有效率。具备更多流处理器和较高显存的显卡更适合挖矿。


3. 大容量存储设备:由于挖矿过程中需要存储大量数据,因此需要一个容量较大的硬盘,固态硬盘或大容量机械硬盘均可。


4. 充足内存:为保证挖矿程序的稳定运行,需要足够的内存支持。


5. 稳定电源:挖矿需要稳定的电力供应,确保硬件在长时间运行中的稳定性。


二、软件配置:


1. 以太坊挖矿软件:选择适合你的硬件设备和操作系统的挖矿软件。


2.操作系统:推荐使用稳定且支持挖矿软件的操作系统,如Windows、Linux等。


3. 钱包:挖到的以太币需要有一个安全的钱包进行存储,可以选择在线或硬件钱包。


三、详细解释:


挖以太坊主要依赖于计算机的计算能力。因此,高性能的CPU和GPU是必不可少的。同时,挖矿过程中会产生大量数据,需要大容量的存储设备来保存这些数据。稳定的电源供应也是确保硬件长时间稳定运行的关键。在软件方面,选择合适的挖矿软件和操作系统可以大大提高挖矿效率。最后,挖到的以太币需要安全存储,因此选择一个可靠的钱包非常重要。


总的来说,挖以太坊需要一定的硬件和软件配置。确保配置满足要求,可以更有效地进行挖矿并保障资产安全。

8. 浠ュお鍧婃寲鐭块渶瑕佸摢浜涚‖浠惰惧


浠ュお鍧婃寲鐭块渶瑕佸摢浜涚‖浠惰惧囷紵
浠ュお鍧婃寲鐭块渶瑕佸摢浜涚‖浠惰惧囷紵
闅忕潃鍔犲瘑璐у竵甯傚満鐨勪笉鏂鍙戝睍锛岃秺鏉ヨ秺澶氱殑浜哄紑濮嬪叧娉ㄦ寲鐭胯繖涓琛屼笟銆傚叾涓浠ュお鍧婁綔涓轰竴绉嶈骞挎硾搴旂敤鐨勫姞瀵嗚揣甯侊紝瓒婃潵瓒婂氱殑浜哄紑濮嬪逛互澶鍧婃寲鐭挎劅鍒板叴瓒c備絾鏄锛屽湪杩涜屼互澶鍧婃寲鐭夸箣鍓嶏紝浣犻渶瑕佷簡瑙f湁鍏虫よ屼笟鎵闇鐨勭‖浠惰惧囥傚洜姝わ紝鍦ㄦ湰鏂囦腑锛屾垜浠灏嗘帰璁ㄨ繘琛屼互澶鍧婃寲鐭挎墍闇鐨勭‖浠惰惧囥
1.鏄惧崱
鏄惧崱鏄杩涜屼互澶鍧婃寲鐭挎墍闇鐨勬渶閲嶈佺殑纭浠朵箣涓銆傚綋娑夊強鍒颁互澶鍧婃寲鐭挎椂锛孨VIDIA鏄惧崱鍜孉MD鏄惧崱鏄涓や釜涓昏侀夋嫨銆侼VIDIA鏄惧崱閫氬父琚璁や负鏄鏈寮哄ぇ鐨勬樉鍗★紝浣嗗畠浠鐨勪环鏍间篃杈冮珮銆侫MD鏄惧崱鐨勪环鏍肩浉瀵硅緝浣庯紝浣嗗畠浠鐨勮兘婧愭晥鐜囦笉濡侼VIDIA鏄惧崱銆
2.澶勭悊鍣
澶勭悊鍣ㄤ篃鏄杩涜屼互澶鍧婃寲鐭挎墍闇鐨勫彟涓涓涓昏佺‖浠朵箣涓銆傚湪閫夋嫨澶勭悊鍣ㄦ椂锛屾偍闇瑕侀夋嫨鑳藉熷勭悊澶ч噺鏁版嵁鐨凜PU銆侷nteli3锛宨5鍜宨7澶勭悊鍣ㄩ氬父琚璁や负鏄杩涜屼互澶鍧婃寲鐭跨殑鏈浣抽夋嫨銆傚悓鏃讹紝澶勭悊鍣ㄧ殑涓婚戜篃鏄鎸栫熆閫熷害鐨勪竴涓閲嶈佸洜绱犮備竴鑸鏉ヨ达紝涓婚戣秺楂橈紝鎸栫熆閫熷害涔熻秺蹇銆
3.鍐呭瓨
鍐呭瓨涔熸槸杩涜屼互澶鍧婃寲鐭挎墍闇鐨勫繀瑕佺‖浠朵箣涓銆傚綋閫夋嫨鍐呭瓨鏃讹紝鎮ㄩ渶瑕侀夋嫨鍏锋湁鏇撮珮甯﹀界殑妯″潡銆備竴鑸鏉ヨ达紝鎮ㄥ彲浠ラ夋嫨8GB鎴16GB鐨勯珮閫烡DR4鍐呭瓨銆
4.鍔熺巼渚涘簲鍣
鍔熺巼渚涘簲鍣ㄦ槸杩涜屼互澶鍧婃寲鐭挎墍闇鐨勯噸瑕佺粍浠躲傚湪閫夋嫨鐢垫簮鏃讹紝鎮ㄩ渶瑕佽冭檻姣忎釜鏄惧崱鐨勫姛鐜囬渶姹傦紝骞剁‘淇濇偍閫夋嫨鐨勭數婧愯兘澶熸弧瓒虫墍鏈夋樉鍗$殑闇姹傘傚悓鏃讹紝鎮ㄨ繕闇瑕佽冭檻鐢垫簮鍔熺巼鐨勬晥鐜囷紝鍥犱负鐢垫簮鍔熺巼鏁堢巼瓒婇珮锛屾偍鐨勮兘婧愭垚鏈涔熷氨瓒婁綆銆
5.纭鐩
纭鐩樻槸杩涜屼互澶鍧婃寲鐭挎墍闇鐨勫彟涓涓閲嶈佺‖浠躲傚湪閫夋嫨纭鐩樻椂锛屾偍闇瑕侀夋嫨鍏锋湁杈冨ぇ瀛樺偍瀹归噺鐨勭‖鐩橈紝鍥犱负鎸栫熆鎵闇鐨勬暟鎹閲忛潪甯稿ぇ銆傞氬父锛屾偍鍙浠ラ夋嫨鍑犱釜TB鐨勭‖鐩樸
浠ヤ笂鏄杩涜屼互澶鍧婃寲鐭挎墍闇鐨勫熀鏈纭浠惰惧囷紝鎮ㄥ彲浠ユ牴鎹鑷宸辩殑闇姹傚拰棰勭畻杩涜屽畾鍒跺寲閫夋嫨銆傛渶鍚庨渶瑕佸己璋冪殑鏄锛岃櫧鐒剁‖浠惰惧囧规寲鐭块熷害鍜屾晥鐜囨湁寰堝ぇ褰卞搷锛屼絾鏄鎸栫熆杩囩▼涓鐨勮蒋浠惰剧疆鍜岀綉缁滆繛鎺ヤ篃鏄褰卞搷鎸栫熆缁撴灉鐨勯噸瑕佸洜绱犮傚洜姝わ紝鍦ㄨ繘琛屼互澶鍧婃寲鐭夸箣鍓嶏紝鎮ㄨ繕闇瑕佷簡瑙f湁鍏宠蒋浠跺拰缃戠粶璁剧疆鐨勭浉鍏崇煡璇嗐

9. 比特币、以太坊、柚子三者的关系

【一个关键词,讲解背后故事】

爱我就要抱抱我,爱我就要亲亲我,爱我就要奶奶我。好吧。那我就今天奶一下EOS。

说起区块链,大多数的人,就会想起比特币、以太坊、EOS……其实这三个币种也是有着一丝联系,有了比特币,才有了以太坊。有了以太坊,才有了EOS(柚子),有了柚子才会有机会各种DAPP甚至商业级的DAPP从中产生。

由于更多的人对比特币产生了共识,转账的数量越来做多,而区块链约10分钟确认一次转账,这一个区块的大小容量只能容下4000多笔交易,而且还是根据转账的金额大小先后确认,转账金额比较小的,在比特币交易拥堵的时候,甚至要好几天才可以转账成功!

V神发现比特币的一些缺点也为此众筹产生了以太坊,任何想要在区块链建立项目币种或者DAPP都可以在以太坊上面进行开发,现在以太坊的交易速度是每秒几十笔交易,再加上一些应用在以太坊上面开发,为此。很难产生爆款DAPP。

之后就有了现在的EOS,EOS的愿景是能够成为区块链的底层架构,支持百万级转账速度,任何想要在区块链上面开发应用的难度大大降低…………

其实现在EOS的转账速度是每秒几千笔交易,如果每个节点的计算机是超级计算机,每秒百万级的转账速度还是完全有可能的。那么大量的项目再EOS上开发应用的时候,也是非常有可能有爆款的DAPP从中产生,很可能就是说,以后,你是通过EOS了解到的区块链,不是比特币、以太坊。

所以,想要在柚子上开发应用,就要压上一定的EOS,兑换RAM,RAM是EOS世界里的通证,也是EOS里网络里的内存。其实在大量用户开发应用的时候,EOS也会随之增长,以后RAM的价格可能也会增长。

但是前期价格过高,就不会有用户在上面开发应用,只有更多的人对柚子产生共识,柚子才会有更大的价值。

所以,我们需要等候。等候大量的应用落地开花,等候爆款DAPP从中产生,好像也只有EOS才能支撑爆款DAPP。

阅读全文

与以太坊下载多少内存相关的资料

热点内容
投资什么虚拟货币 浏览:463
以太坊下载多少内存 浏览:417
网络虚拟货币哪个好 浏览:565
比特币海外媒体专员 浏览:910
四川电厂比特币 浏览:787
以太坊账号接收到代币 浏览:796
EKO是什么数字货币 浏览:998
数字货币交易到账时间 浏览:818
以太坊挖的币怎么卖出去 浏览:611
陀螺币和比特币 浏览:984
铭瑄b85btc可以超频吗 浏览:8
以泰达币购买以太坊 浏览:964
以太坊有多少个第三方 浏览:681
数字货币丢币转移 浏览:343
全球五十大数字货币交易所排名 浏览:81
比特币交易屏蔽 浏览:188
虚拟货币搬砖都到哪些网站去 浏览:542
恐龙有钱算力什么时候回收 浏览:915
去哪里购买btc 浏览:704
16年btc减半行情 浏览:51