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

NrTitleCreatedAuthorPurposeLayerC
0 RSKIP Purpose and Guidelines 2021-04-15 JL Sec Misc 2

Adopted

NrTitleCreatedAuthorPurposeLayerC
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

NrTitleCreatedAuthorPurposeLayerC
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

NrTitleCreatedAuthorPurposeLayerC
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

NrTitleCreatedAuthorPurposeLayerC
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

Author Index

Initials Profile
AE Adrian Eidelman
AL Angel Lopez
AM Ariel Mendelzon
DLL Diego López León
DM Diego Masini
FJ Federico Jinich
GM Guido Medina
IO Ilan Olkies
JIO Jose Ignacio Orlicki
JD Jose Dahlquist
JL Julian Len
LS Lisandro Sebrie
MC Martín Coll
MI Marcos Irisarri
MM Martin Medina
MMA Matias Marquez
MP Martin Picco
NPS Nicolas Perez Santoro
NV Nicolás Vescovo
PDG Patricio Diego Gallardo
PGP Pamela Gonzalez Perilli
PMP Pedro Meulen Prete
RFV Ramses Fernandez-Valencia
SDL Sergio Demian Lerner
SM Shreemoy Mishra
SMS Sebastian Matias Sicardi
VK Volodymyr Kravets