mastercoin-MSC/spec — pull request #86 by LOLLOLOOLOL (2014-03-20 10:02:09+00:00)
Title: Specify revision control, and redefinition of Class B transactions

Added The Master Protocol / Mastercoin Complete Specification revision
control section to address transaction validation issues, and redefined Class B
transactions to allow uncompressed key pairs to create valid
Mastercoin transactions.

Please reference my posts on the Mastercoin announcement thread starting here: https://bitcointalk.org/index.php?topic=265488.msg5740349#msg5740349

And my posts on the Mastercoin coding contest thread starting here:
https://bitcointalk.org/index.php?topic=292628.msg5776762#msg5776762

These changes primarily intend to resolve an issue where many transactions are invalid as defined by the Mastercoin specification, despite being publicly and unanimously declared as valid by various Mastercoin implementations. The proposed redefinition of Class B transactions and implementation of revision control should align the implementations with specification and establish a discrete point from which various contributors to the project can strive for standardization. The addition of the revision control section also enables a transaction to be provably valid even if considered invalid by current or past specification revisions.

The secondary intent of the proposed changes is to provide a definitive method of determining the validity of a transaction. To clarify, many transactions are currently considered invalid by the specification, however are not considered invalid in practice. It is unclear what factors determine the validity of a transaction. The proposed changes clarify this by stating that the validity of a transaction is determined by the Mastercoin specification, however an addresses balance is determined through consensus. In this manner, human error is tolerated through the Mastercoin development process, yet the importance of the specification is stressed as a critical centerpiece to the project.