Raph Frank [ARCHIVE] on Nostr: 📅 Original date posted:2013-02-12 📝 Original message:Has this been considered? ...
📅 Original date posted:2013-02-12
📝 Original message:Has this been considered?
If made sufficiently general, older clients could support any
extension of the rules.
Various "hard" parameters within the protocol are defined in main.h of
the official client.
In BIP-34, there is a suggested way to make changes, based on consensus.
https://en.bitcoin.it/wiki/BIP_0034
These could be made into a rule for changing the parameters directly.
The process for updating could be handled by adding a new field to the
coinbase transaction, in the same way the height was added in BIP-34.
Something like
- miner proposed a change by by including proposal in a block (name of
parameter and new value)
- seconded by at least 6 of the next 10 blocks (proposal dies otherwise)
- active if 750 of the last 1000 blocks voted yes, or 950 of any
successive 1000 previous blocks voted yes (with reduced thresholds on
testnet)
- dies if more than 500 of the previous 1000 voted No
- blocks which don't reference the proposal are considered to abstain
This could also be used to update NOPs. Complex signing algorithms
could be incorporated. However, that would require a more complex
scripting language for defining opcode functions. The proposal would
have opcode number + script description of algorithm. This would also
allow methods <method name> + <script code>. Once of the NOPs could
be "call method".
The rule would require that the script is valid under the current
rules (NOPs as nops) and under the latest rules. This prevents
needing to try all possible permutations. However, it reduces
security.
An compromise would be to have each new opcode change could as a
version and scripts must be valid under all versions in the chain, so
far.
Once an op-code is accepted, new clients implementations would
probably create dedicated functions for performing the calculation.
Older clients would have to perform the calculations using the
scripting language.
📝 Original message:Has this been considered?
If made sufficiently general, older clients could support any
extension of the rules.
Various "hard" parameters within the protocol are defined in main.h of
the official client.
In BIP-34, there is a suggested way to make changes, based on consensus.
https://en.bitcoin.it/wiki/BIP_0034
These could be made into a rule for changing the parameters directly.
The process for updating could be handled by adding a new field to the
coinbase transaction, in the same way the height was added in BIP-34.
Something like
- miner proposed a change by by including proposal in a block (name of
parameter and new value)
- seconded by at least 6 of the next 10 blocks (proposal dies otherwise)
- active if 750 of the last 1000 blocks voted yes, or 950 of any
successive 1000 previous blocks voted yes (with reduced thresholds on
testnet)
- dies if more than 500 of the previous 1000 voted No
- blocks which don't reference the proposal are considered to abstain
This could also be used to update NOPs. Complex signing algorithms
could be incorporated. However, that would require a more complex
scripting language for defining opcode functions. The proposal would
have opcode number + script description of algorithm. This would also
allow methods <method name> + <script code>. Once of the NOPs could
be "call method".
The rule would require that the script is valid under the current
rules (NOPs as nops) and under the latest rules. This prevents
needing to try all possible permutations. However, it reduces
security.
An compromise would be to have each new opcode change could as a
version and scripts must be valid under all versions in the chain, so
far.
Once an op-code is accepted, new clients implementations would
probably create dedicated functions for performing the calculation.
Older clients would have to perform the calculations using the
scripting language.