Hacker News new | past | comments | ask | show | jobs | submit login

then if you're not talking about governance, you're still wrong. there's no voting, only if you insist on re-defining what words mean, at which point i won't be interested in continuing the discussion.



Of course there is voting. Who do you think decides which transactions go in the chain, and in what order? The miner who wins leader election during this round (in Bitcoin anyway) does, and the rest of the nodes decide whether to accept its vote. The other nodes can also choose to reject this vote for a while, as long as after seeing it they don't accept a chain with less hashpower, and still follow the protocol (more or less).

The leader can even opt to put no transactions in the current block, something that has actually happened on many occasions: https://www.theblockcrypto.com/post/67928/bitcoin-miners-are.... Obviously, the leader was making a decision here, there were not actually zero transactions to process :)


You have zero clue how bitcoin works.

No, there is no voting and there is no leader election. Miners construct blocks with transactions and if they manage to find a signature - that block is appended to the chain. If somebody does it faster - they append their block.

Please at least get the basics before you start arguing with people.


What, exactly, do you think the purpose of computing a SHA prefix is? It's to perform distributed, decentralized leader election. The leader who wins has the privilege of proposing the next block. "If somebody does it faster" is the voting aspect--nodes vote on who they think did it faster, and it is quite possible that they disagree (which can only be resolved by another round of leader election, since the next leader can choose which block to continue from). In the event that there's a longest chain, of course, nodes will go with the longest chain as a tiebreaker scenario.

I know far more about Bitcoin than I ever wanted to, believe me. You really should not be making these kinds of ad hominem arguments when you don't understand terms like "consensus" or "leader election."


> The leader who wins has the privilege of proposing the next block.

No, the hash that you win with, deterministically points to the only possible block that you can “propose”. Your understanding is completely backwards. You seriously don’t know how bitcoin works.


Whether leader election happens at the same time as the block is proposed or not is completely irrelevant to the nature of the problem from a distributed systems perspective. The point is that in each round, the leader both wins the election, and proposes the next block. There are other variants of proof of work in which the leader is allowed to continue generating new blocks for a period of time and (AFAIK) these inherit all of Bitcoin's security properties.

Here is my question to you: if the node that wins the election (and the ones that accept its mined block, of course) is not the one voting on which transactions get to go into the chain, rather than be stuck in the mempool somewhere, who is? Do you genuinely think there is no decision being made there?


You're confusing the discussion by trying to force the "leader" terminology. That term does not appear in the BTC whitepaper and the protocol's approach to consensus is different than a traditional leader elected system.

There is no "voting" and no "leader" except in the most abstract sense and I'm not sure why you're so determined to use those terms.


There is no leader election. You trying to insist on this terminology is like trying to explain that the earth is really flat by proposing some very special space metric.

All miners “vote” by hashing and one of them wins. They don’t win because somebody voted for them, they win because they happened to find a satisfactory hash. The chance to win that hash faster than other miners is proportional to hashrate. The hash is determined by the block of transactions entirely, so once you win the race, you don’t get to propose anything other than that one predetermined block.

Which transactions go into a block is decided before any mining for that transaction happens.

Just read, please.


> Just read, please.

You're coming off worse in this argument because you seem to realize on some level they're just using different (possibly wrong) terms in their accurate description of the mechanisms, but then you keep making snide remarks that imply they don't understand the mechanisms.


i in fact do insist on them not understanding the mechanism. trying to force incoherent terminology is just the largest red flag signifying that lack of understanding. snide remarks is my bad, i definitely lost my patience, it's hard to argue with somebody saying that sky is pink because they've changed what pink means.


Red flag, sure. But when they say things like "The peer-reviewed paper to which I linked, which I am not proposing as a replacement for Bitcoin, explains (to those who are willing to read it) why the block being chosen before or after the leader election does not matter when it comes to the security and consensus properties of Bitcoin." it seems very clear to me that they do understand the mechanism, despite that red flag.

