6 ms·
For a true decentralized forum, I would probably prefer https://www.scuttlebutt.nz/ https://www.scuttlebutt.nz/ .. the protocol seems nice and understandable, d
by a-saleh 8y ago
For a true decentralized forum, I would probably prefer https://www.scuttlebutt.nz/ https://www.scuttlebutt.nz/ .. the protocol seems nice and understandable, doesn't use block-chain, just distributed append-log, based on user white-lists, user/machine is identified by their pub-key and it works even on local network without access to the internet.
I played around with the git-ssb project that allows you to even host and collaborate on git repositories stored in the distributed log.
Only thing I don't really like is the reliance on the npm ecosystem, so I am waiting if they manage to finish a reimplementation of client and server in rust.
- tsukurimashou 8y agoThis is nice, first time I hear about it. But I cannot find much info about it, where did you hear they are re-implementing the client / server in rust?
- nanomonkey 8y agoThe rust implementation is mostly talked about on Scuttlebutt itself, the repository is https://github.com/sunrise-choir https://github.com/sunrise-choir
- auxten 8y agoCovenantSQL uses a CA less protocol to distribute log. To implement a decentralized system, I wrote a TLS like P2P net stack. The main idea is removing CA Cert from the whole system by using a DHT for Naming and Key Exchange. I am not a crypto expert, so if there's any flaw please point it out for me here or Github I use an Elliptic Curve for asymmetric encryption DH-RPC NodeID is generated by hash of Node PublicKey and an Uint256 Nonce: NodeID := sha256(blake2b-512(NodePublicKey + Uint256Nonce)) I refer to S/Kad idea to define the number of consecutive 0s in front of the NodeID as difficulty and to impose a minimum limit on the difficulty of the NodeID allowed to be stored on the DHT. DHT is used to hold the NodeID:PublicKey NodeID:Addr map. NodeID and Nonce are sent to do ECDH getting shared secret after TCP connection established. GenECDHSharedSecret(APub, BPriv) == GenECDHSharedSecret(BPub, APriv) The main procedure is described as sequence chart: https://github.com/CovenantSQL/CovenantSQL/blob/develop/logo/rpc.png https://github.com/CovenantSQL/CovenantSQL/blob/develop/logo... Because in the decentralized system NodeID is the URI, not "Bob/Alice.com". So anyone tries to fake NodeB by overwriting the address or public key on DHT without the private key of NodeB will be failed to get the correct shared secret. Github: https://github.com/CovenantSQL/CovenantSQL/tree/develop/rpc https://github.com/CovenantSQL/CovenantSQL/tree/develop/rpc
- elcomet 8y agoI heard about it already, but I think it has one major issue: the name is terrible. It is ugly, complicated, hard to say, has "butt" in it. I would never see myself talking to friends about "secure scuttlebut". I'm not a native speaker though, so maybe it makes sense for others.
- vitoreiji 8y agoYou're not alone, that's why the Manyverse client tries really hard not mention Scuttlebutt (but does so in the app description).
- dgellow 8y agoScuttlebutt has one big no-no for me: It isn't possible to edit or delete a post, reply, or interaction. That means that you're sharing your complete history with everyone you connect to, without any control on the data. That's not how I personally want to deal with friends and other contact, and that's where the similitude with "real life" ends; nobody share their complete history of content with all their friends, and friends of their friends, when meeting in a pub. That's a shame, I really like the focus on developing local contacts, and the project has some good ideas.