Dragan Rakita Profile Banner
Dragan Rakita Profile
Dragan Rakita

@rakitadragan

2,287
Followers
810
Following
9
Media
536
Statuses

core blockchain stuff and rust. revm author. working on reth @paradigm .

Joined June 2011
Don't wanna be here? Send us removal request.
@rakitadragan
Dragan Rakita
2 years
Why did foundry test got significantly faster? Lets talk about bytecode analysis in EVM.
2
32
175
@rakitadragan
Dragan Rakita
1 year
I have never imagined, that the project (REVM) that I have built, maintained and improved in my spare time is becoming very important in eth ecosystem and is used as the main component in big projects such as foundry, hardhat, helios and now reth. Thank you all!
10
1
137
@rakitadragan
Dragan Rakita
10 months
Parallel EVM claim, how to verify the claim of parallel execution. Wrote on this here:
6
28
119
@rakitadragan
Dragan Rakita
6 months
Landed today in Istanbul for @EFDevconnect find me if you want revm stickers (will be here for a week).
Tweet media one
9
1
82
@rakitadragan
Dragan Rakita
11 months
Reth v0.1.0-alpha got released and I am beyond happy that it happened, as the itch that I had for the last few years just got scratched 1/ 🧵
2
2
71
@rakitadragan
Dragan Rakita
7 months
revm v3.4.0`just got published 🎉 🧵
3
7
60
@rakitadragan
Dragan Rakita
2 years
Bending the truth to fit the narrative and arresting the developer as a result of that is a horror story. Just imagine doing the same to RSA and arresting Shamir as he co-developed private data transmition.
@bantg
banteg
2 years
Arrest of suspected developer of Tornado Cash - FIOD
65
184
660
1
6
53
@rakitadragan
Dragan Rakita
8 months
Did something, spoke about EVM code
@opensensepw
OpenSense ₿
8 months
Learn the EVM in 30 mins with @rakitadragan . He will start by discussing the inputs and database of the EVM, and then move on to the host and interpreter. He will explain how the interpreter/host works, hardforks, logs, opcodes, CREATE2 and much more!🥰
Tweet media one
3
21
102
4
9
56
@rakitadragan
Dragan Rakita
9 months
This is the future that we are building, the fast iteration of new ideas enabled by existing robust crates. "By building on RISC Zero’s zkVM and popular Rust crates (like revm, ethers, and alloy), we were able to write the first version of Zeth in under 4 weeks"
@RiscZero
RISC Zero 🟡
9 months
Introducing Zeth: A Fully Open Source Type 0 zkEVM 🚀 Built on the RISC Zero zkVM and Bonsai, Zeth is a performant, upgradable, and scalable way for developers to ZK prove any Ethereum block ushering in the next generation of ZK and EVM 🧵 1/8 Learn More Below!
36
445
950
2
5
50
@rakitadragan
Dragan Rakita
7 months
And right after revm v3.4.0📦 we are publishing v3.5.0 📦 with Alloy types transition. Unification of types is happening.
2
6
50
@rakitadragan
Dragan Rakita
7 months
It would be very interesting to check this, the next step would be to count the opcodes (and sets) to get more insights on appearances. Should be simple to do, made the task for people to take:
@gakonst
Georgios Konstantopoulos
7 months
here's some more ideas... a technique for optimizing the EVM that's been discussed before (I think I heard it first from @recmo , c.f. screen) is execution of multiple opcodes at once to do that you'd run a historical analysis of common opcode sequences and implement specialized…
Tweet media one
21
13
132
6
1
39
@rakitadragan
Dragan Rakita
8 months
👀 revm 955/1000 ⭐️
5
4
39
@rakitadragan
Dragan Rakita
2 years
EVM trivia time: State journaling in EVM, what is it and why do we need it? small 🧵
2
3
37
@rakitadragan
Dragan Rakita
7 months
1000⭐ 🔥🎉
@andreaslbigger
Andreas Bigger
7 months
8 stars away 👀
3
1
18
5
0
35
@rakitadragan
Dragan Rakita
8 months
Getting little bit closer to the cancun today, eip4844 got merged in revm
1
2
34
@rakitadragan
Dragan Rakita
2 years
In the EVM world, did you ever wonder what would happen with balance if you selfdestruct and set the target address to be the same contract you are destroying?
6
2
33
@rakitadragan
Dragan Rakita
6 months
Devconnect was a blast, met some amazing people!
3
0
33
@rakitadragan
Dragan Rakita
1 year
I am a simple man, I see good rust project I give it a star. 🦀
@NoahCitron
ncitron.eth
1 year
Introducing Magi 🟠, our brand new OP Stack rollup client written in Rust. We've been working on Magi to help improve the client diversity and resilience of the entire OP Stack ecosystem. Lets dive in. code: blog:
Tweet media one
85
388
1K
1
1
30
@rakitadragan
Dragan Rakita
2 years
zkp intro: Pedersen commitment, as any commitment allows you to *bind* yourself to the value but to allow that value to be *hidden* from others. Usually first step in zkp. You could do the same with hash, but Pedersen plays nicely with elliptic curves. 🧵
2
7
31
@rakitadragan
Dragan Rakita
8 months
In this release, a lot of work went in. Revm State was something I worked on for the last few months, it is a cleaner way to handle block transitions as there are a lot of moving parts there. So I am glad that it has already proved useful as it fixed a bug that popped up a few…
@gakonst
Georgios Konstantopoulos
8 months
🚨 New Reth Release: alpha.9! 🚨 We are FINALLY ready for Cancun! All EIPs implemented, Hive's mostly passing, next stop Devnet 9!! Also: reworked REVM state handling API, pruning improvements, fixes hopefully the last memory leaks, and initial groundwork for snapshots.
Tweet media one
9
38
193
0
2
29
@rakitadragan
Dragan Rakita
1 year
Powered by revm :D
@gakonst
Georgios Konstantopoulos
1 year
. @paradigm is building Reth, a Rust Ethereum Execution Layer. Reth is not a fork or a rewrite of any other client implementation. It is a new Apache/MIT-licensed full node implementation of Ethereum focused on contributor friendliness, modularity, and performance. 1/8
63
247
2K
1
0
29
@rakitadragan
Dragan Rakita
2 years
Recently checked evmone and v0.9.0 became 26% faster, around 34ms for snailtracer. So I wanted to catch up with revm, and implemented things that I missed previously, I am now getting around 40ms (with intx embedded it is around 37ms) which is around ~20% faster than the old revm
3
3
29
@rakitadragan
Dragan Rakita
10 months
Paris was a blast, always amazing to meet online people in person and just talk. And the reth team offsite, productive as always!
0
1
27
@rakitadragan
Dragan Rakita
8 months
We have officially introduced reth to all core dev call, @gakonst is awesome as always! Relly exciting times are ahead of us!
@gakonst
Georgios Konstantopoulos
8 months
gave a small introductory talk about Reth to All Core Devs this morning... excited for Cancun, Devnet 9 & Holesky and to collaborate with the broader community building on nodes!
4
20
133
1
3
28
@rakitadragan
Dragan Rakita
9 months
Did we just get followed by @transmissions11 so he can get 256 followings?
4
0
28
@rakitadragan
Dragan Rakita
1 year
I didn't brag before, but I was one of the recipients of the small EF grant that allowed me to work on revm v3.0.0. I am really glad that I can say that this was the first monetary support that I got for working on revm.
@EF_ESP
EF Ecosystem Support Program
1 year
@pumpedlunch , @rakitadragan , @richwarner , @r1oga , @sigp_io , @todaiweb3 , @uncloakcrypto , @vee3my , @WorkingUpEC , @WTFAcademy_ , @zkproof , and @__zkhack__ . We appreciate all of your efforts to help create a more vibrant, strong, and diverse Ethereum ecosystem 💖
1
0
13
3
0
27
@rakitadragan
Dragan Rakita
1 year
Powered by revm :D Just recently noticed it.
@NoahCitron
ncitron.eth
2 years
Today we're announcing Helios, a fast, portable, and secure Ethereum light client written in Rust. Helios syncs in two seconds, uses no storage, and provides trustless access to Ethereum. Code: Post: 1/8
158
512
2K
3
2
26
@rakitadragan
Dragan Rakita
1 year
revm v3.1.0 just got published. It is now Shanghai ready, gas block optimization was removed, one bug in cachedb was squashed, and there are a lot of small goodies that are added by the community, ty all.
3
0
23
@rakitadragan
Dragan Rakita
1 year
In general, research and engineering are kinda a lot different
3
0
24
@rakitadragan
Dragan Rakita
11 months
Representing the new batch of Ethereum Core Devs, I highly recommend following all of them!
@gakonst
Georgios Konstantopoulos
11 months
*None* of this would have been possible without the beyond-excellent team working on Reth. BIG KUDOS to @mattsse_ @r_krasiuk @onbjerg @rakitadragan @Rjected @joshie_sh @ashekhirin for sticking through this monstrous journey of non-stop coding and going deep into Ethereum's soul.
1
2
71
1
1
23
@rakitadragan
Dragan Rakita
1 year
Just released revm `v3.0.0`. It got more friendly return types. Got split into an interpreter, precompile, primitives and revm crates. It is now using ruint as primitive lib. and interpreter got a little bit faster, 15-20% for snailtracer. Enjoy:
1
0
22
@rakitadragan
Dragan Rakita
6 months
Are fake accounts bear or bull signal 😅 (he deleted the chat so i didnt get rest of the convo 😂) cc @gakonst
Tweet media one
3
0
21
@rakitadragan
Dragan Rakita
1 year
Excited to be part of this, and if anyone want to meet, you know where to find me.
@ethbelgrade
ETH Belgrade
1 year
Please welcome our next speaker @rakitadragan from @paradigm 🙌 Dragan is Ethereum core dev who worked on OpenEthereum, builded revm, and is working on reth.
Tweet media one
3
4
22
1
0
20
@rakitadragan
Dragan Rakita
11 months
If you ever wondered, here are EVM opcodes that can expand memory. Obvious ones that set values: * MSTORE * MSTORE8 * EXTCODECOPY * CODECOPY * CALLDATACOPY * RETURNDATACOPY And unexpectedly memory reads can do it too: * MLOAD * LOG * CREATE/CREATE2 * all CALL's * SHA3 * RETURN…
0
5
21
@rakitadragan
Dragan Rakita
1 year
Just read @NoirLang docs (it reminds me of rust, lol), a simple and concise lang for zkp.
1
2
20
@rakitadragan
Dragan Rakita
2 years
As zkp noob, I want to educate myself to know what is happening inside there. Paper `From Zero (Knowledge) to Bulletproof` is a fantastic helper on that path:
0
0
15
@rakitadragan
Dragan Rakita
10 months
Did a sneak peek presentation about Reth in the first days of June at @ethbelgrade and the video just dropped
1
5
19
@rakitadragan
Dragan Rakita
7 months
revm just got a little bit better, awesome work 🛠️ by @thedevbirb !
@thedevbirb
thedevbirb
7 months
A shared memory between calls just got merged on revm! So happy of the work made in the last month with the help of @rakitadragan and @DaniPopes . You can check all the development done and the performance implications here! How does it work? 1/2
5
4
49
0
3
18
@rakitadragan
Dragan Rakita
11 months
So when they asked me to join them to build a new Ethereum node written in Rust that uses revm, it was a no-brainer decision for me. 9 months later we have our alpha and I am very proud of what we have accomplished. And this is just the beginning! 5/
@gakonst
Georgios Konstantopoulos
11 months
We are excited to release Reth v0.1.0-alpha! 🎉🎉🎉 Reth is a modular, contributor-friendly, and blazing-fast Ethereum node, in Rust, using the Apache/MIT license. Let's unpack what is behind today's release.
Tweet media one
104
371
2K
1
0
17
@rakitadragan
Dragan Rakita
1 year
👀
@PrimitiveFi
Primitive ™
1 year
1/🚀 Introducing the beta release of Arbiter, an innovative agent-based analysis tool for the EVM. Arbiter enables fast, precise modeling and economic fuzzing for the DeFi ecosystem, leveraging Rust for top performance.
11
33
219
0
3
13
@rakitadragan
Dragan Rakita
1 year
Ranking of Ethereum concepts that mess with core devs : 1. Selfdestruct 2. State clear (or to be precise empty state before SpuriousDragon) Bonus points for the combo of both!
2
3
14
@rakitadragan
Dragan Rakita
1 year
A lot of blockchains will introduce some kind of rent fee or temporary data, paying only once for data to be forever saved is not feasible. Not that urgent as state growth is not that big, it is problem for the future.
3
1
16
@rakitadragan
Dragan Rakita
10 months
3
0
17
@rakitadragan
Dragan Rakita
1 year
when one comment gives you that warm and fuzzy feeling inside! ♥️
Tweet media one
0
0
14
@rakitadragan
Dragan Rakita
1 year
Still easier than it was working on OpenEthereum 🥲
@gakonst
Georgios Konstantopoulos
1 year
building reth has been 10-100x times harder than foundry
12
8
176
0
0
14
@rakitadragan
Dragan Rakita
1 year
The king 👑 found another bug. revm v3.3.0 is published. And for more info, bug PR can be found here:
@r_krasiuk
Roman Krasiuk
1 year
spent hours debugging execution error on goerli only to find out it was caused by contract with code `0x30ff`
0
0
9
2
1
15
@rakitadragan
Dragan Rakita
10 months
When chad comes and do its thing! 👑
@valentinmihov
Valentin Mihov 🦞🦇🔊
10 months
My first PR got merged in revm. A blazing fast EVM implementation in Rust. It’s around 3x faster than geth. I’m looking at what to work on next, so lmk if you need something around revm or reth
4
3
83
2
0
15
@rakitadragan
Dragan Rakita
8 months
If you are interested in step by step guide in adding precompile to revm, read this 👇
@alemaz98
Alessandro Mazza
8 months
1/9 I added the `P256VERIFY` precompile into Revm, the implementation of the EVM used also inside Reth! In this thread I'll share how easy it is to add a new precompile and immediately have it ready to work. Let's go! 🧵
4
6
27
0
3
14
@rakitadragan
Dragan Rakita
2 years
The balance will be lost, as execution of selfdestructed is done after balance is added to target :)
1
0
12
@rakitadragan
Dragan Rakita
2 years
For last, most impressive thing is when this starts to get used in foundry tests, speedup is very noticable. For example, Solmate tests got from ~3.2s to ~2.3s that is 1/3 of time optimized away. And others are reporting similar thing.
1
0
13
@rakitadragan
Dragan Rakita
2 years
The idea for improvement that we can do right now is cache the jump/"gas block" table. This will increase DB footprint, and move checks to contract creation, but will decrease call execution time. Idea is already covered as part of EOF, more on it here:
1
1
13
@rakitadragan
Dragan Rakita
11 months
Foundry was and is amazing and it got very popular, and with it the revm too. it was very exciting to see adoption by the community while I supported the team from the background. You could see that the people there are just special. 4/
1
0
12
@rakitadragan
Dragan Rakita
2 years
@gakonst @0x_doggie here are my slides: they are referencing revm:
0
0
12
@rakitadragan
Dragan Rakita
11 months
@peter_szilagyi @TimBeiko @mysticryuujin and we should have ethereum/test suit for RPC
4
0
12
@rakitadragan
Dragan Rakita
1 year
And all of that in a year and a half. (hm, I should probably make a timeline and put it somewhere)
0
0
12
@rakitadragan
Dragan Rakita
11 months
noice
@smlxldotio
smlXL
11 months
0/ We’re excited to open alpha! 🧵
39
136
631
0
0
12
@rakitadragan
Dragan Rakita
2 years
And you can get it right now by using nightly foundry.
@onbjerg
Oliver Nordbjerg
2 years
new nightly dropped just dropped 3.8 seconds to run all of solmates tests with 512 fuzz runs vs yesterday's nightly taking 3.2 seconds to run the same tests with 256 fuzz runs
2
2
50
3
0
12
@rakitadragan
Dragan Rakita
11 months
It started in 2020 with me working on OpenEthereum at Gnosis, parity moved away from the codebase that was getting hard to maintain, and there were talks of rewriting it from scratch. I thought a lot about architecture and even named it reth 2/
1
0
11
@rakitadragan
Dragan Rakita
2 years
Jump table is created so that we can restrict indirect branching JUMPs to only be able to jump to JUMPDEST opcode. (removing this restriction would be fun, and using a different jump table format even better, but those are big consensus changes to EVM, out of scope for now)
1
0
10
@rakitadragan
Dragan Rakita
11 months
But I got burned and took a break from work for a few months, and after that, before I took a job building another L2 client I wrote revm. ( there is even a tweet where I pitched @gakonst the repo, as they were building foundry) :) 3/
1
0
11
@rakitadragan
Dragan Rakita
1 year
Maintenance sometimes costs more than just building the code, especially with continuous upgrades from chains.
@ErigonEth
erigon.eth
1 year
New blog post: Future of the support of BNB Smart Chain and Bor (Polygon) in Erigon
7
18
76
1
1
7
@rakitadragan
Dragan Rakita
9 months
Just published "Zombie nodes of Ethereum" :D The question that the post explores is whether we can get 220gb execution node, it explores the notion of what nodes we have now and what we can have in future. Link:
1
1
9
@rakitadragan
Dragan Rakita
1 year
This doc is gold for EVM opcodes!
@TimBeiko
timbeiko.eth
1 year
@ethereum @dedaub @willmorriss4 @terencechain @BarnabasBusa After this, @shemnon came on to help us try and make sense of all the proposed opcodes for Cancun, Prague and more. He shared this doc which makes suggestions for opcode usage based on a holistic view of all proposed EVM changes:
2
5
17
0
0
10
@rakitadragan
Dragan Rakita
2 years
Before any contract call, every EVM need's to create a jump table by finding all JUMPDEST opcodes in the bytecode. This can't be found in runtime because the PUSH introduces random values inside bytecode.
1
0
9
@rakitadragan
Dragan Rakita
1 year
Oh, this seems as a very nice presentation material. Will definitely read it later
@rustjobs_dev
Rust Jobs 🦀
1 year
Comprehensive Rust This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust to everyone. #rust #rustlang
3
194
909
0
1
9
@rakitadragan
Dragan Rakita
2 years
Then run a test of 30k calls on different bytecodes where: Raw bytecode took ~517ms, checked bytecode (with 33 zero padding) ~449ms, and analysed (with jumptable/gas_blocks) ~253ms
1
0
9
@rakitadragan
Dragan Rakita
1 year
Here we go again 🫡
@gakonst
Georgios Konstantopoulos
1 year
The biggest thank you goes to all Ethereum Core Developers for making Ethereum great; we are excited to join you on this long journey. See you on Github.
12
3
55
0
0
9
@rakitadragan
Dragan Rakita
11 months
@peter_szilagyi @TimBeiko @mysticryuujin A full rewrite is a lot easier than modifying the existing one, so killing it with fire however funny it sounds is even the best way forward imo.
2
0
9
@rakitadragan
Dragan Rakita
6 months
This opens a big door and makes rust usable in safety critical environments, an amazing achievement!
@FerrousSystems
FerrousSystems
6 months
The ink is dried and the mail has arrived: Ferrocene is ISO 26262 and IEC 61508 qualified! #rustlang #embeddedsystems #opensource
4
86
296
0
0
9
@rakitadragan
Dragan Rakita
1 year
Can someone hit me up with the archive node that has opcode tracing, i used it very infrequent when i need to debug revm (once every 2/3 months) and it sucks that i don't have the place to get the traces. Mostly would need `debug_traceTransaction`
6
3
9
@rakitadragan
Dragan Rakita
7 months
The next stop is merging bigger breaking changes starting with Alloy. Thank you for reading until now :)
1
0
9
@rakitadragan
Dragan Rakita
7 months
We got a fresh logo.
Tweet media one
1
0
9
@rakitadragan
Dragan Rakita
2 years
Analysed as the fastest one would take x5 more db space (only for contract bytecode, not full db), without gas_block this is probably going to be slower but would take less memory,
1
0
9
@rakitadragan
Dragan Rakita
1 year
Is it just an American thing to comment on the tweet from a Romanian guy and complain that the people in the picture are not diverse enough?
1
0
8
@rakitadragan
Dragan Rakita
2 years
There is still some other things that can be done in revm. But this was so satisfying to do 😁
1
0
9
@rakitadragan
Dragan Rakita
1 year
I will be at edcon next few days, if anyone want to meet and chat, ping me
0
0
9
@rakitadragan
Dragan Rakita
11 months
Amazing work @_prestwich @DaniPopes can't wait to introduce it to revm.
@_prestwich
James Prestwich
11 months
For the last couple months @DaniPopes and I have been working on a total rewrite of the ethers-rs stack We're incredibly proud to finally publish the work and announce Alloy: a new foundation for Ethereum's Rust ecosystem.
18
50
304
0
0
9
@rakitadragan
Dragan Rakita
8 months
This bun seems very nicely buttered
@housecor
Cory House
8 months
Bun 1.0 is here and it’s shockingly compelling. Bun is a lightning fast runtime, build tool, bundler, package manager, and testing tool, all rolled into one. Bun replaces Node, npm, Yarn, pnpm, tsc, Jest, Vite, esbuild, Babel, webpack, and much more.
123
349
3K
2
0
8
@rakitadragan
Dragan Rakita
7 months
@ETazou @Starknet @lucas_lvy @dimahledba Gather all teams and let them all say what they need, and what they do not need. The intersection of this is your libs. for revm i needed just primitive types (u256 and b160/b256) so this became one crate. Would recommend checking out alloy it is very nice to use. And this…
0
0
8
@rakitadragan
Dragan Rakita
2 years
zkp intro: Sigma protocol, a way how two parties (Prover and Verifier) interact to create zkp. Prover wants to create the proof and prove to Verifier that it followed the procedure and has a secret, Verifier tests Prover and sends a challenge that Prover must use in proof. 🧵
2
1
7
@rakitadragan
Dragan Rakita
3 years
@gakonst @mempirate @rwxmario Maybe I can interest you in: . Freshly baked, London supported, eth/tests passed, it is fast and flexible for tinkering.
1
0
6
@rakitadragan
Dragan Rakita
1 year
@high_byte Not insane, but just enough proficient in it for it to become fun.
0
0
8
@rakitadragan
Dragan Rakita
2 years
Super excited to announce that I stopped doing nothing and have joined amazing team at @fuellabs_ .
0
0
7
@rakitadragan
Dragan Rakita
6 months
This image looks really nice
@tjayrush
Thomas Jay Rush
6 months
Look for our forthcoming article, "How to Do Perfect 18-Decimal-Place Off-Chain Accounting for Any EVM Blockchain."
Tweet media one
3
11
49
0
2
8
@rakitadragan
Dragan Rakita
7 months
It introduces the `State` a new `Database` that handles transaction transitions.
1
0
8
@rakitadragan
Dragan Rakita
7 months
Cancun EIP's are supported.
1
0
8
@rakitadragan
Dragan Rakita
7 months
Optimism support was added.
1
0
8
@rakitadragan
Dragan Rakita
8 months
@ashekhirin lol 😄
0
0
7
@rakitadragan
Dragan Rakita
1 year
Idea, new L1 only for verifying zk proofs
1
1
7
@rakitadragan
Dragan Rakita
7 months
The build for `no_std` is fixed.
1
0
7
@rakitadragan
Dragan Rakita
10 months
This will be very powerful abstraction!
@gakonst
Georgios Konstantopoulos
10 months
Put together some example code on how to talk to Reth's DB directly using the `reth-provider` package, w/o leaking any internal implementation details about tables etc. Keen to benchmark how fast we can traverse the tables while keeping it clean.
Tweet media one
Tweet media two
6
12
118
0
0
7
@rakitadragan
Dragan Rakita
1 year
Working on refactoring revm and splitting it into `host` (main lib) and `interpreter`, idea is with unified instruction calls to allow registration of custom handles. Just imagine having CALL only or SSTORE only handle that would wrap custom logic around it.
0
0
7
@rakitadragan
Dragan Rakita
10 months
In paris until 23th if people want to meet
2
0
7
@rakitadragan
Dragan Rakita
2 years
Powered by revm (always wanted to say something like that 😁)
@NomicFoundation
Nomic Foundation
3 years
Slang + Rethnet: Our long-term plan to unleash Ethereum's developer experience potential
159
152
344
1
0
6
@rakitadragan
Dragan Rakita
2 years
I am still learning this stuff (Intend to write about sigma protocol and inner product next) and mostly going over this paper it is an amazing reference:
0
0
7
@rakitadragan
Dragan Rakita
7 months
References: Cancun: State: Optimism: no_std: And a lot more! Alloy transition already has a PR:
0
0
7