RSKIP
RSKIP - Rootstock Improvement Proposals
RSKIP status terms
Draft - an RSKIP that is open for consideration
Accepted - an RSKIP that is planned for immediate adoption in the reference client, i.e. expected to be included in the next reference client release.
Adopted - an RSKIP that has been adopted in a previous reference client release.
Deferred - an RSKIP that is not being considered for immediate adoption in the reference client. May be reconsidered in the future for a subsequent release of the reference client.
Rejected - an RSKIP that was rejected
RSKIP purpose terms
Sca - an RSKIP that improves scalability
Usa - an RSKIP that improves usability
Fair - an RSKIP that has improves fairness
Sec - an RSKIP that improves security
ST - an RSKIP that proposes a standard track
Layer
Core - Core, consensus related
Node - Related to node manager interfaces, such as RPC
UI - User Interface
2nd - Second-layer protocols, such as off-chain payment channels
Net - Related to p2p networking
DApp - Dapp application interfaces
Implementation Complexity
1 - Minimal
2 - Medium
3 - High
Index
Purpose and Guidelines
| Nr | Title | Created | Author | Purpose | Layer | C |
|---|---|---|---|---|---|---|
| 0 | RSKIP Purpose and Guidelines | 2021-04-15 | JL | Sec | Misc | 2 |
Adopted
| Nr | Title | Created | Author | Purpose | Layer | C |
|---|---|---|---|---|---|---|
| 6 | Block Size Limit | 2016-06-22 | SDL | Sca | Core | 1 |
| 9 | Negotiated Minimum Gas Price | 2016-10-21 | SDL | Sca | Core | 2 |
| 11 | TXINDEX Opcode | 2016-08-07 | SDL | Sca | Core | 1 |
| 15 | Simplified Reward Manager Smart Contract (REMASC) | 2016-11-15 | SDL | Sca | Core | 3 |
| 24 | New Binary Trie | 2016-12-23 | SDL | Sca | Core | 3 |
| 26 | DUPN and SWAPN opcodes | 2016-12-27 | SDL | Sca | Core | 1 |
| 33 | CODEREPLACE opcode | 2017-01-17 | SDL | Sec, Usa | Core | 2 |
| 40 | Basic Bridge for two-way-peg to Bitcoin | 2017-04-25 | SDL | Usa | Core | 2 |
| 42 | Remove world midstates from receiptsq | 2017-06-22 | SDL | Sca | Core | 1 |
| 45 | New Event Tree and Extended LOG | 2017-06-26 | SDL | Sca | Core | 2 |
| 46 | Block Mining Fees Information Mechanism | 2017-10-04 | MM | Usa | Node | 1 |
| 50 | Script Versions using HEADER pseudo-opcode | 2017-12-07 | SDL | Sca | Core | 1 |
| 51 | Memory-Mapped configuration register | 2017-12-10 | SDL | Usa | Core | 1 |
| 60 | Checksum Address Encoding | 2018-06-25 | JL, IO | ST | Net | 1 |
| 85 | Improvements to REMASC contract | 2018-07-11 | LS | Sca | Core | 2 |
| 87 | Whitelisting unlimited mode | 2018 | JD | Usa | Core | 2 |
| 89 | Add Bitcoin block query methods to the bridge contract | 2018-07- | SDL | Usa | Core | 2 |
| 91 | STATIC_CALL opcode | 2018-07-12 | AE | Usa | Core | 2 |
| 92 | Merkle Proof serialization | 2018-08-08 | DLL, MC | Sca | Core | 2 |
| 98 | Deactivation of the federated fallback system for block production | 2018-07- | SDL | Sca | Core | 1 |
| 106 | Precompiled contract for HDWallet utility functions | 2019-02-01 | AM | Usa | Core | 1 |
| 123 | Multikey federation members | 2019-05-28 | AM | Sca, Sec | Core | 2 |
| 125 | Create2 | 2019-04-29 | SMS | Sca, Usa | Core | 1 |
| 132 | Bridge ReceiveHeaders Gas Cost increase | 2019-07-11 | JD, SDL | Fair | Core | 1 |
| 140 | EXTCODEHASH opcode | 2019-09-04 | JL | Usa | Core | 2 |
| 141 | Network Upgrade - Papyrus | 2019-09-27 | AE | Sca, Usa, Sec | Core | 2 |
| 148 | ERC1820 Pseudo-introspection Registry Contract | 2019-11-06 | PMP | Usa | DApp | 1 |
| 152 | CHAINID Opcode | 2019-11-19 | SMS | Sec | Core | 1 |
| 159 | Minimal Proxy Contract | 2020-02-11 | PMP | Usa | DApp | 1 |
| 170 | Peg-in to any address | 2020-09-01 | MI | Usa | Core | 2 |
| 174 | Preserve balance in contract creation | 2021-07-23 | VK | Usa, Fair | Core | 1 |
| 176 | Programmable Peg-in Addresses for faster peg-ins | 2020-09-15 | SDL, GM | Usa | Core | 2 |
| 177 | Universal Merged Mining Extension | 2020-04 | SDL, MP | Sca | Node | 1 |
| 181 | Peg-in rejection events | 2020-11-03 | JD | Usa | Core | 2 |
| 185 | Peg-out refund and events | 2020-11-19 | JD | Usa | Core | 1 |
| 186 | Active Federation creation block height registration | 2020-11-19 | JD | Sec | Core | 1 |
| 187 | Network Upgrade - Iris | 2020-11-20 | AE | Usa, Sec | Core | 2 |
| 199 | registerBtcTransaction Is Public | 2021-01-07 | MI | Sca, Usa, Sec | Core | 2 |
| 200 | Receive headers limits | 2021-01-08 | PGP, MI | Sec | Core | 2 |
| 201 | Time-locked Emergency Multisignature | 2021-01 | SDL | Sec | Core | 2 |
| 203 | getCallStackDepth Precompile method | 2021-01 | SDL | Usa | Core | 1 |
| 219 | New minimum values for peg-in and peg-outs | 2021-07-12 | MI | Usa | Core | 1 |
| 220 | Obtain Bitcoin Block information from bridge methods | 2021-03-26 | PGP, SDL | Usa | Core | 2 |
| 225 | Emergency Multisig public keys | 2021-04 | SDL | Sec | Core | 1 |
| 252 | Transaction Gas Price Cap | 2021-06-29 | SDL | Sec, Fair | Core | 1 |
| 271 | Bridge peg-out batching | 2021-08 | SDL | Sec, Usa | Core | 2 |
| 290 | Adjust Testnet block minimum difficulty | 2021-11-18 | AE | Usa | Core | 2 |
| 291 | Network Upgrade - Hop | 2021-12-14 | AE | Usa, Sec | Core | 2 |
| 305 | Peg-out efficiency improvement (Segwit) | 2022-06-01 | PDG, RFV, NV | Sca Usa Sec | Core | 2 |
| 353 | Align RSK P2SH redeem script with Bitcoin Core standard transactions checks | 24-OCT-22 | MI, AE | Usa,Sec | Core | 2 |
| 357 | Adjust the number of block confirmations for a PowPeg migration period | 25-OCT-22 | AE | Usa,Sec | Core | 1 |
| 358 | Network Upgrade (patch) - Hop 4.0.1 | 2022-10-26 | AE | Usa, Sec | Core | 2 |
| 374 | Reestablish the number of block confirmations for a PowPeg migration period | 15-FEB-23 | MI | Usa,Sec | Core | 1 |
| 375 | Use the pegout creation transaction hash as the key in the map structure that stores the pegout transactions waiting for signatures | 30-MAY-23 | MI | Sca,Usa | Core | 1 |
| 376 | Set version 2 to PowPeg migration transactions | 12-DEC-23 | MI | Usa | Core | 1 |
| 377 | Store the last retired federation **standard** P2SH script | 17-MAY-23 | MI | Usa | Core | 1 |
| 379 | Bridge peg-out and migration transactions index | 12-DEC-23 | MI | Sca,Sec | Core | 2 |
| 383 | Increase POWpeg activation age | 10-MAY-23 | JD | Fair | Core | 1 |
| 385 | Bridge method `getEstimatedFeesForNextPegOutEvent` improvement | 12-MAY-23 | MI | Usa | Core | 1 |
| 388 | Network Upgrade - Fingerroot | 2023-05-31 | AE | Usa, Sec | Core | 2 |
| 398 | PUSH0 instruction | 2023/07/11 | VK | Sca | Core | 2 |
| 400 | Calldata gas cost reduction | 2023/07/12 | VK | Sca | Core | 2 |
| 412 | BASEFEE instruction | 2023/11/9 | VK | Usa | Core | 2 |
| 414 | Network Upgrade - Arrowhead | 2023-12-07 | VK | Usa, Sec | Core | 2 |
| 415 | Fix pegnatories address derivation from public keys | 30-JAN-24 | MI | Usa | Core | 1 |
| 417 | Avoid transactions to be reverted when Bridge method calls from smart contracts return an empty response | 28-FEB-24 | MI | Usa | Core | 1 |
| 419 | Powpeg Spendability Validation Protocol | 31-AUG-23 | JD, JZ | Sec | Core | 2 |
| 427 | Express the amount value in wei for peg-out related events | 17-APR-24 | MI | Usa | Core | 1 |
| 428 | New pegout creation event including UTXO outpoint values | 23-APR-24 | NC, MI | Sca, Sec | Core | 1 |
| 434 | Bridge Bitcoin block chainwork up to 12 unsigned bytes | 26-Jun-24 | JD, JZ, MI | Sec | Core | 1 |
| 435 | Network Upgrade - Lovell | 2024-06-27 | AE | Usa, Sec, Sca | Core | 2 |
| 436 | Network Upgrade (patch) - Arrowhead 6.3.1 | 2024-07-04 | AE | Usa | Core | 2 |
| 438 | Limit the maximum size of initcode and apply extra gas cost for every 32-byte chunk of initcode | 2024-07-16 | FML | Fair | Core | 2 |
| 445 | MCOPY instruction | 2024/08/12 | AE | Usa | Core | 2 |
| 446 | Transient storage opcodes (TLOAD/TSTORE) | 2024/08/11 | AE | Usa | Core | 2 |
| 453 | Prevent address creation on failed CREATE/CREATE2 operations | 2024/10/09 | AS | Core | 2 | |
| 454 | Support bitcoin blocks with chain work up to 32 unsigned bytes | 25-Oct-24 | NC | Sca | Core | 1 |
| 459 | Mark rejected peg-ins as processed | 10-DEC-24 | MI | Usa | Core | 1 |
| 460 | Ignore non-standard outputs when searching for the witness commitment hash | 12-DEC-24 | MI | Usa,Sec | Core | 1 |
| 518 | Network Upgrade - Reed | 2025-06-13 | AE | Usa, Sca | Core | 3 |
Accepted
| Nr | Title | Created | Author | Purpose | Layer | C |
|---|---|---|---|---|---|---|
| 4 | Parallel Execution using runtime contract dependencies | 2016-06-22 | SDL | Sca | Core | 2 |
| 5 | Shift Operations | 2016-06-22 | SDL | Sca | Core | 1 |
| 10 | Transactions never invalidate blocks | 2016-10-21 | SDL | Sca | Core | 2 |
| 144 | Parallel Transaction Execution for Unitrie | 23-OCT-2019 | SDL | Sca | Core | 3 |
| 153 | Add BLAKE2 Compression Function `F` Precompile | 2020-11-19 | FJ | Usa | Core | 2 |
| 171 | Clean EVM Internal Buffer in Call-like Opcodes | 2020-02-09 | FJ | Usa | Core | 1 |
| 197 | Fix Precompile Calls Not Conforming With CALL Semantics | 2020-12-15 | FJ | Usa | Core | 2 |
| 218 | New Fee Rewards Address for the RSK Core Developers Fund | 2021-03-25 | FJ | Usa | Core | 1 |
| 502 | PowPeg and Union Bridge integration | 19-MAR-25 | MI | Sca | Core | 1 |
Draft
| Nr | Title | Created | Author | Purpose | Layer | C |
|---|---|---|---|---|---|---|
| 1 | Distributed Memory | 2009-06-16 | SDL | Sca | Core | 2 |
| 8 | Verification-less mining | 2016-09-29 | SDL | Fair | Core | 2 |
| 13 | Support for stable assets & token issuance | 2016-08-08 | SDL | Sca | Core | 3 |
| 16 | Combined State Tree | 2016-11-01 | SDL | Sca | Core | 3 |
| 18 | Fast Hibernation Wakeup using Trie | 2016-09-28 | SDL | Sca | Core | 2 |
| 19 | RSK Address formats | 2016-11-24 | SDL | Sca | Core | 1 |
| 20 | Survive and Ephemeral Memory Spaces | 2016-11-25 | SDL | Sca | Core | 2 |
| 21 | Efficient Persistent Storage Rent | 2016-12-02 | SDL | Sca | Core | 2 |
| 25 | Memory caches | 2016-12-27 | SDL | Sca | Core | 2 |
| 27 | Highly Efficient Storage Rent | 2016-12-29 | SDL | Sca, Fair | Core | 2 |
| 28 | Ephemeral Data | 2016-12-29 | SDL | Sca | Core | 1 |
| 30 | Code Pagination | 2017-01-01 | SDL | Sca | Core | 2 |
| 31 | Hibernation Compression | 2017-01-01 | SDL | Sca | Core | 3 |
| 32 | Double-Hashed Addresses | 2017-01-10 | SDL | Sca | Core | 2 |
| 34 | Contract const DATA Sections | 2017-01-20 | SDL | Sca | Core | 1 |
| 35 | Managing BridgeMaster Federation Members | 2017-02-02 | SDL | Sca | Core | 3 |
| 36 | Transaction Encapsulation | 2017-02-02 | SDL | Sca | Core | 2 |
| 37 | Single Address Smart Wallets | 2017-02-18 | SDL | Sca, Usa | Core | 3 |
| 38 | Signature Compression | 2017-02-21 | SDL | Sca | Core | 3 |
| 39 | Multi-key Accounts | 2017-02-25 | SDL | Sca | Core | 2 |
| 41 | Extended Bitcoin Bridge Transactions | 2017-04-25 | SDL | Usa | Core | 2 |
| 43 | Sequential Address format | 2017-06-23 | SDL | Sca | Core | 2 |
| 44 | Remove the zero-byte discount in data | 2017-06-24 | SDL | Sca | Core | 1 |
| 47 | CALLNUM opcode | 2017-10-18 | SDL | Sca | Core | 1 |
| 48 | Informing average free gas per block | 2017-11-28 | SDL | Sca | Core | 2 |
| 52 | Cache Oriented Storage Rent | 2017-12-12 | SDL | Sca | Core | 2 |
| 53 | LTCP | 2017-02- | SDL | Sca | Core | 3 |
| 55 | Native On-Chain Probabilistic payments | 2017-03-11 | SDL | Usa | Core | 3 |
| 56 | Sporadic Verification-less mining | 2017-03-11 | SDL | Fair | Core | 3 |
| 57 | Derivation Path for Hierarchical Deterministic Wallets | 2018-04-05 | IO | Usa | Net | 1 |
| 58 | Handling Bitcoin Forks | 2017-11-14 | SDL | Sca | Core | 3 |
| 61 | Cache Oriented Storage Rent (collect at EOT version) | 2018-05-03 | SDL | Sca | Core | 2 |
| 62 | Compressed block propagation using state trie update batch | 2018-05-07 | SDL | Sca | Core | 2 |
| 63 | Double Signing for Delayed Signature Aggregation | 2018-05-07 | SDL | Sca | Core | 2 |
| 64 | Garbage Collector for State Pruning | 2018 | SDL, MMA | Sca, Usa | Core | 2 |
| 65 | MINGASPRICE Opcode | 2018-05-11 | JIO | Sec | Core | 1 |
| 68 | Federation Notification System | 2018-05-05 | JIO, SDL | Sec | Net | 2 |
| 70 | Default TX Data | 2016-11-25 | SDL | Sca | Core | 2 |
| 71 | Transfer 2300 gas units for code execution in external transactions | 2019 | SDL | Usa | Core | 1 |
| 75 | Native Off-Chain Probabilistic payments | 2018-05-07 | SDL | Sca | Core | 2 |
| 77 | Smoother Difficulty adjustment | 2016 | SDL | Sca, Fair | Core | 2 |
| 95 | DELEGATECALL as an instruction set extension | 2018 | SDL | Sca | Core | 2 |
| 99 | Orchid Network Upgrade | 2018-08-31 | AE | Sca, Usa, Sec | Core | 3 |
| 102 | Efficient and Secure Fee Bumping | 2018 | SDL | Usa, Sec | 2 | |
| 107 | Smaller Unitrie Nodes for Higher Scalability | 2019 | SDL | Sca | Core | 1 |
| 108 | More Efficient Unitrie Key Mapping | 2019 | SDL, AL | Sca, Usa | 2 | |
| 109 | Lower Storage Gas Costs for Shorter Keys | 2019 | SDL | Sca, Usa | 2 | |
| 110 | Fork Detection Data in RSKBLOCK tags | 2019 | SDL | Sec | 2 | |
| 112 | Unitrie Node identifiers | 2019 | SDL | Sec, Sca | 1 | |
| 113 | Unified Cache-Oriented Storage Rent for the Unitrie | 2019 | SDL | Sca | Core | 2 |
| 115 | Removal of Unused Headers from the Bridge Contract | 2019 | SDL | Sca | Core | 2 |
| 116 | Failure of SSTORE on Log-Gas Recursive CALLs | 2019 | SDL | Sca, Sec, Usa | Core | 1 |
| 119 | Precompiled contract for inspecting block headers | 2019-04-01 | DM | Usa | Core | 1 |
| 120 | Shifting opcodes | 2019-04-23 | SMS | Sca | Core | 1 |
| 122 | New method GetBtcTransactionConfirmations for Bridge contract | 2019-05-03 | AM | Usa | Core | 2 |
| 131 | Preventing CREATE2-after-SUICIDE in the same block | 2019-06-10 | SMS, SDL | Sca, Usa | Core | 1 |
| 134 | Locking cap | 2019-07-11 | JD | Sca, Usa, Sec | Core | 2 |
| 135 | Managing BridgeMaster Federation Members | 2016-11-25 | SDL | Sca | Core | 2 |
| 138 | Multi-signed transactions supporting enveloping and multi-key accounts | 2019 | SDL | Sca | Core | 2 |
| 139 | Precompile to get transaction refunds | 2019 | SDL | Sca | Core | 1 |
| 145 | Struct Transaction Format | 2017-02- | SDL | Sca | Core | 2 |
| 149 | Improved asset transfers | 2019-11 | SDL | Sca | Core | 2 |
| 157 | Cumulative Difficulty in JSON-RPC block responses | 2020-02-11 | MP | Usa | Node | 1 |
| 167 | Install Code Precompile | 2020-07 | SDL | Usa | Core | 1 |
| 169 | Rectify EXTCODEHASH implementation | 2020-07 | NPS | Sca | Core | 2 |
| 172 | Simple Subroutines for the EVM | 2020/09/ | AL | ST | Core | 2 |
| 173 | Chunk-Based Code Merkleization using the Unitrie | 2020-09 | SDL | Sca | Core | 2 |
| 178 | External Confirmation Hashrate | 2020-09 | SDL | Sec | Core | 2 |
| 179 | BTC-RSK timestamp linking | 2020-10 | SDL | Sec | Core | 1 |
| 180 | Limit the RSK merged mining merkle proof size | 2021-07-15 | VK | Sec | Core | 1 |
| 188 | Precompiled Contracts for BLS12-381 Curve Operations | 2020-11-20 | FJ | Usa | Core | 2 |
| 190 | Powpeg address change audit trail | 2020-11 | SDL | Sec | Core | 1 |
| 191 | Remove opcodes incompatible with Ethereum | 2020-11 | AL | Sec | Core | 1 |
| 192 | getTransactionIndex Precompile method | 2020-11 | SDL | Usa | Core | 1 |
| 194 | Bloom filter compression | 2020-11 | SDL | Sca | Core | 2 |
| 198 | Minpeg, a miners' multisig in the peg | 2021-01 | SDL | Sec | Core | 2 |
| 207 | Emergency Time-locks Refresh | 2021-01 | SDL | Sec | Core | 2 |
| 208 | checkEnvironment Precompile method | 2021-01 | SDL | Usa | Core | 1 |
| 209 | Stack-overflow removal | 2021-01 | SDL | Sec | Core | 2 |
| 212 | HW-compatible Transaction Versioning System | 2021-01 | SDL | Sca | Core | 1 |
| 213 | Simple Transaction Versioning System | 2021-02 | SDL | Sca | Core | 1 |
| 214 | Ephemeral Calldata using Precompile | 2021-02-29 | SDL | Sca | Core | 2 |
| 215 | Ephemeral Blockchain | 2021-02-03 | SDL | Sca | Core | 2 |
| 223 | Cumulative Work in Fork Detection Data | 2021-03-31 | SDL | Sec | Core | 2 |
| 224 | Include Uncles in CPV in Fork Detection Data | 2021-04-01 | SDL | Sec | Core | 2 |
| 239 | Reprice Trie Read Opcodes | 2021-04-20 | SDL, SM | Sca, Sec | Core | 1 |
| 240 | Implement Storage Rent in RSK | 2021-04-27 | SDL, SM, DM, FJ | Sca, Sec, Fair | Core | 2 |
| 241 | User-triggered peg-out tx fee-bumping | 2021-05 | SDL | Usa, Sec | Core | 2 |
| 242 | Proxy code Incentive | 2021-05-15 | SDL | Sca, Fair | Core | 1 |
| 243 | Intra-transaction Gas Refunds | 2021-05-16 | SDL | Sca, Fair | Core | 2 |
| 244 | Variable Storage Costs | 2021-05-16 | SDL | Sca, Fair | Core | 2 |
| 264 | Simplified Emergency Time-locks Refresh | 2021-08 | SDL | Sec | Core | 2 |
| 265 | Bridge UTXOs Coin Selection | 2021-08 | SDL | Sec, Usa | Core | 2 |
| 270 | Bridge UTXO set size management | 2021-08 | SDL | Sec, Usa | Core | 2 |
| 272 | Bridge UTXO Management Account | 2021-08 | SDL | Sec, Usa | Core | 2 |
| 281 | Rollup-optimized Ephemeral Calldata | 2021-10-05 | SDL | Sca | Core | 2 |
| 285 | Utility Methods to Make PPA Safer | 2021-10-25 | SDL | Usa, Sec | Core | 1 |
| 336 | Simple Parallelizable Semaphore | 2022-07-11 | SDL | Sca | Core | 2 |
| 351 | Miniheader - block header compression | 2022-09-12 | IO (ilan@iovlabs.org) | Sca | Core | 1 |
| 387 | Support for Bridging Ordinals | 2023-06-19 | SDL | Usa | Core | 2 |
| 455 | PowPeg migration to multiple outputs | 20-NOV-24 | MI | Usa | Core | 1 |
| 491 | Reduce target difficulty to lower average block time to 10s | 2025-02-27 | PDG | Usa | Core | 1 |
| 517 | Block time-centric difficulty adjustment with uncle threshold | 2025-05-29 | PDG | Sca,Sec | Core | 2 |
| 529 | New storage cells in Bridge native contract for base and super events info | 26-AUG-25 | MI | Sca | Core | 1 |
| 535 | Add the baseEvent field to the Block header extension | 2025-10-08 | SDL | Sca | Core | 1 |
| 536 | Additional methods for BlockHeader precompiled contract | 2025-10-10 | MI | Usa | Core | 1 |
| 712 | RSK typed structured data hashing and signing | 2020-11-02 | JL | ST | UI | 2 |
Rejected
| Nr | Title | Created | Author | Purpose | Layer | C |
|---|---|---|---|---|---|---|
| 2 | Dynamic Contract Dependency | 2011-06-16 | SDL | Sca | Core | 2 |
| 3 | Parallel Execution using static contract dependencies | 2016-06-22 | SDL | Sca | Core | 2 |
| 7 | Persistent Storage Rent Paid by Code | 2016-06-11 | SDL | Sca | Core | 3 |
| 12 | Contract Sleep | 2016-08-06 | SDL | Sca | Core | 1 |
| 14 | Reward Manager Smart Contract (REMASC) | 2016-09-06 | SDL | Sca | Core | 3 |
| 17 | Simpler Persistent Storage Rent | 2016-09-27 | SDL | Sca | Core | 3 |
| 29 | Change in Account creation cost to prevent Spam | 2017-01-01 | SDL | Sca | Core | 1 |
| 59 | Child Contracts | 2016-06-11 | SDL | Sca | Core | 1 |
(*) Under evaluation to be implemented in the next reference client release