Skip to content

Commit 6b5a276

Browse files
authored
first draft remediation of CIP-0033 (cardano-foundation#688)
1 parent e5c008c commit 6b5a276

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

CIP-0033/README.md

+21-7
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
---
22
CIP: 33
33
Title: Reference scripts
4+
Status: Active
5+
Category: Plutus
46
Authors:
57
- Michael Peyton Jones <[email protected]>
68
Implementors:
79
- Michael Peyton Jones <[email protected]>
810
- Jared Corduan <[email protected]>
9-
Status: Active
10-
Category: Plutus
11+
Discussions:
12+
- https://github.com/cardano-foundation/CIPs/pull/161
13+
- https://github.com/cardano-foundation/CIPs/pull/213
1114
Created: 2021-11-29
1215
License: CC-BY-4.0
13-
Requires: CIP-31
1416
---
1517

16-
# Reference scripts
17-
1818
## Abstract
1919

2020
We propose to allow scripts ("reference scripts") to be attached to outputs, and to allow reference scripts to be used to satisfy script requirements during validation, rather than requiring the spending transaction to do so.
2121
This will allow transactions using common scripts to be much smaller.
2222

23-
## Motivation
23+
## Motivation: why is this CIP necessary?
2424

2525
Script sizes pose a significant problem. This manifests itself in two ways:
2626
1. Every time a script is used, the transaction which caused the usage must supply the whole script as part of the transaction. This bloats the chain, and passes on the cost of that bloat to users in the form of transaction size fees.
@@ -64,7 +64,7 @@ transaction_output =
6464
```
6565
TODO: can we use a more generic type that allows _any_ script in a forwards-compatible way?
6666

67-
## Rationale
67+
## Rationale: how does this CIP achieve its goals?
6868

6969
The key idea of this proposal is stop sending frequently-used scripts to the chain every time they are used, but rather make them available in a persistent way on-chain.
7070

@@ -123,3 +123,17 @@ We can't really present the information about reference scripts to them in a fai
123123
We could omit the information entirely, but this is dangerous in a different way.
124124
Omitting information may lead scripts to make assumptions about the transaction that are untrue; for this reason we prefer not to silently omit information as a general principle.
125125
That leaves us only one option: reject transactions where we would have to present information about reference scripts to old scripts.
126+
127+
## Path to Active
128+
129+
### Acceptance Criteria
130+
131+
- [x] Fully implemented in Cardano as of the Vasil protocol upgrade.
132+
133+
### Implementation Plan
134+
135+
- [x] Passes all requirements of both Plutus and Ledger teams as agreed to improve Plutus script efficiency and usability.
136+
137+
## Copyright
138+
139+
This CIP is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode).

0 commit comments

Comments
 (0)