Live data from Hacker News

Scuttlebutt social network: a decentralised platform

scuttlebutt.nz

131–140 of 143 posts

Re: Scuttlebutt social network: a decentralised platform

#131
post #106

Earlier quoted context omitted.

This isn't entirely true. Scuttelbutt had some design and scaling issues. But there wasn't a global database. Each user gets their own blockchain. Its a network of tiny blockchains where the consensus model was the signature from the private key and the chain of hashes.

Not disagreeing with you, just nitpicking on the use of a word: What you are describing is simply a signed Merkle tree, not a blockchain. You cannot really call an individual signing it's own ledger a consensus mechanism. Maybe "validity" or "authenticity" would be better terms here. I know a lot of people make this mistake of labelling anything that has a Merkle-tree like structure a blockchain but it's impractical…

I appreciate the nitpick! Words do matter.

I'll share my definition of these terms, for me they have very precise definitions:

A merkle tree is a specific data structure: https://en.wikipedia.org/wiki/Merkle_tree

> In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a branch, inner node, or inode) is labelled with the cryptographic hash of the labels of its child nodes. A hash tree allows efficient and secure verification of the contents of a large data structure. A hash tree is a generalization of a hash list and a hash chain.

If you have hashes co-located with data, and data spread throughout the chain, it is not a merkle tree.

A blockchain is a linear chain of hashes of the content in each block of the chain. In a blockchain, for any given block, there is only one valid next block.

When a blockchain is propagated over a network, there is a consensus algorithm used to agree on state of that chain. Bitcoin uses proof-of-work to agree on the next block. Anything that allows multiple nodes to reach consensus on the state of a blockchain is a consensus algorithm. SSB uses proof-of-signature, and the sequence number, as its consensus algorithm. The network reaches consensus on the state of any particular chain by validating the signatures and that the sequence numbers are in the correct order.

Colloquially, blockchains have been conflated with their consensus schemes. When people use the term blockchain conversationally, they generally mean a blockchain that propagates over a network using some sort of consensus algorithm. This conflation of consensus with blockchains has lead to many people in the p2p space rejecting the term blockchain to distance themselves from the crypto hype bubble, even though the data structure itself is quite useful.

Finally there is a Merkle-DAG, introduced by Juan Benet, that acts as a unifying data structure for both blockchains and merkle-trees. Merkle-DAGs can also express novel data structures that are neither a merkle-tree nor a blockchain.

tl;dr: a blockchain is not a merkle-tree, and a merkle-dag might be capable of representing a blockchain but they are separate concepts. A blockchain is independent of its consensus algorithm, although colloquially the two have been conflated.

P.S. Merkle-DAG might be capable of representing git, would be fun to give it a try sometime using something like IPLD.

Re: Scuttlebutt social network: a decentralised platform

#132
post #111

Earlier quoted context omitted.

A true Satoshi whitepaper Bitcoin would include everyone having a local copy of the database as well as peer-to-peer connections. No necessary middlemen. Is this correct.

A Bitcoin of my dreams would have close to zero if not zero transactions cost with everyone on the network running at least full nodes fully synchronized with the main network. The fact that it costs money to send some Bitcoin from one wallet to another is sad.

[deleted]

Re: Scuttlebutt social network: a decentralised platform

#133

Earlier quoted context omitted.

Scuttlebutt had the Bitcoin like problem of requiring everybody to have a local copy of the entire database, with a confusing / glitchy "syncing" process to download the latest posts. I tried to use it for a few days on my Android, but it never showed any new posts and the syncing process took like 30 seconds every time I opened the app.

A true Satoshi whitepaper Bitcoin would include everyone having a local copy of the database as well as peer-to-peer connections. No necessary middlemen. Is this correct.

It requires a third party to send some Bitcoin from one wallet to another. Is this correct.

Was this contemplated by the Satoshi paper.

Re: Scuttlebutt social network: a decentralised platform

#134
post #106

Earlier quoted context omitted.

Not disagreeing with you, just nitpicking on the use of a word: What you are describing is simply a signed Merkle tree, not a blockchain. You cannot really call an individual signing it's own ledger a consensus mechanism. Maybe "validity" or "authenticity" would be better terms here. I know a lot of people make this mistake of labelling anything that has a Merkle-tree like structure a blockchain but it's impractical…

Many of these systems also don’t have a Merkle tree, they have a Merkle linked list. Which I think contributes a lot to the syncing problem. A skip list structure where each node has multiple hashes/identities would let you skip the last five years of edits and pull down only the individual edits for the last month. The “Merkle tree” I worked on before this blockchain nonsense started was a Merkle DAG, representing a…

> A skip list structure where each node has multiple hashes/identities would let you skip the last five years of edits and pull down only the individual edits for the last month.

Do you have any references or reading material on this pattern? Would love to learn more.

Re: Scuttlebutt social network: a decentralised platform

#135

Earlier quoted context omitted.

