Live data from Hacker News

Proof-Of-Work is a Decentralized Clock

grisha.org

51–60 of 130 posts

Re: Proof-Of-Work is a Decentralized Clock

#51

The article references "orphans" in blockchain, what becomes of those orphans? My understanding is that nodes compete to solve the hash - then the "winning" node has its transactions from the preceding 10 minutes added to the blockchain. What about all the other (thousands?) of nodes that didn't win - their transactions must not vanish into the ether, but what becomes of them? They must get added to the blockchain at…

There's three fundamental network protocols at play with bitcoin: Node discovery, transaction broadcasting, and consensus. Node discovery and transaction broadcasting are "easy" gossip protocol problems. It's the consensus that's novel, and that's where blocks, proof-of-work, etc come into play. The gossip protocol for transaction broadcasting ensures that the whole network will see (almost) all transactions before they're published in a block.

Re: Proof-Of-Work is a Decentralized Clock

#52
post #50
post #46

This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers. Ordering transactions works also without proof of work, just including a hash of an existing transaction or block in a new transaction or block and this proofs the order of those transactions or blocks relative to each other. No clock required at all. And also exactly what Bitcoin does but which…

> This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers Is it so obviously wrong? From the first paragraph of the introduction to Satoshi's Bitcoin Paper: "In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions".…

I just looked into the paper [1] for the first time but it says exactly what I wrote. Hashes in the blocks linking to previous blocks establish the ordering of transactions, proof of work limits the voting power of participants. The terminology could be somewhat more precise in distinguishing between the different components and their roles but it is still rather unambiguous about what does what.

Chapter 3 - Timestamp Server

A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5]. The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash. Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.

Chapter 4 - Proof-of-Work

The proof-of-work also solves the problem of determining representation in majority decision making. If the majority were based on one-IP-address-one-vote, it could be subverted by anyone able to allocate many IPs. Proof-of-work is essentially one-CPU-one-vote. The majority decision is represented by the longest chain, which has the greatest proof-of-work effort invested in it. If a majority of CPU power is controlled by honest nodes, the honest chain will grow the fastest and outpace any competing chains.

[1] https://bitcoin.org/bitcoin.pdf

Re: Proof-Of-Work is a Decentralized Clock

#53
post #50
post #46

This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers. Ordering transactions works also without proof of work, just including a hash of an existing transaction or block in a new transaction or block and this proofs the order of those transactions or blocks relative to each other. No clock required at all. And also exactly what Bitcoin does but which…

> This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers Is it so obviously wrong? From the first paragraph of the introduction to Satoshi's Bitcoin Paper: "In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions".…

The reason why timestamping is a difficult problem is that if I publish two transactions spending the same money, the network must agree on the order of events (which is to say: must assign different timestamps to the two transactions) so that one is considered valid, and the other invalid.

No, the system must not decide on the temporal order of your two transactions and in the extreme case, if you make them at the exact same time, it can not because neither one precedes the other one. In this specific case of an attempted double spending the system must only decide to accept at most one of your transactions and it must agree on which one gets accepted, if any. If one of the transactions gets accepted this will establish an ordering of the two transactions but this ordering is a result not an prerequisite.

A miner may randomly include any one of your two transactions, if individually valid, without regard to the time it was made. The inclusion in an accepted block then renders the other transaction invalid but this is still not really judgment about the time those transaction were made at, it is just a statement that one is valid and one is invalid.

Ordering is really only important insofar that you can only spend coins that you have received before, i.e. a spending transaction must not precede a receiving transaction. And even then the order in which the transactions are made does not matter. Nothing stops you from creating a spending transaction before the receiving transaction, the spending transaction will just be invalid and not get included in a block until the receiving transaction is made and included in a block.

Re: Proof-Of-Work is a Decentralized Clock

#54

Earlier quoted context omitted.

>> Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. (I wrote the article) - I see your point, but I think the article is still correct. Now communicating the winning block is a problem, as you pointed out, so as a miner on Mars you're at a disadvantage, but that statistically the probability of solving the puzzle remains same regardless of your location in the universe is still true. As som…

A long enough interval could work within the solar system, but without FTL communication, an actual intergalactic version would require intervals longer than human lifespans. It seems to me that different solar systems wouldn't be able to maintain a single blockchain, they'd each need their own.

In Neptune's Brood there were "slow" currencies where transactions had to be settled by communication with other star systems. It was created as a deliberate way to drive colonization of new star systems, since the only way to create more of it was to colonize more systems. The founders of a colony could end up quite wealthy, if they survived the attempt.

