Is there a Blockchain email system? Wouldn't that be a solid evolution forward, in terms of human communication?
How so?
31–40 of 41 posts
Is there a Blockchain email system? Wouldn't that be a solid evolution forward, in terms of human communication?
How so?
Earlier quoted context omitted.
> The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. That's your definition. It isn't the definition that most people use. It isn't clear to me why you think your definition is the definitively correct one,…
I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain"...because you don't think there's a specific single characteristic of a "blockchain", but there actually is. Here's another for ya: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co... Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said…
What constitutes the "simplest possible blockchain" depends on what definition of the word blockchain you use. I don't see why that is particularly difficult to understand.
> because you don't think there's a specific single characteristic of a "blockchain", but there actually is.
I'm not sure what this is supposed to mean. The defining characteristic of a blockchain is a Sybil tolerant distributed consensus algorithm. At least that is the definition I (along with most people) use.
> https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co....
I'm not sure why you bothered to reference this. You have already established that there is one person who agrees with you. It isn't particularly relevant.
> Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said, and the Merkle Wiki page says: "Hash trees are a generalization of hash lists and hash chains.", which was also my point.
The Merkle connection is that each block in the blockchain contains a Merkle Tree. That is not what you said at all. Also, if you clicked on the link for hash list or hash chain, you would see they are both very different from the linked list structure used in a blockchain. A hash chain is the repeated application of a hash function to a piece of data [0]. A hash list is a list of hashes, which is again hashed [1].
This article has a few issues. First, you spend the first half of the article explaining a signature scheme that isn't based on cryptography. It isn't really clear what that part of the article is actually about. > "Signed by John" This isn't how message signing works. It has all the problems you described in the first part, before you introduced asymmetric encryption.
Is there a Blockchain email system? Wouldn't that be a solid evolution forward, in terms of human communication?
> Wouldn't that be a solid evolution forward, in terms of human communication? How so?
I always find this introduction (including a "live demonstration") by Anders Brownworth very illustrative: https://anders.com/blockchain/
Earlier quoted context omitted.
I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain"...because you don't think there's a specific single characteristic of a "blockchain", but there actually is. Here's another for ya: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co... Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said…
> I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain" What constitutes the "simplest possible blockchain" depends on what definition of the word blockchain you use. I don't see why that is particularly difficult to understand. > because you don't think there's a specific single characteristic of a "blockchain", but there actually is. I'm not sure what this is suppo…
The only difference between an order-one (degree-one) merkle tree (wired like a 'linked list' graph) and a blockchain, is that merkle doesn't require new data to hash on each non-leaf node, but has data only on leaf nodes. In merkle, each level up the tree is rehashing ONLY the actual child hashes below it, so that all hashes are ultimately determined only by "hashes of hashes" (recursively) of LEAF nodes.
So this means from a coding standpoint every order-one merkel is a single line of code away from being a blockchain. That is: The line of code that adds the 'node data' byte array to the SHA256 Hash Digester input stream, before outputting the node's hash. However this may also be a case where the Merkle wiki is not fully complete and accurate, because I cannot fathom that Merkle never thought of a case where each node contains data of it's own to add into the hashing. I bet the original source material from Merkle does include node data as an option, and would make him technically the actual first inventor of blockchain.
Earlier quoted context omitted.
> I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain" What constitutes the "simplest possible blockchain" depends on what definition of the word blockchain you use. I don't see why that is particularly difficult to understand. > because you don't think there's a specific single characteristic of a "blockchain", but there actually is. I'm not sure what this is suppo…
A very literal reading of the Merkle sentence on wikipedia could conclude that it's stating each block of a blockchain must contain a valid Merkle tree, and so technically that sentence on the Wiki is incorrect; because, aside from re-hashing the prior hash (along with each node data), the blockchain algorithm doesn't care what the 'data' payload is. I was giving the Wiki editor the benefit of the doubt, assuming he…
That is not incorrect. That is exactly what is happening.
> because, aside from re-hashing the prior hash (along with each node data), the blockchain algorithm doesn't care what the 'data' payload is. I was giving the Wiki editor the benefit of the doubt, assuming he just worded that sentence incorrectly.
At the blockchain level, sure. But the Merkle tree exists at a higher level of abstraction.
> The only difference between an order-one (degree-one) merkle tree (wired like a 'linked list' graph) and a blockchain, is that merkle doesn't require new data to hash on each non-leaf node, but has data only on leaf nodes.
Right. This means that a Merkle tree of degree one can only contain one element, because it always have one leaf. That is why I called it useless in an earlier post.
> So this means from a coding standpoint every order-one merkel is a single line of code away from being a blockchain. That is: The line of code that adds the 'node data' byte array to the SHA256 Hash Digester input stream, before outputting the node's hash. However this may also be a case where the Merkle wiki is not fully complete and accurate, because I cannot fathom that Merkle never thought of a case where each node contains data of it's own to add into the hashing. I bet the original source material from Merkle does include node data as an option, and would make him technically the actual first inventor of blockchain.
It is only a one line of code difference, but it is a very important line of code. Changing the Merkle Tree in that way complete breaks the two main algorithms that make it useful [0]. Data structures aren't just about the way data is organized. They are also about ways to manipulate that data in that organization that allow for algorithms that wouldn't be possible otherwise. This is why Merkle didn't patent the idea of including data in non-leaf nodes, and that is also why most people don't consider any linked list using cryptographic hashes instead of pointers to be a blockchain. Because the way data is manipulated is just as important as how it is stored.
[0] https://www.certificate-transparency.org/log-proofs-work
Earlier quoted context omitted.
I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain"...because you don't think there's a specific single characteristic of a "blockchain", but there actually is. Here's another for ya: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co... Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said…
You're digging too deep into things. The technicalities of what a blockchain are fundamentally semantical. Most people when referencing "the blockchain" are also implying the portion relating decentralized trustless consensus. So the "simplest possible blockchain" would also require that component.
The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. You should send some snark towards this guy, since that's your core skillset: https://github.com/lhartikk/naivechain
We detached this subthread from https://news.ycombinator.com/item?id=14432952 and marked it off-topic.
Earlier quoted context omitted.
A very literal reading of the Merkle sentence on wikipedia could conclude that it's stating each block of a blockchain must contain a valid Merkle tree, and so technically that sentence on the Wiki is incorrect; because, aside from re-hashing the prior hash (along with each node data), the blockchain algorithm doesn't care what the 'data' payload is. I was giving the Wiki editor the benefit of the doubt, assuming he…
> A very literal reading of the Merkle sentence on wikipedia could conclude that it's stating each block of a blockchain must contain a valid Merkle tree, and so technically that sentence on the Wiki is incorrect; That is not incorrect. That is exactly what is happening. > because, aside from re-hashing the prior hash (along with each node data), the blockchain algorithm doesn't care what the 'data' payload is. I was…
https://anders.com/blockchain/
The idea that each hashed payload need be a Merkle tree was just a typo by that Wiki author. I'm glad you finally agreed by saying "Merkle tree exists at a higher level of abstraction". Sadly though, when you said "each block in the blockchain contains a Merkle Tree", you actually meant it literally.
If you think the Anders video IS INDEED actual blockchain (and properly called such), then you AGREE with me insofar as terminology. (Although Anders does include the "Proof of Work" piece, which is not in all blockchains)
> You say: "A Merkle tree of degree one can only contain one element"
Are you "stating a tautology" there? (lmfao) or do you genuinely not understand that a tree of order one can still be arbitrarily deep? I'll assume that was a typo or one of your "not to be taken liteally" senences. Maybe you're talking in abstractions again.
BTW: I checked the actual Merkle patent (https://www.google.com/patents/US4309569) to see if i was right that he had considered the OBVIOUS tweak of including DATA from nodes. The last three sentences in his patent mention it.
Direct from Merkle patent: "The present invention has been described with respect to authentication of signatures. However, its use is not limited to signatures. It may be used to authenticate a piece of information in a list of information, or one item in a list of items. Thus, although the best mode contemplated for carrying out the present invention has been herein shown and described, it will be apparent that modification and variation may be made without departing from what is regarded to be the invention"