Nyzo techNyzo team technology proposals

Nyzo team technology proposals

This section contains technology proposals from the Nyzo team. While verifiers always have the option of choosing to update to a new version, the Nyzo team's implementation the Nyzo verifier is still the de facto standard implementation, with no practical alternative branches or implementations of the Nyzo verifier yet available. To avoid exercising undue influence on the direction of the Nyzo blockchain, we will post our proposals for important behavioral changes here, asking for cycle transactions to be approved indicating support of those changes before implementation.

The current cycle-transaction mechanism is functional but impractical. Unless and until on-chain cycle transactions, as described in NTTP-3/1, are implemented, we will consider an NTTP cycle transaction to be approved if it achieves the 75% threshold of votes required for approval. We will store copies of the transaction votes on the blockchain as metadata transactions to prove that the cycle was in support of the proposal. In this particular case, where the funds involved in the cycle transaction would be inconsequential, this will fulfill the same function that on-chain cycle transactions would provide. It will provide proof, on the blockchain, of the cycle's support of a proposal before the proposal is implemented.

To express support for a Nyzo team proposal, please create a cycle transaction with a sender data field in the following format (amount and receiver do not matter):

NTTP-1: <git commit hash of any commit containing the version of the proposal you support (raw bytes)>

The first 8 bytes of the sender data, in this example, would be the ASCII encoding of the "NTTP-1: " proposal identifier. For a higher-numbered proposal, such as NTTP-10 or NTTP-100, the number of bytes used by the proposal identifier would be greater than 8.

The final 20 bytes will always be the raw bytes of a git commit hash. Using raw bytes instead of a hexadecimal string allows the entire hash to be included in the 32-byte sender data field. The client provides an NTTP generation command.

NTTP-1: account aliasesNTTP-2: cycle stabilityNTTP-3: cycle transactions