Many of these systems also don’t have a Merkle tree, they have a Merkle linked list. Which I think contributes a lot to the syncing problem. A skip list structure where each node has multiple hashes/identities would let you skip the last five years of edits and pull down only the individual edits for the last month. The “Merkle tree” I worked on before this blockchain nonsense started was a Merkle DAG, representing a…

> A skip list structure where each node has multiple hashes/identities would let you skip the last five years of edits and pull down only the individual edits for the last month. Do you have any references or reading material on this pattern? Would love to learn more.

Not in crypto, but it’s a linked list structure with a logarithmic number of additional pointers that refer forward (or in the case of a diff algorithm, backward) into the list, to provide closer to log n lookup time.

I think they were invented by Bill Pugh, a professor who also had some noteworthiness in Java concurrency fifteen years ago, which is how I heard of them.

Wikipedia agrees (W Pugh for William)

https://en.wikipedia.org/wiki/Skip_list

So the way I see it, you’d overlay the linear tree with one that refers to a single, recent hash, a much older hash (or another meta node of the same degree) and a roll up delta from that older hash, with a new hash that satisfies both. Then every time the number of records double, you add another layer over the previous one.

Re: Scuttlebutt social network: a decentralised platform

#136
post #106

Earlier quoted context omitted.

Not disagreeing with you, just nitpicking on the use of a word: What you are describing is simply a signed Merkle tree, not a blockchain. You cannot really call an individual signing it's own ledger a consensus mechanism. Maybe "validity" or "authenticity" would be better terms here. I know a lot of people make this mistake of labelling anything that has a Merkle-tree like structure a blockchain but it's impractical…

I appreciate the nitpick! Words do matter. I'll share my definition of these terms, for me they have very precise definitions: A merkle tree is a specific data structure: https://en.wikipedia.org/wiki/Merkle_tree > In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a…

> The network reaches consensus on the state of any particular chain by validating the signatures

Ok I can see that. It's the distributed consensus problem in a centralized setting. It still feels strange to call that a blockchain but maybe it can be qualified like "centralized blockchain" (which questions the need for such a structure to begin with).

Re: Scuttlebutt social network: a decentralised platform

#137
post #6

Earlier quoted context omitted.

Why? If someone will not use an app because it has a silly sounding name, or because they're so immature that "butt" is objectionable to them, I'm happy not to have them bring that attitude into a social space I'm part of.

You're already on a social space with plenty of people who won't use it because it has a silly name

And there are many people here whom I am happy not to have to interact with anywhere else. :)

Re: Scuttlebutt social network: a decentralised platform

#138
post #106

Earlier quoted context omitted.

Not disagreeing with you, just nitpicking on the use of a word: What you are describing is simply a signed Merkle tree, not a blockchain. You cannot really call an individual signing it's own ledger a consensus mechanism. Maybe "validity" or "authenticity" would be better terms here. I know a lot of people make this mistake of labelling anything that has a Merkle-tree like structure a blockchain but it's impractical…

I appreciate the nitpick! Words do matter. I'll share my definition of these terms, for me they have very precise definitions: A merkle tree is a specific data structure: https://en.wikipedia.org/wiki/Merkle_tree > In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a…

> If you have hashes co-located with data, and data spread throughout the chain, it is not a merkle tree.

Yes that's the theoretical structure but in practice its usage almost always implies data co-located with the intermediate hashes, if only because it's used to validate the integrity of a tree of files and directory and it's easier to manipulate a single structure with all the information. That's how it's done in Git internally, as well as in IPFS for example. I believe it's also how Merke-trees are used in some backup/synchronization tools.

> In a blockchain, for any given block, there is only one valid next block.

Yes, but that's just a particular kind of tree, where each node only has one child.

Re: Scuttlebutt social network: a decentralised platform

#139

Earlier quoted context omitted.

Scuttlebutt had the Bitcoin like problem of requiring everybody to have a local copy of the entire database, with a confusing / glitchy "syncing" process to download the latest posts. I tried to use it for a few days on my Android, but it never showed any new posts and the syncing process took like 30 seconds every time I opened the app.

Admittedly my only exposure to the Secure Scuttlebutt Protocol(SSB) is through manyver.se [1] - a FOSS private(optionally) social media app. And the syncing issue you mention has been one for me too. Sometimes it's even worse - it fails to sync entirely until another app restart. Maybe this is a manyverse issue, maybe a SSB issue. Either way, hitherto at least, it doesn't seem reliable. If there are alternative ways…

At a certain point in the history of SSB the manlyverse team took over the maintenance of SSB and the apps locking until the end of a sync became the norm. Prior to this there were websocket-based web and Electron apps where you could at least see that progress was being made.

SSB always sank from the first post to the latest. IMO it's better to sync from the latest backwards.

Re: Scuttlebutt social network: a decentralised platform

#140
post #47

Earlier quoted context omitted.

I wanted to hate on it, but I just downloaded the latest version and I see that after like 20 years, they finally realized that each tool window doesn't have to be a separate application. Good for them, for once I might be able to try actually try it.

I think single-window mode came as part of version 2.8, just shy of 12 years ago.

I guess the lesson here is that PR damage can be permanent.
Post reply on HN