Post
Topic
Board Development & Technical Discussion
Merits 4 from 2 users
Re: (Ordinals) BRC-20 needs to be removed
by
vjudeu
on 30/05/2024, 09:40:59 UTC
⭐ Merited by ABCbits (3) ,garlonicon (1)
Quote
why would a scriptpubkey need to be unlimited in size for what is supposed to be a "payment system"?
Because it is called "Script" for a reason. The first version, created at a time of the whitepaper, used only public keys, and nothing else. There was no OP_CHECKSIG or anything like that. Also, the field "scriptPubKey" is called that for a reason. I guess in the older version, it could be named just as "pubKey", and could contain just some 65 bytes for some uncompressed public key. In that case, no limit was needed, because public keys had just their default sizes, expressed as PUBLIC_KEY_SIZE constant in "key.h" file, with value 65 (bytes).

And then, imagine you have some working code, which works fine with public keys and signatures. Imagine there is no Script. And imagine you want to add one. Then, why would you put any limit on top of that? Satoshi added limits only in places, where there was a need to do so. Initially, there was nothing like "the block size limit" either. However, there was an implicit limit of 32 MiB for a P2P message, which means, that even if a bigger block was compatible with consensus rules, then you had no way of sending that block, without constructing some P2P message, and sticking with limits for network messages.

Quote
you have to define a strict format for a transaction call it a transaction template and anything that doesn't matchup to that template gets rejected.
Guess what: in the old version, it was not a thing, to even reject a non-standard transaction! It was added later:

Changes:
- Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again
- IsStandard() check to only include known transaction types in blocks
- Jgarzik's optimisation to speed up the initial block download a little
Note that it was added in version 0.3.18, not 0.1.0.

Quote
now, there is no such thing as utxos anymore. it will be account based.
If you have an account-based system, instead of having coin-based system, then it is bad for privacy. It encourages address reuse, and in account-based model, it is much cheaper to reuse an address. Which means, that anyone visiting your address, can learn a lot about all of your payments.

Quote
uncompressed data using a protocol (bitcoin P2P) that wasn't designed for bulk data transfer.
The data is mostly hashes and keys and signatures that are uncompressible.

The speed of initial download is not a reflection of the bulk data transfer rate of the protocol.  The gating factor is the indexing while it downloads.