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. ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development