Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How do you know the consensus rules?


from the internet. are you now going to argue that there is no difference between knowing a couple pages of text that describe how a system should work from downloading and running opaque binary from untrusted source?


I would like to see that couple pages of text that describe the Bitcoin consensus rules in such a detail that you could do a clean room implementation of a Bitcoin client.

Hint: They don't exist. That's because the specification of the consensus rules are in the reference implementation of Bitcoin and every other implementation has to implement the same behavior as the C++ client, including any possible programming mistakes.

So you only know if your re-implementation works "correctly" if you download and run it against an opaque binary from an untrusted(?) source.

Whatever you do, you need to anchor your trust somewhere. You should always be aware where you anchor it and what trade-offs there are.


it is true that bitcoin has a reference specification, but only a small subset of that code is actual consensus code, but the rest of your message is just bs.

knowing consensus rules is the easy bit - code is open source, there are multiple implementations, there is community, there are users, merchants, exchanges - they all agree what consensus rules are. but what's most important - I CAN VALIDATE FULL BITCOIN BLOCKCHAIN IN REASONABLE AMOUNT OF TIME AND VERIFY THAT I FOLLOW THE CORRECT CHAIN.

you seem to have forgotten what this thread is about. it's a short one - i'm sure you can track back and read it again, carefully.

edit: clarification.


How do you know you got the right source code?

If you have multiple implementations that disagree how do you decide which one is the right one if there are also 2 competing blockchains available?

You said "You only need to know consensus rules. You can use any software, you can build it yourself, you can order an audit, you can write software yourself." and that's plain wrong.

You need to ensure you got the right consensus rules. This is not as easy as you put it.


You actually do not need to know the consensus rules to determine the PoW chain with the most work.

Simply by understanding the hash function and difficulty, you can calculate the total work of any PoW blockchain. This provides some amount of trust that is very difficult to subvert. You only need to know the consensus rules if you want to be a miner on the chain.


i make a choice and i

VALIDATE THE FUCKING BLOCKCHAIN

what is so hard to grasp about this?


So you're trusting someone on the internet to tell you protocol specifications (and then, since you don't trust the software distributor, doing a full audit of their software or writing your own client).

With Proof of Stake, you're trusting someone on the internet to tell you the hash for the most recent valid block.

And in practice the difference is even less significant. In reality, very close to every new user of a PoW blockchain just trusts the software distributor to be providing them with a client that works with the protocol commonly known as (Bitcoin-Cash, Ethereum, etc).


The two are very different.

Knowing consensus rules I can verify the chain and if I notice something fishy - I go back to figuring out if I’m being attacked.

If instead I simply accept what chain I should follow - I have no guarantees I wasn’t attacked.

With PoS it’s even worse - I can generate million different chains for zero cost and you have no objective measure to tell which one of them is more genuine and more secure. That’s exactly the issue PoW solves - gives you such objective measure to compare chains.


PoS requires that you get the consensus rules AND a hash of the most recent valid block from a trusted source. With PoW, you only get the consensus rules. Either way, you're relying on a trusted third party for bootstrapping.

The risk that the party you trust is defrauding you is infinitesimal in both cases, given you can poll the community widely until you settle a highly credible source of truth, or several credible sources that all agree on the same version of events.

>>That’s exactly the issue PoW solves - gives you such objective measure to compare chains.

That's true, with PoW you can measure the work in each chain. With PoS, you do you have a somewhat similar option: you can measure the market value of the coins of each chain.


> PoS requires that you get the consensus rules AND a hash of the most recent valid block from a trusted source.

no, nothing in PoS requires that. just a sad state of affairs with most centralized insecure PoS coins these days.

> With PoW, you only get the consensus rules.

no, you can opt to get hash of the most recent block if you want to compromise your security.

> Either way, you're relying on a trusted third party for bootstrapping.

no, you don't have to rely on trusted party for PoW bootstrapping. if you're scared somebody has communicated consensus rules to you incorrectly or maliciously - you just get those rules from multiple sources and VERIFY THE CHAIN FOR YOURSELF. with PoW you get objective measure to compare those chains, with PoS you get nothing.

> With PoS, you do you have a somewhat similar option: you can measure the market value of the coins of each chain.

no, you completely misunderstand the problem at hand. given coin X and multiple chains of coin X - how do you compare those chains?

market price of coin X tells you nothing how to distinguish between competing chains. market price is completely detached from actual verification work happening on chain.


>>no, nothing in PoS requires that.

It's necessary for bootstrapping. What alternative is there for bootstrapping using PoS?

>>just a sad state of affairs with most centralized insecure PoS coins these days.

I have no idea what superior alternative for PoS you're referring to. What bootstrapping alternative does any PoS blockchain have to getting the recent state and consensus rules from a trusted third party?

Right now your argument makes absolutely no sense to me as you suddenly seem to be implying that there is a superior PoS mechanism that existing PoS chains don't use, which is an entirely new argument you haven't touched on before and an have not detailed right now, so please elaborate on this with a mind to explain its connection to the argument thread that preceded it.


> It's necessary for bootstrapping

your claim was consensus rules AND hash of most recent block are necessary. this is false, hash of most recent block is not necessary for bootstrapping.

> your argument makes absolutely no sense to me so please elaborate

you have to be more specific. i've responded to every point of your message. if you don't understand something in my response - point that out.


>>your claim was consensus rules AND hash of most recent block are necessary. this is false, hash of most recent block is not necessary for bootstrapping.

A hash of A block from a trusted third party is needed for a node to bootstrap into a PoS network. Regardless of which block that is, the same amount of trust is required. And getting a more recent one reduces the number of blocks the node needs to download.

Anyway, the point is, the difference in bootrapping between PoW and PoS is in PoS, a hash of a block is also needed from a trusted third party. In both cases, a trusted third party is needed, and if the TTP is malicious, they can totally defraud the user.


> the difference in bootrapping between PoW and PoS is in PoS, a hash of a block is also needed from a trusted third party.

so far so good...

> In both cases, a trusted third party is needed

wait, what? when did that thing sneak into your argument? why do i need trusted party for PoW?


I thought we went through this. In PoW, you need the consensus rules from a Trusted Third Party.


> Knowing consensus rules I can verify the chain and if I notice something fishy - I go back to figuring out if I’m being attacked.

But you don't know the consensus rules. How do you know that sha256 is the "real" bitcoin proof of work algorithm? Maybe the real POW algorithm is sha512?

You can't get around this bootstrapping problem.


there is no "real" bitcoin. everybody decides for themselves which consensus rules they deem "correct". it's your money, it's your choice and it's your responsibility.

the point is that when you choose consensus rules bootstrapping doesn't rely on third parties in bitcoin. it does in many other coins including ethereum.


Yes, and just like you can choose which consensus rules to follow, other people can choose which chain to follow.

There are no first principles where you derive everything from.

A person simply picks a chain to follow, it is their choice and their responsibility, in the same exact way that one chooses for consensus rules.


> just like you can choose which consensus rules to follow, other people can choose which chain to follow.

the two are not the same. consensus rules dictate how to validate the chain. following the chain without knowing the rules and validating it is meaningless. might as well trust any existing fiat system.

> There are no first principles where you derive everything from.

no, but there is an objective measure of security contributed to every chain - proof of work. by validating competing chains and measuring how much work they contain you can make informed decision. PoS has none of that, trusting chainstate from third party has none of that, only validating for yourself.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: