
Graffiti Watermarks
Title Image by MMT from Pixabay For a while now, we’ve been looking at client diversity, and sometimes beating the drum pretty hard admittedly, to try to make sure everyone understands what it is and why we care… Sites like clientdiversity.org have done a good job of socialising some of the data, and a lot of people are sitting up and taking notice, which is awesome. The gap, as always with these kinds of things, is a lot of data is ‘opt in’ - where people go out of their way to volunteer dat...

Graffiti Watermarks
Title Image by MMT from Pixabay For a while now, we’ve been looking at client diversity, and sometimes beating the drum pretty hard admittedly, to try to make sure everyone understands what it is and why we care… Sites like clientdiversity.org have done a good job of socialising some of the data, and a lot of people are sitting up and taking notice, which is awesome. The gap, as always with these kinds of things, is a lot of data is ‘opt in’ - where people go out of their way to volunteer dat...

Synchronised functions vs Locks
Cover photo by Life Of Pix: https://www.pexels.com/photo/brass-colored-metal-padlock-with-chain-4291/ The year is winding down, so why not take a moment to revisit a bugbear. We have this really simple concept in Teku around slashing protection, where we’ve ensured someone can’t be slashed with quite a simple set of functionality and data. It all comes down to 1 validator, 1 file, 3 numbers. This works really really well. It’s backed by code that uses a synchronized function - the implication...

Synchronised functions vs Locks
Cover photo by Life Of Pix: https://www.pexels.com/photo/brass-colored-metal-padlock-with-chain-4291/ The year is winding down, so why not take a moment to revisit a bugbear. We have this really simple concept in Teku around slashing protection, where we’ve ensured someone can’t be slashed with quite a simple set of functionality and data. It all comes down to 1 validator, 1 file, 3 numbers. This works really really well. It’s backed by code that uses a synchronized function - the implication...

Caching and Memory
Teku has always made heavy use of caching data, which is one mechanism for making sure we have the data available that we need, without having to load it from disk. The upside of caching is that we get fast data access. Within reasonable bounds, it’s a great trade off, but there comes a time when things seem to grow unbound, and we need to re-assess what we’re storing.Beacon State CacheSince the May non-finality issue, we’ve been acutely aware of the heavy reliance we have on our state cache....

Caching and Memory
Teku has always made heavy use of caching data, which is one mechanism for making sure we have the data available that we need, without having to load it from disk. The upside of caching is that we get fast data access. Within reasonable bounds, it’s a great trade off, but there comes a time when things seem to grow unbound, and we need to re-assess what we’re storing.Beacon State CacheSince the May non-finality issue, we’ve been acutely aware of the heavy reliance we have on our state cache....
Attestation Gossip Processing
The opinions in this are mine, I’m not writing this on behalf of anyone, and ahm.. any other disclaimers you think should be here probably are… So anyway… There was a network issue on Mainnet, and the Prysm team wrote up a great post-mortem. From a Teku perspective, we got a release out relatively quickly largely due to the initial event the day before, and we’d been working on it ‘in case it happened again’, and I’m glad we took that approach. It took time to understand the issue, and circli...
Attestation Gossip Processing
The opinions in this are mine, I’m not writing this on behalf of anyone, and ahm.. any other disclaimers you think should be here probably are… So anyway… There was a network issue on Mainnet, and the Prysm team wrote up a great post-mortem. From a Teku perspective, we got a release out relatively quickly largely due to the initial event the day before, and we’d been working on it ‘in case it happened again’, and I’m glad we took that approach. It took time to understand the issue, and circli...

Withdrawals
Ethereum - WithdrawalsSince the advent of the Beacon Chain, we asked for a stake for validators. At the time our story was basically "Once the merge is done, you'll be able to get these funds back". So, the merge is done, and it was successful, but the elephant in the room was that it didn't actually include the ability to get your funds back. It turns out that the merge was pretty complicated, and withdrawals are a tiny bit complicated, and to add another feature was potentially in...

Withdrawals
Ethereum - WithdrawalsSince the advent of the Beacon Chain, we asked for a stake for validators. At the time our story was basically "Once the merge is done, you'll be able to get these funds back". So, the merge is done, and it was successful, but the elephant in the room was that it didn't actually include the ability to get your funds back. It turns out that the merge was pretty complicated, and withdrawals are a tiny bit complicated, and to add another feature was potentially in...