Of course, for every-day transactions there were also "fast" currencies where transactions were settled more or less instantaneously, and "medium" currencies where it would take longer but still be reasonably quick (probably for transactions between parties on different planets in the same system, but I don't recall that it was specified exactly).

Re: Proof-Of-Work is a Decentralized Clock

#55
post #50
post #46

This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers. Ordering transactions works also without proof of work, just including a hash of an existing transaction or block in a new transaction or block and this proofs the order of those transactions or blocks relative to each other. No clock required at all. And also exactly what Bitcoin does but which…

> This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers Is it so obviously wrong? From the first paragraph of the introduction to Satoshi's Bitcoin Paper: "In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions".…

Couldn't we save a lot of energy and have a distributed stores of identities (public keys) with ledgers, something like a git repo per identity?

Whenever I want to spend money, I just commit a changelog to my repo, I want to transfer some credit to identity X, signed with my identity (private key). I sign the ledger with my private key and commit the entry to the distributed store. Push out the changes to anyone who will listen. If you want to forget my identity and transactions, you may, but if I'm credit worthy, my identity will probably be remembered and followed.

Github could remember a repo for each of us, but users of the network would want to mirror the repos, index the repos, and keep an eye out for modified histories.

I imagine there are likely problem(s) with the idea, can someone explain the problem?

Re: Proof-Of-Work is a Decentralized Clock

#56

Earlier quoted context omitted.

>> Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. (I wrote the article) - I see your point, but I think the article is still correct. Now communicating the winning block is a problem, as you pointed out, so as a miner on Mars you're at a disadvantage, but that statistically the probability of solving the puzzle remains same regardless of your location in the universe is still true. As som…

A long enough interval could work within the solar system, but without FTL communication, an actual intergalactic version would require intervals longer than human lifespans. It seems to me that different solar systems wouldn't be able to maintain a single blockchain, they'd each need their own.

Hence the need for Marscoin. However, an ‘interplanetary blockchain’ with blocktimes of hours could be used as an intermediary ledger.

Re: Proof-Of-Work is a Decentralized Clock

#57
post #52
post #50

Earlier quoted context omitted.

> This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers Is it so obviously wrong? From the first paragraph of the introduction to Satoshi's Bitcoin Paper: "In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions".…

I just looked into the paper [1] for the first time but it says exactly what I wrote. Hashes in the blocks linking to previous blocks establish the ordering of transactions, proof of work limits the voting power of participants. The terminology could be somewhat more precise in distinguishing between the different components and their roles but it is still rather unambiguous about what does what. Chapter 3 - Timestam…

You are right that PoW does not establish order. The PoW "ticks" have a temporal order, but the way it is represented in the blockchain is cryptographically using a Merkle tree, and there is no "rule" that the real life appearance of "ticks" must match the blockchain order.

Note that the paper says "_also_ solves", implying that the "representation in majority decision" part is secondary. If you think about it, the winning miner does not really get to decide anything at all, since the block has to exist before the winning SHA is found since it is the input to the SHA.

Re: Proof-Of-Work is a Decentralized Clock

#58
post #50

Earlier quoted context omitted.

> This analysis is obviously wrong, if the important thing was establishing a global clock, you could just use GPS receivers Is it so obviously wrong? From the first paragraph of the introduction to Satoshi's Bitcoin Paper: "In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions".…

Couldn't we save a lot of energy and have a distributed stores of identities (public keys) with ledgers, something like a git repo per identity? Whenever I want to spend money, I just commit a changelog to my repo, I want to transfer some credit to identity X, signed with my identity (private key). I sign the ledger with my private key and commit the entry to the distributed store. Push out the changes to anyone who…

The problem is, where do your coins come from? Who or what is allowed to bring coins into existence and what prevents them from just creating as many as they like? The second problem is, how do you resolve conflicting transactions spending the same coins?

Re: Proof-Of-Work is a Decentralized Clock

#59
post #44

Earlier quoted context omitted.

>> Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. (I wrote the article) - I see your point, but I think the article is still correct. Now communicating the winning block is a problem, as you pointed out, so as a miner on Mars you're at a disadvantage, but that statistically the probability of solving the puzzle remains same regardless of your location in the universe is still true. As som…

Hi, I hope my tone wasn't too grating. I stand by my point though, for the purpose of totally ordering blocks, the difficulty is not intergalactic because a solution on mars is much less useful than a solution on earth. The problem here is time-delay preventing simultaneity. This is the same problem that block chain time-stamping hopes to solve. Thus it seems unfair to me to ignore this problem. I wonder how tight th…

I am working on a project that’s cryptographically encoding passage of time as data, with a millisecond resolution. https://github.com/solana-labs/solana As long as the fabrication process is the same you can have high confidence at time and order of events that are far apart.

Re: Proof-Of-Work is a Decentralized Clock

#60

Earlier quoted context omitted.

A long enough interval could work within the solar system, but without FTL communication, an actual intergalactic version would require intervals longer than human lifespans. It seems to me that different solar systems wouldn't be able to maintain a single blockchain, they'd each need their own.

Hence the need for Marscoin. However, an ‘interplanetary blockchain’ with blocktimes of hours could be used as an intermediary ledger.

Or just use a vdf as the ledger :) https://github.com/solana-labs/solana
Post reply on HN