rsksmart / RSKIPs

RSK Improvement Proposals
53 stars 28 forks source link

RSKIPs

This repository contains the RSK Improvement Proposals (RSKIPs).

You can find an easily browseable version of this information here.

RSKIP status terms

RSKIP purpose terms

Layer

Implementation Complexity

Index

Nr Title Creation Date Author Pur Layer C Status
0 RSKIP Purpose and Guidelines 07-MAY-18 JL Adopted
1 Distributed Memory 09-JUN-16 SDL Sca Core 2 Draft
2 Dynamic Contract Dependency 11-JUN-16 SDL Sca Core 2 Rejected
3 Parallel Execution using static contract dependencies 22-JUN-16 SDL Sca Core 2 Rejected
4 Parallel Execution using runtime contract dependencies 22-JUN-16 SDL Sca Core 2 Accepted
5 Shift Operations 22-JUN-16 SDL Sca Core 1 Rejected
6 Block Size Limit 22-JUN-16 SDL Sca Core 1 Adopted
7 Persistent Storage Rent Paid by Code 11-JUN-16 SDL Sca Core 3 Rejected
8 Verification-less mining 29-SEP-16 SDL Fair Core 2 Draft
9 Negotiated Minimum Gas Price 21-OCT-16 SDL Sca Core 2 Adopted
10 Transactions never invalidate blocks 21-OCT-16 SDL Sca Core 2 Accepted
11 TXINDEX Opcode 07-AUG-16 SDL Sca Core 1 Adopted
12 Contract Sleep 06-AUG-16 SDL Sca Core 1 Rejected
13 Support for stable assets & token issuance 08-AUG-16 SDL Sca Core 3 Draft
14 Reward Manager Smart Contract (REMASC) 10-NOV-16 SDL Sca Core 3 Rejected
15 Simplified Reward Manager Smart Contract (REMASC) 14-NOV-16 SDL Sca Core 3 Adopted
16 Combined State Tree 01-NOV-16 SDL Sca Core 3 Draft
17 Simpler Persistent Storage Rent 27-SEP-16 SDL Sca Core 3 Rejected
18 Fast Hibernation Wakeup using Trie 28-SEP-16 SDL Sca Core 2 Draft
19 RSK Address formats 24-NOV-16 SDL Sca Core 1 Draft*
20 Survive and Ephemeral Memory Spaces 25-NOV-16 SDL Sca Core 2 Draft
21 Efficient Persistent Storage Rent 02-DIC-16 SDL Sca Core 2 Draft*
22 Commit to number of Merkle tree elements 04-DIC-16 SDL Sca Core 1 Draft
23 Onchain PoUBS 05-DIC-16 SDL Sca Core 3 Draft*
24 New Binary Trie 23-DIC-16 SDL Sca Core 3 Adopted
25 Memory caches 27-DIC-16 SDL Sca Core 2 Draft
26 DUPN and SWAPN opcodes 27-DIC-16 SDL Sca Core 1 Adopted
27 Highly Efficient Storage Rent 29-DIC-16 SDL Sca/Fair Core 2 Draft
28 Ephemeral segwit 29-DIC-16 SDL Sca Core 1 Draft*
29 Change in Account creation cost 01-JAN-17 SDL Sca Core 1 Reject
30 Code Pagination 01-JAN-17 SDL Sca Core 2 Draft
31 Hibernation Compression 10-JAN-17 SDL Sca Core 3 Draft
32 Double-Hashed Addresses 10-JAN-17 SDL Sca Core 2 Draft*
33 CODEREPLACE opcode 17-JAN-17 SDL Sec/Usa Core 2 Adopted
34 Contract const DATA Sections 20-JAN-17 SDL Sca Core 1 Draft*
35 Managing BridgeMaster Federation Members 02-FEB-17 SDL Sca Core 3 Draft
36 Transaction Encapsulation 02-FEB-17 SDL Sca Core 2 Draft
37 Single Address Smart Wallets 18-FEB-17 SDL Sca/Usa Core 3 Draft
38 Signature Compression 21-FEB-17 SDL Sca Core 3 Draft
39 Multi-key Accounts 25-FEB-17 SDL Sca Core 2 Draft
40 Basic Bridge for two-way-peg to Bitcoin 25-APR-17 SDL Usa Core 2 Adopted
41 Extended Bitcoin Bridge Transactions 25-APR-17 SDL Usa Core 2 Draft*
42 Remove world midstates from receipts 22-JUN-17 SDL Sca Core 1 Adopted
43 Sequential Address format 23-JUN-17 SDL Sca Core 2 Draft
44 Remove the zero-byte discount in data 24-JUN-17 SDL Sca Core 1 Draft
45 New Event Tree and Extended LOG 26-JUN-17 SDL Sca Core 2 Adopted
46 Block Mining Fees Information Mechanism 04-OCT-17 MM Usa Node 1 Adopted
47 CALLNUM opcode 18-OCT-17 SDL Sca Core 1 Draft
48 Informing average free gas per block 28-NOV-17 SDL Sca Core 2 Draft
49 One-To-Many hub payment channels 01-DIC-17 SDL Sca Core 2 Draft
50 Script Versions using HEADER pesuo-opcode 07-DIC-17 SDL Sca Core 1 Adopted
51 Memory-Mapped configuration register 10-DIC-17 SDL Usa Core 1 Adopted
52 Cache Oriented Storage Rent 12-DIC-17 SDL Sca Core 2 Draft*
53 Lumino Transaction Compression (LTCP) 20-FEB-17 SDL Sca Core 3 Draft*
54 Transaction amount & destination privacy 07-MAR-17 SDL Usa Core 3 Draft
55 Native Probabilistic payments 11-MAR-17 SDL Usa Core 3 Draft*
56 Sporadic Verification-less mining 11-MAR-17 SDL Fair Core 3 Draft
57 Derivation Path for Hierarchical Deterministic Wallets 05-ABR-18 IO Usa Net 1 Draft
58 Handling Bitcoin Forks 14-NOV-17 SDL Sca Core 3 Draft
59 Child Contracts 11-JUN-16 SDL Sca Core 1 Accepted
60 Checksum Address Encoding 25-JUN-18 IO ST Net 1 Adopted
61 Cache Oriented Storage Rent (collect at EOT version) 03-MAY-18 SDL Sca Core 2 Draft*
62 Compressed block propagation using state trie update batch (COBLO) 07-MAY-18 SDL Sca Core 2 Draft*
63 Double Signing for Delayed Signature Aggregation 07-MAY-18 SDL Sca Core 2 Draft
64 Garbage Collector for State Pruning 29-MAY-18 SDL & MMa Sca,Usa Core 2 Draft
65 MINGASPRICE Opcode 18-MAY-18 JIO Sec CORE 1 DRAFT
70 Default TX Data 25-NOV-16 SDL Sca Core 2 Draft
71 Transfer 2300 gas units for code execution in external transactions 30-JAN-19 SDL Usa Core 1 Draft
75 Native Off-Chain Probabilistic payments 07-MAY-18 SDL Sca Core 2 Draft
77 Smoother Difficulty adjustment 2016 SDL Sca, Fair Core 2 Draft
85 Remasc native contract improvements 11-JUL-2018 LS Sca Core 2 Adopted
87 Whitelisting unlimited mode 12-JUL-18 JD Usa Core 2 Adopted
89 Add Bitcoin block query methods to the bridge contract JULY-18 SDL Usa Core 2 Adopted
91 STATIC_CALL opcode 2018 AE Usa Core 2 Adopted
92 Merkle Proof serialization 2018 DLL & MC Sca Core 2 Adopted
95 DELEGATECALL as an instruction set extension 2018 SDL Sca Core 2 Draft
98 Deactivation of the federated fallback system for block production 2018 SDL Sca Core 1 Adopted
99 Orchid Network Upgrade 2018 AE Scan,Sec,Usa Core 3 Adopted
102 Efficient and Secure Fee Bumping 2018 SDL Usa Core 2 Draft
106 Precompiled contract for HDWallet utility functions 2019 AM Usa Core 1 Adopted
107 Smaller Unitrie Nodes for Higher Scalability 2019 SDL Sca Core 1 Draft
108 More Efficient Unitrie Key Mapping 2019 SDL & AL Usa,Sca Core 2 Draft
109 Lower Storage Gas Costs for Shorter Keys 2019 SDL Usa,Sca Core 2 Draft
110 Fork Detection Data in RSKBLOCK tags 2019 SDL Sec Core 1 Draft
112 Unitrie Node identifiers 2019 SDL Sec,Sca Core 1 Draft
113 Unified Cache Oriented Storage Rent for the Unitrie 2019 SDL Sec,Sca Core 2 Draft
115 Removal of Unused Headers from the Bridge Contract 2019 SDL Sca Core 2 Draft
116 Failure of SSTORE on Low-Gas Recursive CALLs 2019 SDL Sec,Sca,Usa Core 1 Draft
119 Precompiled contract for inspecting block headers 2019 DM Usa Core 1 Draft
120 Shifting opcodes 2019 SMS Sca Core 1 Adopted
122 New method GetBtcTransactionConfirmations for Bridge contract 2019 SMS Usa Core 2 Draft
123 Multikey federation members 2019 AM Sca, Sec Core 2 Adopted
125 Create2 2019 SMS Sca Core 1 Adopted
131 Preventing CREATE2-after-SUICIDE in the same block 2019 SMS & SDL Sca,Usa Core 1 Adopted
132 Bridge ReceiveHeaders Gas Cost increase 2019 JD & SDL Fair Core 1 Adopted
134 Locking cap 2019 JD Sec,Sca,Usa Core 2 Draft
135 Managing BridgeMaster Federation Members 25-NOV-16 SDL Sca Core 2 Draft
138 Multi-signed transactions supporting enveloping and multi-key accounts 10-SEP-19 SDL Sca Core 2 Draft
139 Precompile to get transaction refunds 10-SEP-19 SDL Sca Core 1 Draft
140 EXTCODEHASH opcode 04-SEP-19 JL Usa Core 2 Adopted
141 Network Upgrade: Papyrus 27-SEP-19 AE Sca,Usa,Sec Core 2 Adopted
144 Parallel Transaction Execution for Unitrie 13-OCT-19 SDL Sca Core 3 Draft
145 Struct Transaction Format 20-FEB-17 SDL Sca Core 2 Draft
146 Encode bridge events in Solidity format 25-OCT-19 MI & JD Usa Core 2 Adopted
148 ERC1820 Pseudo-introspection Registry Contract 6-NOV-19 PMP Usa DApp 1 Adopted
149 Improved Asset transfers 10-NOV-19 SDL Sca Core 2 Draft
152 CHAINID Opcode 19-NOV-19 SMS Sec Core 1 Draft
153 Add BLAKE2 Compression Function F Precompile 19-NOV-20 FJ Usa Core 2 Adopted
157 Cumulative Difficulty in JSON-RPC block responses 11-FEB-20 MP Usa Node 1 Accepted
159 Minimal Proxy Contract 19-FEB-20 PMP Usa DApp 1 Adopted
167 Install Code Precompile 07-JUL-20 SDL Usa Core 1 Draft
169 Rectify EXTCODEHASH implementation 31-JUL-20 NPS Usa Core 2 Adopted
170 Peg-in to any address 01-SEP-20 MI Usa Core 2 Adopted
171 Clean EVM Internal Buffer in Call-like Opcodes 02-SEP-20 FJ Usa Core 1 Adopted
172 Subroutines for EVM 01-SEP-20 AL Usa Core 2 Draft
173 Chunk-Based Code Merkleization using the Unitrie 10-SEP-20 SDL Sca Core 2 Draft
174 Preserve balance in contract creation 23-JUL-21 VK Usa/Fair Core 1 Adopted
176 Programmable Peg-in Addresses for faster peg-ins 15-SEP-20 SDL,GM Usa Core 2 Adopted
177 Universal Merged Mining Extension APR-2020 SDL & MP Usa Node 1 Adopted
178 External Confirmation Hashrate 2-SEP-20 SDL Sec Core 2 Draft
179 BTC-RSK timestamp linking 16-OCT-20 SDL Sec Core 1 Adopted
180 Limit the RSK merged mining merkle proof 15-JUL-21 VK Sec Core 1 Adopted
181 Peg-in rejection events 03-NOV-20 JD Usa Core 2 Adopted
185 Peg-out refund and events 19-NOV-20 JD Usa Core 1 Adopted
186 Active Federation creation block height registration 19-NOV-20 JD Sec Core 2 Adopted
187 Network Upgrade: Iris 20-NOV-20 AE Usa, Sec Core 2 Adopted
190 Powpeg address change audit trail 21-NOV-20 SDL Sec Core 1 Draft
191 Remove opcodes incompatible with Ethereum 23-NOV-20 AL Usa Core 1 Adopted
192 getTransactionIndex Precompile method 24-NOV-20 SDL Usa Core 1 Draft
194 Bloom filter compression 28-NOV-20 SDL Sca Core 1 Draft
197 Fix Precompile Calls Not Conforming With CALL Semantics 15-DEC-20 FJ Usa Core 2 Adopted
198 Minpeg, a miners' multisig in the peg JAN-21 SDL Sec Core 2 Draft
199 registerBtcTransaction Is Public 07-JAN-21 MI Sca,USa,Sec Core 2 Adoted
200 Receive headers limits 08-JAN-21 PGP & MI Sec Core 2 Adopted
201 Time-locked Emergency Multisignature 15-JAN-21 SDL Sec Core 2 Adopted
203 getCallStackDepth Precompile method 15-JAN-21 SDL Usa Core 1 Adopted
207 Emergency Time-locks Refresh 18-JAN-21 SDL Sec Core 2 Draft
208 checkEnvironment Precompile method 19-JAN-21 SDL Usa Core 1 Draft
209 Stack-overflow removal 21-JAN-21 SDL Sec Core 2 Draft
212 HW-compatible Transaction Versioning System 29-JAN-21 SDL Sca Core 1 Draft
213 Simple Transaction Versioning System 2-FEB-21 SDL Sca Core 1 Draft
214 Ephemeral Calldata using Precompile 29-JAN-21 SDL Sca Core 2 Draft
215 Ephemeral Blockchain 3-FEB-21 SDL Sca Core 2 Draft
218 New Fee Rewards Address for the RSK Core Developers Fund 25-MAR-21 FJ Usa Core 1 Adopted
219 New minimum values for peg-in and peg-outs 12-JUL-21 MI Usa Core 1 Adopted
220 Obtain block or block header by hash or height in bridge methods 26-MAR-21 PGP,SDL Sca Core 1 Adopted
223 Cumulative Work in Fork Detection Data 31-MAR-21 SDL Sec Core 2 Draft
224 Include Uncles in CPV in Fork Detection Data 1-APR-21 SDL Sec Core 2 Draft
225 Emergency Multisig public keys 1-APR-21 SDL Sec Core 1 Adopted
239 Reprice Trie Read Opcodes 20-APR-21 SDL & SM Sec, Sca Core 1 Draft
240 Implement Storage Rent in RSK 27-APR-21 SDL, SM & DM Sec, Sca, Fair Core 2 Draft
241 User-triggered peg-out tx fee-bumping 5-MAY-21 SDL Usa,Sec Core 2 Draft
242 Proxy code Incentive 14-MAY-21 SDL Sca,Fair Core 1 Draft
243 Intra-transaction Gas Refunds 16-MAY-21 SDL Sca,Fair Core 2 Draft
244 Variable Storage Costs 16-MAY-21 SDL Sca,Fair Core 2 Draft
252 Transaction Gas Price Cap 29-JUN-21 SDL Sec,Fair Core 1 Adopted
264 Simplified Emergency Time-locks Refresh 12-AUG-21 SDL Sec Core 2 Draft
265 Bridge UTXOs Coin Selection 13-AUG-21 SDL Sec,Usa Core 2 Draft
270 Bridge UTXO set size management 13-AUG-21 SDL Sec,Usa Core 2 Draft
271 Bridge peg-out Batching 13-AUG-21 SDL Sec,Usa Core 2 Adopted
272 Bridge UTXO Management Account 13-AUG-21 SDL Sec,Usa Core 2 Draft
281 Rollup-optimized Ephemeral Calldata 5-OCT-21 SDL Sca Core 2 Draft
284 New deserialization method for Flyover refund addresses 19-OCT-21 JD Usa,Sec Core 1 Adopted
285 Utility Methods to Make PPA safer 25-OCT-21 SDL Usa,Sec Core 1 Draft
290 Adjust Testnet block minimum difficulty 18-NOV-21 AE Usa Core 1 Adopted
291 Network Upgrade: Hop 14-DEC-21 AE Sec,Usa Core 3 Adopted
293 Add method getActivePowpegRedeemScript to the Bridge contract and perform additional Flyover peg-in validations 18-JAN-22 JD Usa, Sec Core 2 Adopted
294 Limit the number of inputs to include in a migration transaction 03-FEB-22 MI Sca, Sec Core 1 Adopted
297 Increase max timestamp difference between btc and rsk blocks for Testnet 13-APR-22 VK Usa Core 1 Adopted
298 Bridge peg-out creation index 18-APR-22 JD Sca Core 2 Draft
305 Peg-out efficiency improvement (Segwit) 01-JUN-22 PDG, RVF & NV Sca, Usa, Sec Core 2 Draft
326 Pegout events improvements 21-JUNE-22 KI & JT Usa Core 1 Adopted
336 Simple Parallelizable Semaphore 11-JUL-22 SDL Sca Core 2 Draft
351 Miniheader: block header compression 12-SEP-22 IO Sca Core 1 Draft
353 Align RSK P2SH redeem script with Bitcoin Core standard transactions checks 24-OCT-22 MI,AE Usa,Sec Core 2 Adopted
357 Adjust the number of block confirmations for a PowPeg migration period 25-OCT-22 AE Usa,Sec Core 1 Adopted
358 Network Upgrade (patch): Hop 4.0.1 26-OCT-22 AE Usa,Sec Core 2 Adopted
374 Reestablish the number of block confirmations for a PowPeg migration period 15-FEB-23 MI Usa,Sec Core 1 Adopted
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 Adopted
376 Set version 2 to PowPeg migration transactions 12-DEC-23 MI Usa Core 1 Adopted
377 Store the last retired federation standard P2SH script 17-MAY-23 MI Usa Core 1 Adopted
379 Bridge peg-out and migration transactions index 12-DEC-23 MI Sca,Sec Core 2 Adopted
383 Increase POWpeg activation age 10-MAY-23 JD Fair Core 1 Adopted
385 Bridge method getEstimatedFeesForNextPegOutEvent improvement 12-MAY-23 MI Usa Core 1 Adopted
387 Support for Bridging Ordinals 19-MAY-23 SDL Usa Core 2 Draft
388 Network Upgrade: Fingerroot 31-MAY-23 AE Usa,Sec Core 2 Adopted
398 PUSH0 instruction 11-JUL-23 VK Sca Core 2 Adopted
400 Calldata gas cost reduction 12-JUL-23 VK Sca Core 2 Adopted
412 BASEFEE instruction 9-NOV-23 VK Usa Core 2 Adopted
414 Network Upgrade: Arrowhead 7-DEC-23 VK Usa,Sec Core 2 Adopted
415 Fix pegnatories address derivation from public keys 30-JAN-24 MI Usa Core 1 Adopted
417 Avoid transactions to be reverted when Bridge method calls from smart contracts return an empty response 28-FEB-24 MI Usa Core 1 Adopted
419 Powpeg Spendability Validation Protocol 31-AUG-23 JD, JZ Sec Core 2 Draft
427 Express the amount value in wei for peg-out related events 17-APR-24 MI Usa Core 1 Draft
428 New pegout creation event including UTXO outpoint values 23-APR-24 NC, MI Sca, Sec Core 1 Draft
434 Bridge Bitcoin block chainwork up to 12 unsigned bytes 26-Jun-24 JD,JZ,MI Sec Core 1 Adopted
435 Network Upgrade: Lovell 27-JUN-24 AE Usa, Sec, Sca Core 2 Draft
436 Network Upgrade (patch): Arrowhead 6.3.1 4-JUL-24 AE Usa Core 2 Adopted
438 Limit the maximum size of initcode and apply extra gas cost for every 32-byte chunk of initcode 16-JUL-24 FML Fai Core 2 Draft
445 MCOPY instruction 12-AUG-24 AE Usa Core 2 Draft
446 Transient storage opcodes 12-AUG-24 AE Usa Core 2 Draft

