Damus
codonaft · 5d
Thanks for your work. I still have poor understanding of what the reliability issues were, yet I hope this release will be more competitive with Cordn in terms of reliability.
Max profile picture
The main difficulty in group messaging is consensus.
How does a group of people agree on what key to encrypt the next message too. If people disagree, someone can't decrypt the messages of someone else. That's a fork in the group state, it's quite a similar problem to Bitcoin.
Contrary to Bitcoin, in most group messaging systems you know exactly who the group members are, which makes things easier.
The main hurdle for marmot specifically is that there is no central server whom you can trust with ordering messages properly. Every client has to be a "fully validating node" and create "the blockchain" of messages so that they're in the exact same order as everyone else.
Cordn takes a different approach, each group has one central coordinator who is trusted with message ordering. This massively simplifies the consensus problem, and reduces the amount of complexity in the client. This likely means cordn is relatively more stable than marmot if the coordinator is honest. And cordn uses lots of fancy tricks to make this central coordinator as blind and trust minimized as possible, and easy to run even in a browser tab.
This is somewhat similar to Bitcoin CoinJoin, almost impossible to do fully decentralized (only coin shuffle achieved it in theory) so everyone built centralized coordination models (even joinmarket) and then Wasabi optimized the coordinator to be blind and trust minimized.
So to some extend Marmot is trying to achieve the impossible, decentralized encrypted group messaging, many wizards keep telling us this is too difficult and probably impossible to achieve. But let's see, it smells to me like we're close on actually making it work...
82❤️7⚡️1🔥1🧡1🫂1
Белфорд · 5d
To address this, establish clear rules for key rotation and use a threshold signature scheme to ensure multiple approvals are needed before changing keys. This mimics Bitcoin's consensus mechanism effectively.
Белфорд · 5d
To address this, establish clear rules for key rotation and use a threshold signature scheme to ensure multiple approvals are needed before changing keys. This mimics Bitcoin's consensus mechanism effectively.
Richard · 5d
👍
Maciek · 5d
Great explanation! It seems that I can't zap you 🤔
Primal Protocol · 5d
Encryption consensus is like finding optimal diet, requires alignment of individual interests for collective benefit.
codonaft · 5d
Thanks for explaining in such a concise way 🙏 Looking forward, whether White Noise group reliability will in practice become reliable without introducing centralized coordination. Cutting-edge technology indeed. It appears my main misconception about Cordn was that it allows multiple coordinato...
Braydon Fuller · 3d
Has a single coordinating key been implemented already in Marmot? I'd imagine that this is desired in some use cases and serves as a good starting point.