Great discussion by @alinush
one missing point: people compare protocols, treating them as if they were standalone, black-box objects.
They are not.
The hardest part isn't getting the cryptography math right but ensuring that a user doesn't end up shooting his own foot.
π§΅
Would be nice if someone did a literature review of all threshold ECDSA protocols, attacks and argued for what should be the safest & fast-enough choice for production.
Is it Cait-Sith (https://t.co/480Fi4Og8z)?
Is it DKLs23 (https://t.co/qGtLHB8oJa)?
Heck, maybe it is a generic MPC VM-based one (@badcryptobitch)?
@cryptodavidw has a list of some recent protocols but his blog is not prescriptive, unfortunately (https://t.co/cRVlm5QcWf)
@alinush In any case: Presigs are like nonces so reusing them == loss of key. So people need to be very careful when consuming them unless the code exposes a safe API that prevents the user from shooting his own foot.
@alinush For dishonest majority I really like DKLs due to its modular description and I think with presignatures compatibility of the DKLs23 it has great practical potential.
For honest majority, a much simpler task which Thorchain may consider, KU'23 is pretty neat and straightforward.
I think MPC implementations (but NOT academic protocol descriptions) should care much more about footgun-free APIs and abstractions before considering second order matters such as latency.
This facet of applied crypto is often missing in the academia-centric MPC space.
Putting the responsibility on the end user to terminate globally parallel sessions is a fragile abstraction of the cryptography.
Much like expecting a user to never reuse a nonce.
Limiting parallelism is also too leaky and restrictive.
ππ»πππΆππππΆπΌπ»π ππ΅πΆπ»πΈ ππ΅π²π πΌππ» ππ΅π²πΆπΏ πΈπ²ππ. π§π΅π²π π±πΌπ»βπ.
For years, the focus was on custody risk. But as workflows move to automated execution across vendors and platforms, execution risk has become the bigger threat.
Our co-founder &. CTO, @MHamilis, breaks down why this shift matters in his latest @TechTimes_News article:
πhttps://t.co/fcpNF08fYs
@gakonst For Rust Claude is pretty good for generic code / boilerplates. When crypto dependecies are involved it's meh.
With std::simd, it is barely generating code that compiles, at least for me.
Note: Claude is still the best model out there for my use cases so far.
@buchmanster@luhelminger Agreed! Let alone three nodes deployed on three distinct cloud platforms (say AWS, Azure & GCP) with three distinct TEE stacks (SGX, AMD-SEV SNP, Nitro).
From experience I can share it gets tricky though to achieve sufficiently low latency due to positioning of the data centers.