(*) Under evaluation to be implemented in the next reference client release

Author Index

Initials Full name Email
AE Adrian Eidelman adrian@rootstocklabs.com
AL Angel Lopez
AM Ariel Mendelzon amendelzon@rootstocklabs.com
DLL Diego López León
DM Diego Masini
FJ Federico Jinich federico@rootstocklabs.com
GM Guido Medina
IO Ilan Olkies ilan@rootstocklabs.com
JIO Jose Ignacio Orlicki
JD Jose Dahlquist jose@rootstocklabs.com
JL Julian Len julian@rootstocklabs.com
JT Jeremy Then jeremy.then@rootstocklabs.com
JZ Julia Zack julia.zack@rootstocklabs.com
KI Kelvin Isievwore
LS Lisandro Sebrie
MC Martín Coll
MI Marcos Irisarri marcos@rootstocklabs.com
MM Martin Medina
MMA Matias Marquez
MP Martin Picco
NC Nathaniel Calderón nathaniel.calderon@rootstocklabs.com
NPS Nicolas Perez Santoro
NV Nicolás Vescovo nicolas.vescovo@rootstocklabs.com
PDG Patricio Diego Gallardo patricio@rootstocklabs.com
PGP Pamela Gonzalez Perilli
PMP Pedro Meulen Prete
RFV Ramses Fernandez-Valencia
SDL Sergio Demian Lerner sergio@rootstocklabs.com
SM Shreemoy Mishra shreemoy@rootstocklabs.com
SMS Sebastian Matias Sicardi
VK Volodymyr Kravets volodymyr@rootstocklabs.com
FML Frederico M. Leal frederico.macielleal@rootstocklabs.com

Build locally

Install prerequisites

  1. Open Terminal.

  2. Check whether you have Ruby 2.1.0 or higher installed:

    ruby --version
  3. If you don't have Ruby installed, install Ruby 2.1.0 or higher.

  4. Install Bundler:

    gem install bundler
  5. Install dependencies:

    bundle install

Build your local Jekyll site

  1. Bundle assets and start the server:

    bundle exec jekyll serve
  2. Preview your local Jekyll site in your web browser at http://localhost:4000.