⑴ 濡備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔
鍦ㄧ綉缁滄瘮杈冩嫢鍫电殑鏃跺欙紝涓绗斾氦鏄撳氨浼氭湁鍙鑳借鍗″湪浠ュお鍧婄殑鏈鍐充簨鍔℃睜涓銆傞栧厛鐭垮伐瑕佽冭檻Gas璐归珮鐨勪氦鏄擄紝濡傛灉浣犵殑Gas璐规湁鐐逛綆鐨勮瘽锛屽彲鑳藉氨瑕佹帓闃熴備絾鏄鍙栨秷鍗′綇鐨勪氦鏄撳苟涓嶉毦鐨勩傚彧瑕佷綘鎰挎剰锛屽氨鑳藉熼噸鏂伴夋嫨涓涓鏇撮珮鐨凣as璐规潵瀹屾垚鍘熷厛鐨勪氦鏄撱備笅鍒楁槸鍏蜂綋杩囩▼锛
1.棣栧厛瑕佸艰埅鍒颁互澶鍧婃祻瑙堝櫒etherscan.io銆
2.鐒跺悗灏辫佹妸浣犵殑浜ゆ槗鍝堝笇鍊肩矘璐村埌浠ュお鍧婃祻瑙堝櫒鐨勬悳绱㈡爮銆
3.鎺ヤ笅鏉ヨ繘鍏ュ湪浜ゆ槗椤甸潰涓鐐瑰嚮鈥滅偣鍑绘煡鐪嬫洿澶氣濇寜閽銆
4.鐒跺悗灏变細鍑虹幇nonce锛堥殢鏈烘暟锛夛紝闇瑕佹妸杩欎釜鍙风爜璁颁笅鏉ャ
5.鎺ヤ笅鏉ュ氨瑕佸湪浣犵殑閽卞寘閲屽噯澶囦竴绗旀柊鐨勪氦鏄撱
6.鐒跺悗杩涘叆閽卞寘锛岀偣鍑烩滈珮绾р濋夐」锛岃緭鍏ュ拰浣犵殑鍗′綇鐨勪氦鏄撳搱甯屽肩浉鍚岀殑nonce(闇瑕佹敞鎰忕殑鏄:浣犲湪閽卞寘璁剧疆涓鍙浠ヨ佹縺娲昏嚜瀹氫箟nonce鍔熻兘)銆
7.鍙戦佹柊鐨勪氦鏄擄紝鐒跺悗鐐瑰嚮鈥滃揩閫熲滸as璐广
8.鍙瑕佺‘璁や簡锛岄偅涔堜氦鏄撳氨浼氳琚瑙i櫎鏉ユ簮锛氬尯鍧楀嵃璞
鎴戜滑閫氳繃浠ヤ笂鍏充簬濡備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔堝唴瀹逛粙缁嶅悗,鐩镐俊澶у朵細瀵瑰備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔堟湁涓瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
⑵ 以太坊的gas费被谁赚了
gas主要是被消耗了,收益比较少。
Gas费的组成主要有以下几个要素:GasFeeCap、GasPremium、GasLimit、GasUsed、BaseFee。
GasLimit是消耗资源的最大限制,GasFeeCap是用户所能支付给矿工的最大单价限额。在Filecoin链上,在打包前要检查账户是否有足够的余额,不然交易不会被打包。所以GasLimit和GasFeeCap可以得到用户的最高能支付的费用,是用户自主设置的。但要注意的是,GasLimit不要随意设置,多余的GasLimit会被燃烧一部分,这是和ETHGas费机制最大的不同点。
BaseFee相当于一个基础价位,同样用汽车燃料费来看,可以理解为政府根据整个市场的交易情况设置了一个油价,这个价位会浮动,因此这里起到的类似于一个宏观调控的作用。同样也可以比喻为出租车的起步价,如果用户不愿意支付起步价,司机就不愿意载人,因此如果用户想要乘车就必须接受起步价,而这个起步价在FilecoinGas费中就是BaseFee。当然在Filecoin中这个起步价是动态的,当总GasLimit超过某个区块(网络拥塞信号)的GasLimit目标时,它将增加;低于GasLimit目标时将降低。换句话说,在区块拥堵或者区块交易不够的情况下,BaseFee都会按照12.5%进行相应的调节。
GasPremium在这个机制里被描述为小费,即在网络拥堵的情况下支付给矿工的小费,这个也意味着矿工有优先选择权。如果你支付了GasPremium,矿工就会优先打包你区块的数据。最终给到矿工的酬劳是小费(GasPremium)*最大消耗量(GasLimit)
⑶ 浠ュお鍧婃嫢鍫垫庝箞鏍疯В
浠ュお鍧婃嫢鍫垫庝箞瑙e喅
浠ュお鍧婄綉缁滄嫢鍫垫槸鎸囧湪鍖哄潡閾剧綉缁滀笂浜ゆ槗閲忚繃澶э紝瀵艰嚧浜ゆ槗璐圭敤鎬ュ墽涓婃定銆佷氦鏄撻熷害鍙樻參銆佷氦鏄撹鍗′綇绛夌幇璞°傝В鍐充互澶鍧婄綉缁滄嫢鍫电殑鏂规硶鏈変互涓嬪嚑绉嶏細
澧炲姞鐭垮伐璐圭敤
鍦ㄤ互澶鍧婄綉缁滄嫢鍫垫椂锛岀敱浜庡尯鍧楅摼鐨勮繍琛屾満鍒讹紝鐭垮伐闇瑕佷负姣忎釜浜ゆ槗璁$畻鍜岄獙璇侊紝鐒跺悗鎵撳寘鍒板尯鍧椾腑銆傚洜姝わ紝涓轰簡鍚稿紩鏇村氱熆宸ュ勭悊浜ゆ槗锛岀敤鎴峰彲浠ュ炲姞鐭垮伐璐圭敤锛岃繖鏍蜂氦鏄撳氨鑳芥洿蹇鍦板緱鍒板勭悊銆備絾鏄锛岄殢鐫浜ゆ槗璐圭敤鐨勪笉鏂澧炲姞锛岀敤鎴峰彲鑳介渶瑕佹敮浠樻洿楂樼殑璐圭敤鎵嶈兘浣夸氦鏄撳緱鍒伴獙璇佸拰澶勭悊銆
浣跨敤Layer2鏂规
Layer2鏂规堟槸浠ュお鍧婄綉缁滀笂鐨勮В鍐虫柟妗堜箣涓锛岄氳繃灏嗕竴浜涗氦鏄撲粠浠ュお鍧婁富缃戠Щ鑷冲彟涓涓骞宠岀殑缃戠粶锛屾潵鍑忚交浠ュお鍧婁富缃戠殑璐熻浇銆傝繖浜涘钩琛岀綉缁滐紝渚嬪俁ollup鍜孭lasma锛屽厑璁稿湪鏈鍦板勭悊澶ч噺浜ゆ槗锛岀劧鍚庡湪闇瑕佹椂灏嗗畠浠鐨勬眹鎬绘暟鎹鎻愪氦鍒颁富缃戙傝繖绉嶆柟妗堝彲浠ユ樉钁楁彁楂樹互澶鍧婄綉缁滅殑鍚炲悙閲忓拰浜ゆ槗閫熷害锛屼粠鑰屽噺灏戞嫢鍫甸棶棰樸
绛夊緟闈為珮宄版椂娈
鐢变簬浠ュお鍧婄綉缁滅殑浜ゆ槗閲忔尝鍔ㄨ緝澶э紝鐢ㄦ埛鍙浠ラ夋嫨鍦ㄩ潪楂樺嘲鏃舵佃繘琛屼氦鏄擄紝渚嬪傚湪娣卞滄垨鍛ㄦ湯銆傝繖鏍峰彲浠ラ伩鍏嶄笌鍏朵粬鐢ㄦ埛绔炰簤锛屼粠鑰屼娇浜ゆ槗璐圭敤鍜岄熷害閮藉緱鍒版敼鍠勩
浼樺寲浜ゆ槗绛栫暐
鐢ㄦ埛鍙浠ヤ紭鍖栦氦鏄撶瓥鐣ワ紝渚嬪傞檷浣庣噧姘斾环鏍笺佷娇鐢ㄤ笉鍚岀殑浜ゆ槗鏂瑰紡鎴栫瓑寰呭悎閫傜殑鏃舵満鎻愪氦浜ゆ槗绛夈傝繖浜涗紭鍖栫瓥鐣ュ彲浠ュ湪鎷ュ牭鏈熼棿闄嶄綆浜ゆ槗鎴愭湰锛屽苟灏藉彲鑳藉湴鍔犲揩浜ゆ槗閫熷害銆
缁间笂鎵杩帮紝浠ュお鍧婃嫢鍫电殑瑙e喅鏂规硶鍖呮嫭澧炲姞鐭垮伐璐圭敤銆佷娇鐢↙ayer2鏂规堛侀夋嫨闈為珮宄版椂娈佃繘琛屼氦鏄撳拰浼樺寲浜ゆ槗绛栫暐銆備絾鏄锛岃繖浜涙柟娉曞苟涓嶈兘瀹屽叏瑙e喅鎷ュ牭闂棰橈紝鍙鑳藉湪涓瀹氱▼搴︿笂缂撹В缃戠粶璐熻浇銆
⑷ 以太伦敦升级后,AITD靠什么完成逆袭
众所周知,由于目前以太坊是全球第一大超级公链,各种区块链应用,特别是defi应用基本都是基于以太坊公链开发的,导致以太坊网络拥堵不堪,如果把以太坊比做一条高速公路的话,那么搭载期间的各种defi应用就是行驶在其中的 汽车 ,随着驶入以太这条高速公路的 汽车 越来越多,必然导致交通拥堵,以及油耗的攀升和通过的时间变得更长,这就相当于在以太上完成一笔交易所花的时间拉长了和矿工费和gas费升高了!
为了解决这一难题,以太坊技术开发人员也是不断进行系统升级,这不,最近备受瞩目的以太坊伦敦升级完成,伦敦升级涉及众多提案,其中最令人关注的是EIP-1559。该提案引入销毁机制,让链上费用更合理,同时也一定程度缓解了以太坊的通胀,截至8月6日20:33,已经有4696ETH被销毁,销毁速度大约是3.26ETH/分钟。按照当前速度,预计每年将有170万ETH被销毁,价值约为47亿美元。
那么这次升级后,真的就能彻底解决以太坊网络的拥堵和高昂的交易手续费和gas费了嘛?我们以大家所熟悉的方式做个比方,就好比打开一个网络的速度,最主要依靠的就是数据交换(tps)的速度,而tps取决于三个方面,一个是端口的传播速度,一个是接口的接收速度,另外一个就是传输中介的速度;目前造成以太坊网络拥堵的主要原因是其自身的数据拥堵造成的,也就是其端口的数据拥堵,如果把以太坊比做一个数据池子的话,而其中的水已近处于满载状态,而伦敦升级好比给这个池子开了个小口,放水!能否让水位下降取决于进水量与出水量的正负差,而这个就很好理解,一个是以太坊自身的交易量数据,另外就是搭载期间的defi项目的交易量数据;在引入EIP1559之后,用户在链上发生交互产生的费用有两部分,一部分是基础费(需要销毁),另一部分是付给矿工的小费(不销毁)。基础费根据网络动态调整,一般不需用户调整。用户调整的是支付给矿工的小费。当网络越活越,用户支付的基础费越高,销毁的越多,导致一段时间内看起来是“通缩”的。但是长期来看,如果以太坊不转为POS机制,比起当前每年增发的400-600万ETH,现在的销毁量恐怕并不足以使ETH通缩。而已目前defi的火热程度,产生的数据量完全不亚于2018年底币圈牛市阶段,而越来越多的defi项目的落地生根,必将引发新一轮的网络拥堵。
虽然此次升级在一段时间内一定程度上改善了以太网的拥堵,以及引入通缩概念使得以太坊更具稀缺性,但是其想降低gas费和交易费的目标短期内并没有实现!那么,此次升级之后,众多的商用公链是否还有更大的市场空间去拓展其实并不取决于以太坊网络的升级,而是在公链竞争将进入白热化阶段,谁能带给世人更好更快更实用的体验,以及实实在在的利益共享机制,才是这些公链能否崛起的关键因素;区块链技术之所以得以快速发展,不断壮大的根本原因其实就是去中心化思潮的共鸣以及利益分配机制的公平公开和共建共享!
那么,在众多公链中,AITD到底依靠什么来完成逆袭?实现最初的梦想,改变未来全球资产通兑方式,让价值传递全球,让金融普惠万家!首先是互联网技术的后发优势,随着互联网技术的不断更新迭代,后发优势逐渐体现出来,就拿数据交换速度(TPS)来说,比特币的TPS只有7,以太坊可能稍微好一点,TPS大约在10-20,EOS可以将TPS做到100万,而AITD能将TPS做到每秒百兆级别;第二:目前AITD还属于发展初期,任何新的机会一定是参与的越早,其获得利益或者说未来的收益一定是越大的,就好比十年前参与比特币挖矿和现在参与比特币挖矿完全就不是一个量级了;现在参与AITD就相当于十年前参与比特币一个道理,由于其广阔的应用场景和技术实力的支撑,必将不断吸引优质的项目参与!第三,更多生态应用的搭建,使得AITD相较于其他公链而言,对广大的普通用户极其具有吸引力,AITD构建了丰富的社区交流体系和社区治理体系,不断完善共识家园丰富的文娱休闲文化基础设施,让AITD的每一个参与者都能随时随地了解AITD,参与AITD的建设,并且公正公平的享受AITD的发展成果!
所有伟大的梦想源于强大的实力所决定的,站在实力的角度出发,AITD完全具备从众多公链项目中脱颖而出的基础!
⑸ 以太坊区块链大小多少(以太坊区块高度是多少)
以太坊公链区块高度根据之前的消息,以太坊区块高度现在调整高度到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生态应用中的网络拥堵问题。