Post
Topic
Board Development & Technical Discussion
Merits 6 from 4 users
Re: Cosign Consensus
by
stwenhao
on 30/06/2025, 04:09:55 UTC
⭐ Merited by d5000 (2) ,ABCbits (2) ,askii (1) ,mcdouglasx (1)
Just run Signet: https://en.bitcoin.it/wiki/Signet

Quote
Which transaction is valid?
Only those, which are signed by signet miners.

Quote
users randomly select each other to cosign their inputs
You can do that in today's Script: just add OP_CHECKSIG, without any key, and then, a valid public key and signature will be required. Also, you can do "OP_CHECKSIG OP_CODESEPARATOR", if you want to sign exactly the same data as before, and remove this additional Script from the signed data.

Quote
There are no fees, and there is no inflation because there is no blockchain, no blocks, and no coinbase transactions.
If there are no fees, then what is the incentive to sign anything? If people have no reason to sign anyone's coins, then they can just stop doing that, and halt your network in this way.

Quote
It's fully decentralized without staking or work, so it has no measurable impact on the environment.
Proof of Work is not going to disappear anytime soon. Quite the opposite: it is possible to require Proof of Work inside Script, by checking the size of the DER signature. And it can be splitted or merged with other sidechains: https://mempool.space/testnet4/tx/8397c2323e3fa099c15be68399346b2b3d223ef8e81e553242763e1a4c60771a

Also, you probably received that link at least once, but I will share it again: https://www.truthcoin.info/blog/pow-cheapest/

If you switch from Proof of Work into something else, then you will get just "hidden Proof of Work" instead, but you won't avoid it. For example: if coins are signed, then the size of the signature can act as a Proof of Work. And you will need to check things like that, for example to avoid flooding your network with a lot of fake transactions, signed by large group of signers, who can effortlessly flood your network, if there are no protections.

Quote
they have to run a proof of randomness algorithm, PORA
At the end of the day, no matter who will be selected, someone will be picked, as a cosigner. And then, that person can just sign fake transactions, or just reject to sign anything, and halt your network entirely, by making you unable to send any transaction at all.

Also, when your network will just start, then there will be just a few people interested in your system. And then, if you have for example 5 users, then it doesn't really matter, which one will be randomly picked.

Another thing is that you didn't understand, why Proof of Work is needed: you can run regtest, where every second hash is a valid block. Mining is ridiculously easy, almost nonexisting there. And if your idea would be good enough, then you could just run regtest publicly. So, why you wouldn't do that? Because making signatures is cheap. And where making a chain of signatures (even without any blocks) is cheap, then not only it can be easily produced, but also easily attacked.

So, by fighting with Proof of Work, and trying to remove it, you just open your network for "multiple history attack", where one group of nodes will sign one group of transactions, and another group of nodes will sign something completely different, and because of no mining, nobody would be able to tell, which history is the correct one.

Quote
The outputs of a transaction can't be spent until the inputs are cosigned
Which could be never. When your network is small, then it can happen quite easily: if you have for example 5 nodes, then just 4 of them can decide: let's stop signing and see, what will happen. In case of Proof of Work, the network will still be pushed forward, because the remaining node can still keep mining new blocks. But in your network it is not the case, just because you removed Proof of Work entirely.