TORQUEM

Your Blockchain & Crypto Wizards

Creators of Erigon and Silkworm

Turbo-Geth is changing name to Erigon

Alexey Akhunov, May 17, 2021

When the turbo-geth project started as a hobby project at the end of 2017, I did not give much thought to the name. I have been profiling go-ethereum (geth) and thought I could make it a bit faster given my initial findings. I believe the name "turbo-geth" might have been casually suggested by someone in a slack channel I was hanging around in. It might have been Kevin Monahan, but my memory is vague. Back then, I could not imagine that 3,5 years later, it would still be going.

As usual, I massively miscalculated lots of things. I overestimated my own capacity to do what I wanted to do quickly enough. I underestimated the effort required to "unbreak" all the things that were broken in the name of improvements. I underestimated the importance of building a team. I overestimated how quickly the team could become productive.

For these 3,5 years, I poured a lot of my energy and enthusiasm into this project. There were many occasions where I was close to giving up. But I was lucky enough to have found support from my team (it started to grow since 2019), and some other people.

Why the new name?

Although turbo-geth still shares a lot of code with its parent, go-ethereum, this similarity diminishes rapidly. We are getting closer to the point where turbo-geth needs to be looked at as a completely different product, and not simply a derivative of go-ethereum. A further sign of this is the emergence in 2020 of a sister project, Silkworm, which is a clean-room rewrite of Turbo-Geth in C++, and more recently, another sister project, Akula, which is a rewrite in Rust. The whole family of implementations will share the component architecture, as well as provide binary database compatibility. It means, on one hand, that any components from Turbo-Geth, Silkworm or Akula, will be able to seamlessly inter-operate. On the other hand, the database files created by one would be usable by another. Another important development in this area is the project SilkRPC, which is a re-implementation of JSON-RPC for Turbo-Geth in C++. SilkRPC is developed by a team which is independently funded and managed from Turbo-Geth and its sister projects. We expect more of such projects to appear in the near future.

Given that Turbo-Geth is now a very different product from go-ethereum, it does make sense to give it a fresh name, to gradually reduce confusion (a lot of people still think that turbo-geth is a minor tweak on top of go-ethereum). New name is also simpler and more distinct.

What is Erigon?

As far as we know, Erigon is the name of a river in North Macedonia. In the now extinct Thracian language, it means "black river". And in Macedonian, which belongs to the group of Slavic languages, it is "Crna Reka" (romainsed).

How will renaming happen and what is next?

This announcement will be followed by renaming of the github repo, and other things, but we are in no particular rush. In the near future, we will also announce the name for the technology specification that Erigon, Silkworm, Akula, SilkRPC (another hopefully others) will follow. The goal of creating such a specification is to summarise the knowledge gained over the last 3,5 years, in a form that can be implemented in other blockchain/distributed ledger systems.

Ethereum in Browser

Andrew Ashikhmin, February 11, 2021

We have compiled Silkworm, a greenfield implementation of the Ethereum protocol in C++ 17, to WebAssembly. Ethereum in your browser is not Sci-Fi any longer 😉 (modulo the state, of course). As proof of concept, now it is possible to run all Consensus Tests successfully in a browser:

Ethereum Tests in Browser

(Firefox is recommended)

First Public Alpha of Turbo-Geth

Alexey Akhunov, July 30, 2020

Happy 5th anniversary to Ethereum mainnet! 🎉 We have prepared a present. Today we are publishing the first public alpha version of

Turbo-Geth

Turbo-Geth is a fork of Go Ethereum with focus on performance. The best places to start leaning is the README file in the repo, and then updated version of https://ledgerwatch.github.io/turbo_geth_release.html.

Yellow Paper updated to Petersburg (a.k.a. Constantinople Fix)

Andrew Ashikhmin, May 11, 2020

The Yellow Paper, despite its shortcomings, is still arguably the best formal specification of Ethereum. Unfortunately, its official version hasn't been updated since the Byzantium hard fork. After that two subsequent forks have been released: Petersburg and Istanbul. For now, we've updated the Yellow Paper to the Petersburg (a.k.a. Constantinople Fix) hard fork:

Yellow Paper Petersburg Version

The new version contains additions like the CREATE2 operation. We've also raised a PR to merge our updates into the official repository.