品品科技 | 通向以太坊2.0:读懂「无状态验证机制」,火星独家
文章图片
免责声明:本文旨在传递更多市场信息 , 不构成任何投资建议 。 文章仅代表作者观点 , 不代表火星财经官方立场 。
小编:记得关注哦
来源:火星独家
文章图片
编译|Bite@火星财经App
以太坊2.0最广为人知的变化是Staking和分片 , 这些变化都是从以太坊中获得灵感 。
当以太坊在2015年推出时 , 它引入了“通用”区块链的概念 , 任何人可以在网络上构建与ETH和各种代币互动的应用程序 。 这些应用为去中心化金融(DeFi)打开了成熟大门 , 并发展到持有超过10亿美元抵押资产的金融产品 。
以太坊2.0距离全面启动仍需要2–3年的时间 , 并且Eth2.0将被部署为由信标链(BeaconChain)与多条分片链(ShardChains)构成的独立区块链 , 而Eth1.0需要经过改动与升级方能成为Eth2.0中的其中一条分片链 。 这意味着现在运行的以太坊1.0区块链需要进行改动 , 并且在未来的5~10年保持运作 , 持续发展 。 而Eth1.x即为以太坊1.0升级版本的代称 。 Eth1.x的首要目标旨在解决现在区块链日益增长的资料负担 。
当人们谈论以太坊及其状态规模时 , 你可能听说过“状态膨胀”(statebloat) 。 这是指支付一次GAS费会让你的数据在以太坊区块链上永久保存 , 从而导致一个无限的、不断增长的状态 , 其中甚至有很多无用数据 。 状态在存储空间上膨胀 , 这意味着随着网络的使用 , 以太坊节点需要更多的存储或更高性能的硬件 。 从长远来看 , 这增加了以太坊节点运行的门槛 , 并且每当区块GAS限制增加时 , 状态增长就成为一个更大的问题 。
【品品科技 | 通向以太坊2.0:读懂「无状态验证机制」,火星独家】无状态性
无状态客户端的概念是最先由Vitalik在探索Sharding(分片)的情况下提出来的 , 但之后在围绕Eth1.X的讨论中也被探讨 。 起初这种方式被认为太过复杂 , 但随着Trinitybeansync方式展现了semi-statelessness(半无状态性)对于轻客户端的可行性 , 无状态客户端的概念获得了很多支持 。
什么是“状态”?
要解释无状态以太坊 , 我们首先需要理解“状态”(state)的概念 。 当我们提到“状态”时 , 一般是指“事务的状态” 。
以太坊的完整“状态”描述了所有账户和余额的当前状态 , 以及在EVM中部署和运行的所有智能合约的集体历史 。 链上每个最终确定的区块 , 都有且只有一个状态 , 这是由网络中的所有参与者共同确认的 。 每当有新的区块被添加到链上 , 状态都会随之改变且更新 。
我们来看一下以太坊客户端软件中一般的交易过程:
文章图片
在区块中执行交易需要交易数据(蓝色矩形所示) , 及当前状态(黄色矩形所示);执行结束后 , 原本的当前状态变为历史状态 , 同时产生新的当前状态 。 处理交易可能还需要一些别的数据(如区块时间戳 , 或是前个区块哈希值) , 但我们先忽略这些大小固定且无关紧要的部分 。 执行交易还会产生明细(receipt)(绿色部分) , 但在讨论无状态客户端时也可暂时忽略 。
无状态客户端的核心思想是:在区块中执行交易过程时 , 不访问整个状态 。
Eth1.X扩容难题
Eth1.x研究的重点是将当前的以太坊链转移到“无状态客户端”(Stateless以太坊) , 最终目标是顺利过渡成为Eth2.0中的一个执行环境(ExecutiveEnvironment) 。
以太坊已经发布了近5年的时间 , 惊人增长的背后也让业界注意到了它的瓶颈是什么 , 随着越来越难运行全节点 , 以太坊网络可能会变得越来越中心化;随着网络延迟的增加 , 它的速度可能会越来越慢;随着“状态膨胀”的出现 , 区块验证可能变得越发困难 。 最终 , 随着交易吞吐量达到上限 , 且客户端改进越来越难以实现 , 终端用户与核心开发者都将非常受挫 。
- 琴雨聊科技|严屹宽自己理发,杜若溪穿睡衣素颜出镜,2岁女儿扎小辫太可爱
- 晨日科技捷报!晨日科技成功通过TATF16949质量管理体系认证
- 灵浮网络科技拼多多商家想快速提升自然流量,,怎么做?
- 这是个大科技号iPhone 12专用:紫米20W充电套装,不伤电池性价比高
- 科技圈 搭建全新 SIM 卡开放生态,中国移动产品创新开放合作论坛
- 科技有意思 mini火了,安卓厂商会推出小屏手机吗?,如果iPhone12
- 科技有意思 但iPhone12mini才是手机该有的样子,虽然不喜欢苹果
- 影客网络科技 大尺寸二维单晶材料在铜基底上的可控成长
- 科技数码迷 6S系列被放弃,苹果正在准备iOS15,一代神机iPhone
- 小城科技说 不是在回你消息,背后的原因个个扎心,微信显示“对方正在输入”