I've been v.quiet lately as I'm laser focused on #cassie cleanup, improvements, testing etc but it's going well.

Starting to get some tangible results that are interesting to the #crypto crowd so thought I'd share in a thread ⚠️
Some background first.

The #cassie code base before starting this work was a real bloody mess!

My focus was to find a solutoon/implementation that worked, not to write clean, pretty, fast code.

Hacking around with ideas & progressive theory produces terrible code.
So much so that even though I'd proven out the theory to mine (and others) satisfaction, running long tests was prone to crashing because some no longer used code was being called somewhere deep in #cassie belly under some edge condition. V. Frustrating!
Most of the work I've been doing hasn't been in the domain of optimization, even though it usually does produce performance improvements.

Namely things like improving exception handling, argument checks where they were missing, better use of threads, pipelining improvements...
... On producers / consumers, improvements to concurrency handling using better suited primitives or different locking styles, or even removing redundant locks where possible, refactoring the many huge hunks of monolithic code and of course...
Deleting code that is no longer needed but frequently still be called for all manner of stuff!

Deleted code has zero bugs, it's my favorite!

Anyway still a ways to go but moving very nicely in the right direction.

Before I started I did a baseline soak test...
Small network, to keep things simple, 8 shard groups, 4 validators in each with a spec of 4 core 8 gb + ssd injecting 10M tweets as fast as possible with 20% failure rate. Failures are expensive!

At each validator #tps averaged 170, finality 38s, bandwidth use ~8MB/s
Same test but today, #tps is up to 300 average, finality ~31s, bandwidth ~4MB/s

Oh and it crashes MUCH less haha 😎👍

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Dan "fuserleer.eth" Hughes

Dan

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @fuserleer

May 15
Ran the test for an hour ... total SUCCESS!

Here's a breakdown 🧵

#cassie #web3 #blockchain #crypto
Purpose of the test is to ensure that #cassie can support at least validator set sizes of 100.

100 validators provides an acceptable level of security, decentralization etc ... more is always better OFC.
As #cassie is the first leaderless multi-decree #BFT it's a critical test! Until now it's simply been theory and a hunch that this would work for over 18 months.

To make things "worse", the test itself is configured to be HORRIFIC, with parameters WAY outside nominal.
Read 13 tweets
May 12
⚠️ ALERT BRAINDUMP

Survival of any stable coin, whether its a peg, or a free floating currency really comes down to one problem.

Given a trading pair A/B and some level of volatility, what is the level of volatility at A and at B
If B is intended to be "stable" and you know the volatility metric then you can act accordingly, removing or adding supply via some mechanism.

You might be duped into thinking its easy, if the price now is 5/20 & the price before was 10/20 then A has doubled in value, right?
Wrong, B might have halved in value & A hasn't changed at all.

The price alone, even looking at some history doesn't give reliable signals as to value movements of either assets.

The price at the least is a conflated, obfuscated representation of value changes in both assets.
Read 8 tweets
Feb 21
There's a lot of questions about #cassie, what is the significance, why is it cool, what does it demonstrate, how is it #web3. Even moreso since the #radflix demo dropped & the exposure it got on various socials etc so here is a thread...
Hopefully yall know by now that it is primarily a research network. It started as a collection of radical ideas around #consensus, #sharding, #blockchain and #cassie is the embodiment of those ideas to demonstrate viability. But it has now become so much more...
It is technology that can do things that were said to be impossible. Technology that can do things other L1 tech hasn't even dreamt of trying to do. It is a technology which is being used to show proof of potential on all the *hardest* things first...
Read 10 tweets
Mar 27, 2021
Throughout the day a few folks have correctly noted that there are indeed hybrid consensus platforms such as $dot #symbol #eth2 & others.

However there's a subtle but important difference in #cassandra that perhaps warrants "hybrid" as the incorrect term.

Clarification then...
As far as I understand, these solutions are essentially two separate consensus mechanisms.

Probabilistic to perform state transitions, with deterministic to finalise the best version of the former.

It works & does the job required, so why is #cassandra different?

....
Think of a hybrid car. There is a petrol engine & electric motor working together to move the car.

They are 2 separate systems & are open loop, one way. The engine if needed can generate electricity for the motor, but the motor doesn't produce anything useful for the engine...
Read 15 tweets
Mar 27, 2021
One key area of research I'm doing with #cassandra is testing hybridization of deterministic & probabilistic consensus models.

Successfully doing so would provide an almost "best of both worlds" type model.

...
Probabilistic (#nakamoto) has strong liveness guarantees but is never really safe.

Deterministic (classical) guarantees safety but is difficult to resolve both liveness and safety issues. Usually requiring some #godmode
The #cassandra approach has 2-phases.

The 1st phase is probabilistic promoting liveness to a strong guarantee.

The 2nd phase receives the output of the 1st phase and produces a classical 2f+1 safety threshold.
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(