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 |
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 |
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 |
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 |
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 |
305 | Peg-out efficiency improvement (Segwit) | 2022-06-01 | PDG, RFV, NV | Sca Usa Sec | Core | 2 |
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 |
419 | Powpeg Spendability Validation Protocol | 31-AUG-23 | JD, JZ | Sec | Core | 2 |
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