Live data from Hacker News

Is Git a Block Chain?

domustower.com

31–40 of 55 posts

Re: Is Git a Block Chain?

#32
Yes they are Merkle trees. But the missing part of a blockchain is the incentive part. Obviously you don't even need git or anything so complicated for a blockchain. All you need is a network of computers that would periodically:

  * receive all the transactions (or their hashes) that occurred
  * sign this with some HMAC, and publish it
  * then we know that the transactions occurred by X time
of course, the question is how do we know transaction A really occurred after X time? Perhaps some will claim it occurred before X, but just wasn't included by anyone in the network for X because they are discriminating against that transaction's participants, or something.

And what if it was included by some in the network but not others? How do we know some are not cheating?

That's where proof-of-work comes in. You can also have proof-of-stake and other mechanisms, by which to solve the Byzantine Generals problem. How do we know that the signers aren't cheating? Who watches the watchers?

Re: Is Git a Block Chain?

#34

Yes they are Merkle trees. But the missing part of a blockchain is the incentive part. Obviously you don't even need git or anything so complicated for a blockchain. All you need is a network of computers that would periodically: * receive all the transactions (or their hashes) that occurred * sign this with some HMAC, and publish it * then we know that the transactions occurred by X time of course, the question is h…

All of the complexity of bitcoin (including having and paying miners) comes from the requirement to be completely distributed, with no authority that could refuse to include "bad" transactions.

But if you're not signing any black- or grey-hat documents or transactions, then you can just pick a trustworthy central party to receive the hashes and publish the chain.

The startup GuardTime has been doing document timestamping and integrity checks with a blockchain for a bit while longer than bitcoin.

* You hash documents that you want to timestamp, and send the hash to them.

* They hash all received hashes and the previous head of the blockchain together, and publish the head hash in the paper copy of Financial Times: https://guardtime.com/photos/ft14-2.png

* The exact contents and "created before than" timestamp of the documents can now be fully verified, unless someone can manage to gather and destroy all paper copies of Financial Times published after it was sent to them.

The incentive for them is an usual freemium payment model.

Re: Is Git a Block Chain?

#35
post #15

Earlier quoted context omitted.

I want to make sure people don't overlook this IPFS link as just a decentralized GitHub. IPFS is building a content-addressable web. Think about how BitTorrent magnet links work—it's a hash of the actual movie (or Linux distribution) you're trying to download, and using that hash, you can connect with all the people who've already downloaded it to get it from them. On a content-addressable web, pulling up the New Yor…

IPFS does look interesting, but how does it provide updateable references? What's the equivalent of "give me today's headlines", which is pointedly not content-addressible because you don't know the content yet?

IPNS is a layer on top of IPFS that is essentially a map from public key to something signed by the corresponding private key. So you can store an IPFS hash in IPNS under your public key. Then whenever you create new content, just update the hash in your IPNS entry. People only need to remember your public key to find your latest content.

Re: Is Git a Block Chain?

#36

The strength of bitcoin is the blockchain. It prevents you from going back and rewriting history--you can only append to the current block. In Git you can change history. So I don't think Git can be called a blockchain, although it shares the sames concepts, like the merkle tree.

I feel like that's not really a fair statement. With git, if you change the history, it effectively tosses out the old tree and creates a new one with new hashes. You're really not modifying the old history, you're saying "Get rid of the current history tree and create a new one with this change in it". You can do the same with Bitcoin, you could modify your copy of the blockchain to insert some new transaction, and…

The difference is that for the git chains it is not possible for anyone to independently verify what the true chain is. You can rewrite history and it will be just as correct as the first one.

PoW (Proof of Work) makes it impossible to just "replay all the subsequent transactions that happened", because your fake chain will have significantly less proof of work.

Re: Is Git a Block Chain?

#37
post #9
post #3

No, its not. Its just a chain. There's no block. The block in a blockchain is everything to do with distributed / trustless conscensus.

Imagine how cool it would be if I could share a guid for my repo - and then your bit client (let's call it gitcoin, or maybe just bit) can fetch new commits from a distributed block chain (essentially the git log). Github is no longer an intermediary or a single point of failure. Private repo? Don't share the guid.

http://www.Gitchain.org (begun by Factom's dev Yurii)

Re: Is Git a Block Chain?

#38

Earlier quoted context omitted.

I thought it was a directed acyclic graph. Care to share the distinction?

The terminology used in #bitcoin-wizards is to call it a merkelized dag, or merkle-dag. Similarly, we also refer to "Merkelized Abstract Syntax Trees", a way of hashing code originally proposed by Pieter Wuille and Russel O'connor(1) that will probably be added to Bitcoin's scripting system eventually. Pretty much any data structure can have hash functions added to it to "merkelize" it, producing an authenticated dat…

Bitcoin Script is Forth-like RPN, why does it need AST? Do you mean there are plans to add more languages/DSLs to Bitcoin which with multiple compiler front-ends generating ASTs. which then translated to "machine opcodes"? Something similar to Ethereum?

Or maybe it's a solution for transaction scriptSig malleability? [1]

[1] https://en.bitcoin.it/wiki/Transaction_Malleability

Post reply on HN