I think your analogy to flat earth was better. Because sure, treating the earth as flat isn't correct, but it's often a perfectly good approximation, and arguing about whether a big field is flat or not is a giant waste of time. Don't completely dismiss someone because they use those terms.

"Leader" or not, it's basically equivalent. And the process of letting miners input yes/no values for whether they support a proposal into their block, averaged over thousands of blocks, gives you the same result as "voting". So talk about whether those results are useful.


There are variants of PoS where stakers can delegate their "votes" to other stakers and there are variants where validators compete for "leader" timeslots. These words carry certain meaning and none of it is useful or applicable to bitcoin. As with flat earth analogy, I agree that it's possible to have this perspective, i just think it's harmful for conveying the idea of bitcoin correctly.


You are really stretching, man. The term “leader” does not really apply in this mechanism.


> No, there is no voting and there is no leader election.

Every 10 minutes a miner wins the right to append a block to the chain, by guessing a secret number. The chances of winning are proportional to the amount of money each miner has expended in the process of guessing the secret number. This is equivalent to holding a vote every 10 minutes in order to choose who gets to append the transaction block. Therefore, you're wrong. There's a vote. And if you can't understand this obvious fact about bitcoin, you have no business discussing bitcoin.


Obviously I can’t change your decision to use this terminology, but ponder this: when the leader is elected every 10 minutes, do they get a choice of what block they append to the chain? No they don’t. So was it election of the leader or election of the block? And if it was an election, wouldn’t the result always be the same with largest miner always winning because they have most votes?

As I said in a sibling thread, it’s like arguing the earth is flat by proposing a very special metric of space. Feel free of course, I just don’t accept it.


> when the leader is elected every 10 minutes, do they get a choice of what block they append to the chain? No they don’t.

Yes, they do get to choose the block. Transactions to include in the block are (usually) chosen from the mempool, which is unique per node (it’s similar but never exactly the same between any two nodes). Miners can also choose to include transactions that were never publicly broadcasted, and therefore never appeared in another mempool. Typically the transactions with highest fees are chosen, although fees can also be paid (or bumped) outside the mempool.

The miner of a block doesn’t get to choose the contents of every transaction, but they do choose which transactions to include when they win a block.

It seems like you’re hung up on terms that aren’t commonly used in the context of bitcoin mining, but are valid and are commonly used in the broader context of distributed systems.


You’re not paying attention. Does miner have a choice what transactions to include after they win the “election”? Don’t rush, take your time.


> do they get a choice of what block they append to the chain? No they don’t.

Of course, they have a choice. If didn't, miners would serve no purpose. We would just have one block and that would be the block that would be appended. The consensus would be achieved automatically, without any need of guessing secret numbers.

> And if it was an election, wouldn’t the result always be the same with largest miner always winning because they have most votes?

No, because the miner is elected at random. The crucial point to understand is that their chances of getting elected are proportional to the money they spent. That doesn't mean the largest miner will get elected 100% of the time.


> Of course, they have a choice

lol, no they don't.

a certain hash wins, every ~10 minutes. that hash is calculated from sha(block, nonce), where nonce is the randomized part that miner mutates to get different hashes. once a hash that satisfies the protocol is found - that's it, you can't choose a different block to append to the chain.

it is just laughable that i have to explain this level of basics.


