21 comments

[ 3.3 ms ] story [ 44.7 ms ] thread
"And​Hell is just a sauna"

Over simplifications that gloss over important details

The first answer in that page (right now), is terribly misleading.

>> "As the image shows, all the nodes are connected to each other."

He is confused between a block-chain and the computing nodes in a network.

Guess what? The answer is gone now!

I did not know that Quora did or allowed that. Did the writer remove it? Did it get down voted to oblivion (unlikely, had positive up votes yesterday)? Seems un-transparent.

This title is misleading: This was formulated as a question that was put forward (verbatim text: "Is a blockchain essentially a linked list?"), and the current answers are already now diverging between "Not at all!" and "Yes, ... blockchain is similar to a linked list ...".
Singley or doubley linked list?

Edit: Just kidding, obviously singley.

I am not a blockchain expert but don't agree with the "not at all" answer. The illustration seems misleading, the nodes have nothing to do with the data structure, AFAIK blocks are only linked to previous block.

I've always understood it as essentially a singly linked list where no list node can be removed without invalidating the entire list.

Am I wrong?

You are correct. The answer on Quora is confused/misleading.
Linked list is just a digital append only ledger
Linked lists can prepend, append, and have items inserted or removed anywhere, and are explicitly built around references to other nodes.

They're neither append-only, nor are they ledgers (which are basically just logs, nowhere in the definition of which is there an implied reference to any other item).

A better analogous structure would be the structure used in Git.

The only major difference is that Git is a DAG while a blockchain is restricted to being a tree.

What do they have in common?

A block is a commit, containing a metadata and a hash pointing to the preceding commit.

A Merkle tree is a tree, though restricted to having only two children; trees in Git also contain the hashes of its children.

A transaction is a blob, the new file to be included in the next commit.

And if I recall correctly, the Git protocol was devised against a similar issue of centralization - SVNs. If the SVN could not be reached, then you were not able to access your repository. Since there was only one ledger, it meant a single point of failure.

Thank you for this. For the longest time, I actually thought the blockchain was powered by git, or at least the DAG and associated tech concepts. But I assumed that because it's not too far off, but it is a critical difference.

Out of curiosity, I wonder if there's a reason why it's not just built on top of git? Is there an inherent incompatibility between the two, or some sort of benefit to forgoing using existing tech?

While similar in structure, they have different objectives: Git is for version control of files; blockchain is for maintaining balances.

In addition, the protocol of blockchain is way more complex than the one for Git; you have concepts like proof of work and economic problems like double spend that have to be dealt with.

Thank you again. I forgot about the priorities, especially with how the financial industry has a lot of different needs, such as transactional reliability, whereas there are parts of git that are very fuzzy in different areas because file comparison isn't as binary as a financial transaction or have as many repercussions if off slightly.
Is crypto-currency considered to be the most innovative use of blockchains? Is there anything that currently doesn't use blockchains that could see a benefit from doing so?
Food security / safety is a trillion dollar business. There are several early stage efforts to apply blockchain to that problem. As a segment it's almost entirely backwards technologically (the best innovation consumers have seen on that front in 20 years, has been laughably flawed use-by dates).

Fighting imposter products may have extremely valuable applications for blockchain, for example knock-off Gucci bags etc. It'll take years before authoritative systems emerge that dominate that product validation space, but it's probably inevitable that they will.

> Fighting imposter products may have extremely valuable applications for blockchain, for example knock-off Gucci bags

This example always gets brought up but Gucci bags already come with serial numbers and receipts that you can use for lookups and registration with Gucci. Presumably Gucci is using a database to store this information. What benefit would consumers realize if Gucci changed out their database for one that was immutable? Is there really any significant number of Gucci consumers who don’t trust the company to maintain the integrity of the product database they currently use? The interests of the company and their customers seem pretty aligned. Perhaps there would be some benefit to having the full sales database easily and instantly accessible by anyone in the world? But absent any demand from consumers for them to go farther than they already have that would seem to be outweighed by Gucci’s desire to not reveal all of their sales data to competitors (or GDPR-busting private information for that matter).

If they did want to give up such detailed information then why not just provide weekly sql dumps on the web and avoid the consultant fees and expense of maintaining a more inefficient database? Perhaps they could also make customers sign a contract that prevents hem from engageing in private sales without registering the sale with GucciCentral. The fact they have never taken a simple steps like these to dispell any trust issues between them and their customers tells me that there may not be many that their current systems don’t already address adequately.

Please tell me if I’m missing something. This one has puzzled me for years.

I haven't seen any examples yet. Proposed uses of a blockchain tend to fall into one of the following two traps:

1) The problem domain doesn't need decentralization. If there is a trusted central authority then a cryptographically signed git database suffices.

2) There is no economic incentive for mining. With Bitcoin, there is an incentive for miners to spend significant amounts of electricity and computational power competing to add blocks to the blockchain, since they are rewarded with newly minted coins and transaction fees. The security of the whole network depends on this being a very expensive process because the more costly it is to add a new block to the ed of the chain, the more costly it will be for a malicious adversary to construct an alternate blockchain history (to perform double spend attacks and more). Non-currency blockchain solutions can't award in-chain rewards to the miners so an offchain inentive must be found (which is extra tricky if you follow rule 1 and assume that the network participants do not trust each other)

Nope, it's a limited grow-only stack. Linked lists are unlimited, and you can insert and delete everywhere. A blockchain not, you can only add to the top, with deletion forbidden.
Somewhere in a small SV office: "Reverse bitcoin on this white board"