TUR:不用分片也能扩展 10 倍性能?简单了解以太坊 Turbo-Geth 客户端_CROS Token

Turbo-Geth作为一个纯粹出于好奇心的项目,始于2017年。一开始是为了探究基于trie的数据库模式的替代方案。在2018年3月,Turbo-Geth项目从以太坊基金会处获得了一笔小额的奖金。在2019年第一第二季度,Turbo-Geth被用作状态租金研究的状态分析平台。到了2019年第三第四季度,Turbo-Geth也被用于执行无状态以太坊的回溯检验。在Devcon5举办以前,我认为它在概念上已经很可靠了。

在Devcon5上,我提议在一年内不再接受EIP,好把所有的实现都转成类似的数据模式。但因为大家有所怀疑,而且「核心开发者」团体也没有这个积极性,我的提议没有被采纳。

外交部回应美议员敦促运动员在北京冬奥会上不用中国新数字货币:无知:7月20日消息,在2021年7月20日外交部发言人赵立坚主持例行记者会上,路透社记者提问三名美国共和党参议员敦促美奥组委禁止美方运动员在参加2022年北京冬奥会期间使用中国的新数字货币。中方对此有何评论?赵立坚回答,美方有关政客的行径只会反映出他们的无知。建议他们去搞搞清楚什么是数字货币。至于说间谍活动和数字安全威胁,美国才是公认的全球“桂冠”。美方通过网络窃密、电话监听等各种手段,不仅监听监视竞争对手,连自身盟友也不放过。这些事实世人皆知。数字货币是数字技术发展的必然产物,顺应了当前全球数字经济发展的历史潮流。中国法律也对保障数据安全作出了明确规定。美方政客应该尊重奥林匹克宪章精神,停止将体育运动化的做法,不要拿中国新数字货币说事儿。[2021/7/20 1:05:29]

怀疑意见主要围绕着高效计算和更新状态根哈希的方法。在2020年3月的EthCC2020大会上,我们提出了解决方案:额外的数据结构,叫做「中间哈希值」。接下来几个月里我们就完全实现了这个方案。

动态 | 广东省税务局:利用区块链等技术 全面升级为“一次不用跑”:近日,广东省税务局正式发布公告,在全省范围内实行办税费“一次不用跑”,并发布涉及的100项办税费事项清单。在“一次不用跑”试点过程中,广东省税务局鼓励各地税务部门在“电子办税为主、自助办税为辅、实体办税兜底”的智慧办税格局下,探索智能办税新路径,开展个性化服务创新,将“最多跑一次”事项清单与“全流程无纸化”“互联网+”“云计算”“区块链”“人工智能”等紧密融合,全面升级为“一次不用跑”。(央广网)[2020/2/6]

阶段式同步的想法来自于对按表写入变更量的测量值的观察。对数据变更的解决的方案是在一个预先排序号的序列中插入数据。我们在2019年末仔细观察了这些现象,但我们的第一个实验性的实现在2020年2月才表现出有重大的性能优势。

声音 | 陈伟星:不用在战略上担心政府打压区块链:今日,陈伟星发微博对区块链所出现的欺诈行为表达了自己的观点。他认为,金融的核心在于制定估值模型,不是喊单、拉盘。但喊单行为是所有二级权益市场的通病,并不局限于币圈。任何投机市场都有欺诈性投资、等犯罪问题的出现,区块链也不例外。此外他表示:“我们中国是唯物主义政党,也是布尔什维克主义政党,也是热衷于与“邪恶”斗争的政党,只会“过度”尊重科学、“过度”追求人民福利,所以不用在战略上担心政府打压区块链,需要担心的是子混淆视听,让政府错杀无辜。”[2019/1/4]

阶段式同步在架构层面上是一个非常重大的改变,我们在2020年3月至7月实现了这一功能。正是有了它,我们才能大幅压缩同步时间。

V神:现在不用对与其价值观有悖的事情妥协:V神今晚在王峰十问上表示:“对我个人来说,财富增加对我的生活没有太多变化,只是我不需要为了花费两美元乘巴士这些琐事担心。现在不用把时间浪费在赚钱上,而是可以专注于创造我认为有价值的东西。而且,对于那些和我价值观有悖的事情,我也用不着妥协。”[2018/6/22]

在2020年8月,我们又发现了将状态表示数据从50GB缩减到10GB的方法。

在2020年9月,「中间哈希值」功能的粒度做得更细,将计算状态根哈希的速度提升了4倍,同时将其数据规模从7GB减小到了2.5GB.

当前我们正在开发合适的日志索引

那么,这一切到底意味着什么呢?

其实,这都不意味着什么,因为当前的实现还没有到达效率的极限。

还有几个「未解之谜」:

对久远历史中的状态的默克尔证明还无法高效生成

一些共识计算无法与阶段性同步协调工作,理想情况下,应该共同设计两者

Silkworm

创建一个符合Apache2.0协议、用C++实现的模块化以太坊实现的想法,始于2019年初,因为那时我们看到「Aleth」项目基本上已经被放弃了。

但那并不是一个好时机。

到了2020年5月~6月,时机终于到来。出现了4大转机:

我们从BoltDB切换成了LMDB,这就能保证Turbo-Geth和Silkworm之间的数据库兼容性。

阶段式同步模式_自然而然地_将实现分解成了相对独立的组件,这些组件基本上都通过数据库中的记录来交互。这就意味着,我们可以逐个逐个组件创建C++实现。

更早的EVM实验暴露出了使用跨语言接口的巨大开销,而EVMC的双重接口又加剧了这一点。

我们觉得已经有了足够的经验,能在一个可预期的时间内、靠着一些专家的帮助,就能完成这一切了。

未来

启动Silkworm项目也打开了我们的思路,比如我们可以把实现逐个逐个地迁移到其它编程语言上。

我相信,以太坊1.0即使不引入分片,也能扩展至少10倍的吞吐量。我们主要面临三个方面的挑战:

区块的Gas上限更高会更容易招致DOS攻击。Turbe-geth的安全极限可能是其它实现的10倍高;而Silkworm可能会更高。

更高的Gas上限会产生更大的区块。这就会反过来产生两个问题:

区块传输问题。这可以通过预先共识来处理

区块下载和存储问题。可以通过使用专门化的存储网络比如BitTorrent来解决。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-7:849ms