Okay, and who chooses the block? (Hint: it's the node that wins leader election).

Maybe this article will help you understand just how nonessential the fact that the block is part of the SHA actually is: https://www.usenix.org/system/files/conference/nsdi16/nsdi16.... Please read the whole article, and then come back so we can have a discussion on equal footing.


> Okay, and who chooses the block?

well certainly not the winner of the "election", because by the time that "election" starts, the block is already constructed.

and i'm not going to read any of your links until you actually start understanding the basics of bitcoin protocol. though your lack of understanding explains perfectly why you fall for scammy bells and whistles of competing bitcoin-wannabes. "bitcoin new generation". lol, give me a break.


The peer-reviewed paper to which I linked, which I am not proposing as a replacement for Bitcoin, explains (to those who are willing to read it) why the block being chosen before or after the leader election does not matter when it comes to the security and consensus properties of Bitcoin. It is important for you to understand that this does not matter so you can understand why when the block is chosen does not change the fact that leader election is being performed.

Again, I'll ask you, since you keep dodging the question: if the node elected as leader is (according to you) not choosing the block, who is choosing the block? Why are you so obsessed with whether the value was chosen "before" or "after" the election, which is an irrelevant detail of the protocol? If you can't answer these things and won't read the paper, I don't really see any reason to keep talking to you, because all you've done is make the same irrelevant point over and over.


Where do you think the transactions included in the block come from? The miner picks them.


and now the weaseling starts. i asked a very specific question:

1. once the "leader" is "elected" 2. do they have a choice of what block to append?

you said they do, which is fundamental lack of understanding of how bitcoin works.


The question that you asked was:

> when the leader is elected every 10 minutes, do they get a choice of what block they append to the chain?

and the answer is yes, the miner that gets elected chooses which transactions to append to the chain. Do they pick the transactions after getting elected? No, they pick them before getting elected. In fact, it doesn't matter whether they pick the transactions before or after getting elected, because their chances of getting elected are unaffected by which transactions they picked. Therefore, it makes absolutely no difference. The fact that you think it makes a difference tells me you're very confused about the role miners have in the bitcoin network.


The answer is no and you’re clueless if you think otherwise. The “leader” has no choice in blocks or transactions after they “win” the “election”.


The "leader" has no choice after they win the current round but they do have a choice as to what to include in the winning block before they start hashing.

Maybe they act like all the other rational miners and optimize by mining fees.

Maybe they include no transactions and only take the miner reward.

Maybe they they don't like the Dutch so all their transactions are excluded.

It really doesn't matter as all y'all have been arguing over is what to call the person who won the current round.


Everybody has that choice before they win the election, so are they all leaders?

You really don’t see how this terminology is completely incoherent for this scenario?


They become a "leader" when they get elected, so only one of them becomes the "leader". There's nothing incoherent about this terminology.


lol, they don't understand you


I think you're missing the larger picture of accruing blocks over time, and deciding what is the "canonical" largest chain.

A miner can choose which block to build on. At any given moment Bitcoin can have several competing "in progress" forks. This is why most exchanges require... 7, I think?... blocks on top of yours to consider the transaction more or less confirmed.

> And if it was an election, wouldn’t the result always be the same with largest miner always winning because they have most votes?

Yes, this is a 51% attack in Bitcoin. If you have a majority of votes, you can disregard the current chain, fork from behind, and catch up.


I’ve been reading this thread. I have no idea why these people insist on using the word “leader” when it doesn’t fit. Is there some ideological reason for this?


There is no "ideological" reason. I don't even own cryptocurrency. It's just a fact that the entire purpose of proof of work is to perform leader election. The defining characteristic of leader election is that only the leader commits new values, and there should only be one leader eventually chosen for a given round; the definition has nothing to do with using some sort of majority vote or anything like that. To see how it differs from "ordinary" consensus, I want you to tell me how a Bitcoin-like system could be used to decide on any value other than either (i) one known in advance by all parties (which doesn't require a consensus protocol at all), or (ii) one chosen by the node that wins the block lottery.

This is expanded upon in the peer-reviewed Bitcoin-NG paper that both of you are refusing to read, which breaks down the Bitcoin protocol into distinct parts (which was why I linked it--not because I am proposing that it replace the Bitcoin protocol, but because I thought it would be useful for you to understand how Bitcoin performs leader election already). Specifically, it analyzes the effects of splitting up leader election and block commit parts of the protocol. As it turns out, it has essentially no effect on Bitcoin's security guarantees, which is not surprising--because the fact that block selection and leader election happen at the same time is an implementation detail that doesn't actually matter! Once you realize this detail that you are obsessing over (the block being decided at the same time the leader is) is not important for the protocol, you will also see that the leader election is in fact the critical part.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: