SIP3-Add-lock-option-to-TxOuts-and-allow-extra-data

From Snowblossom Wiki
Revision as of 06:00, 30 October 2018 by Fireduck (talk | contribs) (migration)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Snowblossom Improvement Proposal 3

SIP3: Add TxOut locking and extra data

Change

Output Locking

This change adds a feature that was always planned, Transaction Requirements on Transaction Outputs. The requirements will allow a transaction output to be blocked until a specific time or block height or both.

message TransactionRequirements {
  int32 required_block_height = 3;
  int64 required_time = 4;
}

This allows a user to mark an output as unspendable for some time.

Extra Data

Additionally, in this change we are allowing users to add extra data to TransactionOutputs. The extra data will not be used by the protocol in any way other than allowing it to be there.

Between this feature and the time locking, this will enable snowblossom funds to be used to stake social networking identities, which is part of the Snowblossom Channels work, which is described here: Snowblossom Channels

Activation Time

The proposed activation block is block 35000, which is estimated to be sometime around Jan 1st, 2019. At that time, all nodes will need to be running Snowblossom 1.4.0 or higher to process new blocks.

Code

The code for this is already in master, but set to not be enabled yet.

Questions

Deployment

If passed, this change will be set to be activated at block 35000. At that point, Transactions with these features will be allowed and nodes that don't have it will reject blocks with those new features. So all nodes will need to be on Snowblossom 1.4.0 or higher at that time.

Voting

  • Passes when 1000 blocks pass containing 25% voting and >50% agreement
  • Pools will represent their miners.
  • Set in your miner or pool configuration file either
    • vote_yes=3
    • vote_no=3

Sponsors

  • Joseph Gleason - Fireduck (slack) - fireduck64 (github)
  • Zachary Coon - Clueless (slack) - cluelessperson (github)