The main difficulty in group messaging is consensus.

Max

npub1klkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7qulx3vt

hex

96171df21b0bc8f05444839e35ad237ea165573bfa38c9ce6c1db23f9021182a

nevent

nevent1qqsfv9ca7gdshj8s23zg8834453hagt92ual5wxfeekpmv3ljqs3s2sprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgst0mtgkp3du662ztj3l4fgts0purksu5fgek5n4vgmg9gt2hkn9lqwrkyyh

Kind-1 (TextNote)

2026-08-11T06:32:50Z

↳ Reply to Event not found

3b35ccb438c7ca301cca788cb1cbf123bda7393b32b9bf1894a23379d494be48...

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...

Raw JSON

{
  "kind": 1,
  "id": "96171df21b0bc8f05444839e35ad237ea165573bfa38c9ce6c1db23f9021182a",
  "pubkey": "b7ed68b062de6b4a12e51fd5285c1e1e0ed0e5128cda93ab11b4150b55ed32fc",
  "created_at": 1786429970,
  "tags": [
    [
      "e",
      "70666785addd4d92e2be9d7d88d05051ef4707145a6429c9dcf1be36795c1818",
      "wss://relay.primal.net/",
      "root",
      "b7ed68b062de6b4a12e51fd5285c1e1e0ed0e5128cda93ab11b4150b55ed32fc"
    ],
    [
      "e",
      "3b35ccb438c7ca301cca788cb1cbf123bda7393b32b9bf1894a23379d494be48",
      "wss://wot.nostr.net/",
      "reply",
      "efc2b6e59480f0e55cc87c69af06b6d1a11fa25e4ea95a439878c41799c53c19"
    ],
    [
      "p",
      "75d737c3472471029c44876b330d2284288a42779b591a2ed4daa1c6c07efaf7",
      "wss://relay.primal.net/"
    ],
    [
      "p",
      "b7ed68b062de6b4a12e51fd5285c1e1e0ed0e5128cda93ab11b4150b55ed32fc",
      "wss://nos.lol/"
    ],
    [
      "p",
      "efc2b6e59480f0e55cc87c69af06b6d1a11fa25e4ea95a439878c41799c53c19",
      "wss://nostr.codonaft.com/"
    ],
    [
      "client",
      "Amethyst"
    ]
  ],
  "content": "The main difficulty in group messaging is consensus.\nHow 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.\nContrary to Bitcoin, in most group messaging systems you know exactly who the group members are, which makes things easier.\nThe 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.\nCordn 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. \nThis 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.\nSo 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...",
  "sig": "94cc389608001220fc028312f6e38785b1eef0f9706edefcebffd185069a4d66b8baaaec78fb7a5863435ed090e880e5edb47cf83ab7a7c9ee8d39d71670167f"
}