거버넌스 제안 상세
제안서 상세 내용과 투표 현황을 확인하세요.
한글 버전
- 이번 제안은 van Rossem 하드포크(프로토콜 버전 11) 이후 도입될 새로운 Plutus 프리미티브를 활성화하기 위함임 .
- 또한 Plutus V1, V2, V3의 모든 프리미티브를 활성화하고 기존 일부 프리미티브의 설정을 변경하는 내용을 포함함 .
- 새로운 프리미티브는 프로토콜 버전 10이 아닌 버전 11 하드포크 시행 이후에만 활성화됨 .
- 기존 프리미티브에 대한 변경 사항은 해당 거버넌스 액션이 시행되는 즉시 적용됨 .
- ■ 주석 *Plutus: 카르다노의 스마트 컨트랙트 플랫폼 **Cost Model: 스마트 컨트랙트 실행 비용 계산 모델 ***Governance Action: 네트워크 운영 결정을 위한 조치 ****Primitive: 프로그래밍 언어의 기본 구성 요소 *****Hard Fork: 블록체인 프로토콜의 중대한 변경
- Protocol Version 11 Hard Fork 이후 새로운 Plutus Primitives를 사용할 수 있게 됨 .
- van Rossem Hard Fork 이후 해당 Primitives를 사용하기 위한 필수 Cost Model 설정을 제공함 .
- 기존에 Plutus V3로 제한되었던 Primitives를 Plutus V1 및 V2에서도 사용할 수 있도록 보장함 .
- Benchmarking 데이터를 기반으로 일부 기존 Primitives의 설정을 업데이트함 .
- ■ 주석 *Plutus: 에이다 블록체인의 스마트 계약 플랫폼 **Hard Fork: 블록체인 프로토콜의 중대한 변경 사항 ***Primitives: 시스템에서 제공하는 기본 연산 단위 ****Cost Model: 네트워크 자원 사용량을 정의하는 설정 *****Benchmarking: 성능 측정을 통한 데이터 평가 과정
- 해당 변경 사항은 2026년 상반기 동안 SanchoNet, Preview, Preprod 테스트넷에 순차적으로 배포되어 실행되었음 .
- 이번 업데이트의 주요 목적은 Plutus V1, V2, V3에 새로운 프리미티브를 활성화하고 각 버전 간의 일관성을 확보하는 것임 .
- 새로운 프리미티브는 암호화, 리스트 조작, 배열 연산, 데이터 처리 기능을 강화하여 에이다 스크립트의 효율성과 상호 운용성을 높임 .
- 모든 새로운 기능은 참조 아키텍처를 기반으로 벤치마킹되었으며, 이를 통해 비용 모델의 기술적 타당성과 유효성을 검증했음 .
- 카르다노 헌법의 비용 모델 가이드라인인 PCM-01, PCM-02, PCM-03을 모두 준수하며 보안상의 특별한 문제는 발견되지 않았음 .
- CIP-0109, CIP-0132, CIP-0133, CIP-0138, CIP-0153을 통해 모듈러 지수 연산, BLS12-381 연산, 배열 인덱싱 등의 기능이 추가됨 .
- 기존 프리미티브 중 `equalsByteString`과 Plutus V3의 정수 연산 관련 CPU 비용 모델이 벤치마킹 데이터를 기반으로 수정되었음 .
- ■ 주석 *Plutus: 에이다 블록체인에서 스마트 컨트랙트를 실행하기 위한 플랫폼 및 언어임 **Primitive: 블록체인 네트워크에서 기본적으로 제공하는 내장 함수 또는 연산 단위임 ***CIP: 카르다노 개선 제안(Cardano Improvement Proposal)의 약자로 기술 표준을 정의함 ****Cost Model: 스크립트 실행 시 소모되는 CPU 및 메모리 자원 비용을 산정하는 기준임 *****Benchmarking: 시스템의 성능을 측정하고 비용 모델의 정확도를 검증하는 테스트 과정임 ******BLS12-381: 암호화 및 디지털 서명에 사용되는 특정 타원 곡선 알고리즘임 *******Modular Exponentiation: 암호화 프로토콜의 핵심인 모듈러 거듭제곱 연산임
English
First, following the hard fork to Protocol Version 11, new Plutus primitives become available. This proposal provides the necessary cost model settings so that these primitives can be used following the van Rossem hard fork.
Second, the action also ensures that Plutus primitives previously limited to Plutus V3 are available in Plutus V1 and Plutus V2.
Third, the action also updates the settings for some existing primitives based on benchmarking data.
The changes described in this governance action have been recommended by Intersect's Parameter Committee on 2026-03-05 ([https://forum.cardano.org/t/mar-5-2026-parameter-committee-triweekly-meeting-notes/154363](https://forum.cardano.org/t/mar-5-2026-parameter-committee-triweekly-meeting-notes/154363)) and 2026-03-19 ([https://forum.cardano.org/t/mar-19-2026-parameter-committee-triweekly-meeting-notes/154364](https://forum.cardano.org/t/mar-19-2026-parameter-committee-triweekly-meeting-notes/154364)). They have been confirmed by Intersect’s Technical Steering Committee on 2026-05-13 ([https://committees.docs.intersectmbo.org/intersect-technical-steering-committee/meeting-minutes/2026-tsc-meeting-minutes/meeting-minutes-may-13-2026](https://committees.docs.intersectmbo.org/intersect-technical-steering-committee/meeting-minutes/2026-tsc-meeting-minutes/meeting-minutes-may-13-2026)).
### Testnet Deployments
An equivalent change has been enacted on the SanchoNet testnet in March 2026 ( `gov_action1kundw4x5cn2s85rmkccx7lkfgamgmy2w4p0kx87w4uh2ku52rwesqkj3cwm`).
An equivalent change has been enacted on the Preview testnet in April 2026 (`gov_action1q9xr9etnglg3gazzzrsexj3qsnzaqpf2yvfpwrvnwk9l64n089tqqqg02j9`).
An equivalent change has been enacted on the Preprod testnet in May 2026 (`gov_action18cd564yw8jcsj392ggtge8swd3pkxm5k6rdhlf3sv308z0rjy3gsqdgxfqp`)
### Functionality
As described below, the main effect of the update will be to enable new Plutus primitives in Plutus V1, V2 and V3 and to ensure consistency between Plutus V1, V2 and V3. It will also make changes to some existing Plutus primitives.
### Security
No specific security concerns are raised by this change.
### Performance
[Benchmarking results](https://github.com/IntersectMBO/plutus/actions/workflows/cost-model-benchmark.yml) have been obtained for the new primitives to ensure the validity of the cost models.
Changes to existing primitives have also been benchmarked.
### Sustainability
The upgrade introduces new Plutus primitives for:
1. cryptography
2. list manipulation
3. array operations
4. value and data manipulation
These upgrades enhance the capabilities of Plutus scripts, allowing more efficient computation and inter-chain working.
The cost model changes to existing Plutus primitives are based on benchmarking data.
### Consistency with Guardrails
The relevant guardrails in the Cardano Constitution are:
* **PCM-01:** "Cost model values must be set by benchmarking on a reference architecture"
* **PCM-02:** "The cost model must be updated if new primitives are introduced or a new Plutus language version is added"
* **PCM-03:** "Cost model values should not be negative"
This governance action is consistent with all three guardrails. None of these guardrails can be checked by the automated guardrails script.
**Consistency with PCM-01**
The new cost model settings have been validated by the IOE Plutus Core developer team against the same reference machine and implementation as the existing mainnet Plutus cost model settings.
**Consistency with PCM-02**
The cost model has been updated because new Plutus primitives will be introduced following the upgrade to Protocol Version 11.
**Consistency with PCM-03**
None of the new cost model values is negative.
### New Plutus Primitives that will be Enabled
The new Plutus primitives are defined in five CIPs:
* [CIP-0109 | Modular Exponentiation Built-in for Plutus Core](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0109)
* [CIP-0132 | New Plutus Builtin dropList](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0132)
* [CIP-0133 | Plutus support for Multi-Scalar Multiplication over BLS12-381](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0133)
* [CIP-0138 | Plutus Core Builtin Type - `Array`](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0138)
* [CIP-0153](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0153) [| Plutus Core Builtin Type - MaryEraValue](http://github.com/cardano-foundation/CIPs/tree/master/CIP-0153)
Those in CIP-0109 are:
* modular exponentiation - a cornerstone operation in numerous cryptographic protocols
> ``
> expModInteger
> ``
Those in CIP-0132 are:
* dropList - drops a given number of elements from a list
> ``
> dropList
> ``
Those in CIP-0133 are:
* multi-scalar multiplication - efficient computation of the multi-scalar multiplication over the BLS12-381 curve
> ``
> bls12_381_G1_multiScalarMul,
> bls12_381_G2_multiScalarMul
> ``
Those in CIP-0138 are:
* array indexing - returns the element at the given index in an array, uses constant time and constant memory
* array length - returns the length of the array, uses constant time and constant memory
* list to array conversion - converts the argument builtin list into a builtin array, uses linear time and linear memory
> ``
> indexArray,
> lengthOfArray,
> listToArray
> ``
and those in CIP-0153 are:
* coin insertion - returns a Mary-era Value with the Coin inserted, silently discarding any previous value
* coin lookup - returns the quantity of a given Coin in a Mary-era Value
* value union - merges two provided values, this operation is commutative and associative
* value contains - compares the two Mary-era Values and determines if the first value is a superset of the second
* value Data - encodes a BuiltinValue as BuiltinData.
* unValue Data - decodes a BuiltinData into a BuiltinValue
* scale value - multiplies all token quantities in the provided value by the provided integer scale factor
> ``
> insertCoin,
> lookupCoin,
> unionValue,
> valueContains,
> valueData,
> unValueData,
> scaleValue
``
Each of the new primitives has both CPU and memory unit cost models.
### Changes to Existing Plutus Primitives
Changes will be made to the CPU cost model for the following primitive in Plutus V1, V2 and V3:
> ``
> equalsByteString
> ``
In addition, changes will be made to the CPU cost model for the following primitives in Plutus V3 only:
> ``
> divideInteger,
> modInteger,
> quotientInteger,
> remainderInteger
> ``
### Differences to the current Plutus cost model that will be enacted by this governance action
The full difference from the current on-chain Plutus V1 cost model settings is shown below:
```json
"serialiseData": {
"cpu": {
"arguments": {
"intercept": 955506,
"slope": 213312
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 2
},
"type": "linear_in_x"
}
},
"verifyEcdsaSecp256k1Signature": {
"cpu": {
"arguments": 43053543,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"verifyEd25519Signature": {
"cpu": {
"arguments": {
"intercept": 53384111,
"slope": 14333
},
"type": "linear_in_y"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"verifySchnorrSecp256k1Signature": {
"cpu": {
"arguments": {
"intercept": 43574283,
"slope": 26308
},
"type": "linear_in_y"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"integerToByteString": {
"cpu": {
"arguments": {
"c0": 1293828,
"c1": 28716,
"c2": 63
},
"type": "quadratic_in_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "literal_in_y_or_linear_in_z"
}
},
"blake2b_224": {
"cpu": {
"arguments": {
"intercept": 207616,
"slope": 8310
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_add": {
"cpu": {
"arguments": 962335,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_compress": {
"cpu": {
"arguments": 2780678,
"type": "constant_cost"
},
"memory": {
"arguments": 6,
"type": "constant_cost"
}
},
"bls12_381_G1_equal": {
"cpu": {
"arguments": 442008,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G1_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 52538055,
"slope": 3756
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_neg": {
"cpu": {
"arguments": 267929,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_scalarMul": {
"cpu": {
"arguments": {
"intercept": 76433006,
"slope": 8868
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_uncompress": {
"cpu": {
"arguments": 52948122,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_add": {
"cpu": {
"arguments": 1995836,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_compress": {
"cpu": {
"arguments": 3227919,
"type": "constant_cost"
},
"memory": {
"arguments": 12,
"type": "constant_cost"
}
},
"bls12_381_G2_equal": {
"cpu": {
"arguments": 901022,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G2_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 166917843,
"slope": 4307
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_neg": {
"cpu": {
"arguments": 284546,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_scalarMul": {
"cpu": {
"arguments": {
"intercept": 158221314,
"slope": 26549
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_uncompress": {
"cpu": {
"arguments": 74698472,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_finalVerify": {
"cpu": {
"arguments": 333849714,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_millerLoop": {
"cpu": {
"arguments": 254006273,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"bls12_381_mulMlResult": {
"cpu": {
"arguments": 2174038,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"keccak_256": {
"cpu": {
"arguments": {
"intercept": 2261318,
"slope": 64571
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"andByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"orByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"xorByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"complementByteString": {
"cpu": {
"arguments": {
"intercept": 107878,
"slope": 680
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"readBit": {
"cpu": {
"arguments": 95336,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"writeBits": {
"cpu": {
"arguments": {
"intercept": 281145,
"slope": 18848
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"replicateByte": {
"cpu": {
"arguments": {
"intercept": 180194,
"slope": 159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 1
},
"type": "linear_in_x"
}
},
"shiftByteString": {
"cpu": {
"arguments": {
"intercept": 158519,
"slope": 8942
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"rotateByteString": {
"cpu": {
"arguments": {
"intercept": 159378,
"slope": 8813
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"countSetBits": {
"cpu": {
"arguments": {
"intercept": 107490,
"slope": 3298
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"findFirstSetBit": {
"cpu": {
"arguments": {
"intercept": 106057,
"slope": 655
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"ripemd_160": {
"cpu": {
"arguments": {
"intercept": 1964219,
"slope": 24520
},
"type": "linear_in_x"
},
"memory": {
"arguments": 3,
"type": "constant_cost"
}
},
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
}
```
The full difference from the current on-chain Plutus V2 cost model settings is shown below:
```json
"blake2b_224": {
"cpu": {
"arguments": {
"intercept": 207616,
"slope": 8310
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_add": {
"cpu": {
"arguments": 962335,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_compress": {
"cpu": {
"arguments": 2780678,
"type": "constant_cost"
},
"memory": {
"arguments": 6,
"type": "constant_cost"
}
},
"bls12_381_G1_equal": {
"cpu": {
"arguments": 442008,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G1_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 52538055,
"slope": 3756
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_neg": {
"cpu": {
"arguments": 267929,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_scalarMul": {
"cpu": {
"arguments": {
"intercept": 76433006,
"slope": 8868
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_uncompress": {
"cpu": {
"arguments": 52948122,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_add": {
"cpu": {
"arguments": 1995836,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_compress": {
"cpu": {
"arguments": 3227919,
"type": "constant_cost"
},
"memory": {
"arguments": 12,
"type": "constant_cost"
}
},
"bls12_381_G2_equal": {
"cpu": {
"arguments": 901022,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G2_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 166917843,
"slope": 4307
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_neg": {
"cpu": {
"arguments": 284546,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_scalarMul": {
"cpu": {
"arguments": {
"intercept": 158221314,
"slope": 26549
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_uncompress": {
"cpu": {
"arguments": 74698472,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_finalVerify": {
"cpu": {
"arguments": 333849714,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_millerLoop": {
"cpu": {
"arguments": 254006273,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"bls12_381_mulMlResult": {
"cpu": {
"arguments": 2174038,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"keccak_256": {
"cpu": {
"arguments": {
"intercept": 2261318,
"slope": 64571
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"andByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"orByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"xorByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"complementByteString": {
"cpu": {
"arguments": {
"intercept": 107878,
"slope": 680
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"readBit": {
"cpu": {
"arguments": 95336,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"writeBits": {
"cpu": {
"arguments": {
"intercept": 281145,
"slope": 18848
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"replicateByte": {
"cpu": {
"arguments": {
"intercept": 180194,
"slope": 159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 1
},
"type": "linear_in_x"
}
},
"shiftByteString": {
"cpu": {
"arguments": {
"intercept": 158519,
"slope": 8942
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"rotateByteString": {
"cpu": {
"arguments": {
"intercept": 159378,
"slope": 8813
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"countSetBits": {
"cpu": {
"arguments": {
"intercept": 107490,
"slope": 3298
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"findFirstSetBit": {
"cpu": {
"arguments": {
"intercept": 106057,
"slope": 655
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"ripemd_160": {
"cpu": {
"arguments": {
"intercept": 1964219,
"slope": 24520
},
"type": "linear_in_x"
},
"memory": {
"arguments": 3,
"type": "constant_cost"
}
},
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"indexArray": {
"cpu": {
"arguments": 232010,
"type": "constant_cost"
},
"memory": {
"arguments": 32,
"type": "constant_cost"
}
},
"lengthOfArray": {
"cpu": {
"arguments": 231883,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"listToArray": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 24838
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 7,
"slope": 1
},
"type": "linear_in_x"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
}
```
The full difference from the current on-chain Plutus V3 cost model settings is shown below:
```json
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"indexArray": {
"cpu": {
"arguments": 232010,
"type": "constant_cost"
},
"memory": {
"arguments": 32,
"type": "constant_cost"
}
},
"lengthOfArray": {
"cpu": {
"arguments": 231883,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"listToArray": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 24838
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 7,
"slope": 1
},
"type": "linear_in_x"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"divideInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"minimum": 1,
"slope": 1
},
"type": "subtracted_sizes"
}
},
"modInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_y"
}
},
"quotientInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"minimum": 1,
"slope": 1
},
"type": "subtracted_sizes"
}
},
"remainderInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_y"
}
},
```
부가 정보
| 트랜잭션 해시 | c82f3834898e4d70d3605fa0d92ffe31345701075b107a54309c1525f9581f62 |
|---|---|
| 블록 타임 | 1779812326 |
| Proposal ID | gov_action1eqhnsdyf3exhp5mqt7sdjtl7xy69wqg8tvg854psns2jt72cra3qqrcnr8r |
| Proposal Index | 0 |
플루투스 비용 모델 업데이트에 대한 제안
현재 어디까지 왔나
📊 제안서 투표현황
DRep 투표현황
SPO 투표현황
헌법위원회 투표현황
📝 상세 설명
🇰🇷 한글 버전
- 이번 제안은 van Rossem 하드포크(프로토콜 버전 11) 이후 도입될 새로운 Plutus 프리미티브를 활성화하기 위함임 .
- 또한 Plutus V1, V2, V3의 모든 프리미티브를 활성화하고 기존 일부 프리미티브의 설정을 변경하는 내용을 포함함 .
- 새로운 프리미티브는 프로토콜 버전 10이 아닌 버전 11 하드포크 시행 이후에만 활성화됨 .
- 기존 프리미티브에 대한 변경 사항은 해당 거버넌스 액션이 시행되는 즉시 적용됨 .
- ■ 주석 *Plutus: 카르다노의 스마트 컨트랙트 플랫폼 **Cost Model: 스마트 컨트랙트 실행 비용 계산 모델 ***Governance Action: 네트워크 운영 결정을 위한 조치 ****Primitive: 프로그래밍 언어의 기본 구성 요소 *****Hard Fork: 블록체인 프로토콜의 중대한 변경
- Protocol Version 11 Hard Fork 이후 새로운 Plutus Primitives를 사용할 수 있게 됨 .
- van Rossem Hard Fork 이후 해당 Primitives를 사용하기 위한 필수 Cost Model 설정을 제공함 .
- 기존에 Plutus V3로 제한되었던 Primitives를 Plutus V1 및 V2에서도 사용할 수 있도록 보장함 .
- Benchmarking 데이터를 기반으로 일부 기존 Primitives의 설정을 업데이트함 .
- ■ 주석 *Plutus: 에이다 블록체인의 스마트 계약 플랫폼 **Hard Fork: 블록체인 프로토콜의 중대한 변경 사항 ***Primitives: 시스템에서 제공하는 기본 연산 단위 ****Cost Model: 네트워크 자원 사용량을 정의하는 설정 *****Benchmarking: 성능 측정을 통한 데이터 평가 과정
- 해당 변경 사항은 2026년 상반기 동안 SanchoNet, Preview, Preprod 테스트넷에 순차적으로 배포되어 실행되었음 .
- 이번 업데이트의 주요 목적은 Plutus V1, V2, V3에 새로운 프리미티브를 활성화하고 각 버전 간의 일관성을 확보하는 것임 .
- 새로운 프리미티브는 암호화, 리스트 조작, 배열 연산, 데이터 처리 기능을 강화하여 에이다 스크립트의 효율성과 상호 운용성을 높임 .
- 모든 새로운 기능은 참조 아키텍처를 기반으로 벤치마킹되었으며, 이를 통해 비용 모델의 기술적 타당성과 유효성을 검증했음 .
- 카르다노 헌법의 비용 모델 가이드라인인 PCM-01, PCM-02, PCM-03을 모두 준수하며 보안상의 특별한 문제는 발견되지 않았음 .
- CIP-0109, CIP-0132, CIP-0133, CIP-0138, CIP-0153을 통해 모듈러 지수 연산, BLS12-381 연산, 배열 인덱싱 등의 기능이 추가됨 .
- 기존 프리미티브 중 `equalsByteString`과 Plutus V3의 정수 연산 관련 CPU 비용 모델이 벤치마킹 데이터를 기반으로 수정되었음 .
- ■ 주석 *Plutus: 에이다 블록체인에서 스마트 컨트랙트를 실행하기 위한 플랫폼 및 언어임 **Primitive: 블록체인 네트워크에서 기본적으로 제공하는 내장 함수 또는 연산 단위임 ***CIP: 카르다노 개선 제안(Cardano Improvement Proposal)의 약자로 기술 표준을 정의함 ****Cost Model: 스크립트 실행 시 소모되는 CPU 및 메모리 자원 비용을 산정하는 기준임 *****Benchmarking: 시스템의 성능을 측정하고 비용 모델의 정확도를 검증하는 테스트 과정임 ******BLS12-381: 암호화 및 디지털 서명에 사용되는 특정 타원 곡선 알고리즘임 *******Modular Exponentiation: 암호화 프로토콜의 핵심인 모듈러 거듭제곱 연산임
🇺🇸 English
First, following the hard fork to Protocol Version 11, new Plutus primitives become available. This proposal provides the necessary cost model settings so that these primitives can be used following the van Rossem hard fork.
Second, the action also ensures that Plutus primitives previously limited to Plutus V3 are available in Plutus V1 and Plutus V2.
Third, the action also updates the settings for some existing primitives based on benchmarking data.
The changes described in this governance action have been recommended by Intersect's Parameter Committee on 2026-03-05 ([https://forum.cardano.org/t/mar-5-2026-parameter-committee-triweekly-meeting-notes/154363](https://forum.cardano.org/t/mar-5-2026-parameter-committee-triweekly-meeting-notes/154363)) and 2026-03-19 ([https://forum.cardano.org/t/mar-19-2026-parameter-committee-triweekly-meeting-notes/154364](https://forum.cardano.org/t/mar-19-2026-parameter-committee-triweekly-meeting-notes/154364)). They have been confirmed by Intersect’s Technical Steering Committee on 2026-05-13 ([https://committees.docs.intersectmbo.org/intersect-technical-steering-committee/meeting-minutes/2026-tsc-meeting-minutes/meeting-minutes-may-13-2026](https://committees.docs.intersectmbo.org/intersect-technical-steering-committee/meeting-minutes/2026-tsc-meeting-minutes/meeting-minutes-may-13-2026)).
### Testnet Deployments
An equivalent change has been enacted on the SanchoNet testnet in March 2026 ( `gov_action1kundw4x5cn2s85rmkccx7lkfgamgmy2w4p0kx87w4uh2ku52rwesqkj3cwm`).
An equivalent change has been enacted on the Preview testnet in April 2026 (`gov_action1q9xr9etnglg3gazzzrsexj3qsnzaqpf2yvfpwrvnwk9l64n089tqqqg02j9`).
An equivalent change has been enacted on the Preprod testnet in May 2026 (`gov_action18cd564yw8jcsj392ggtge8swd3pkxm5k6rdhlf3sv308z0rjy3gsqdgxfqp`)
### Functionality
As described below, the main effect of the update will be to enable new Plutus primitives in Plutus V1, V2 and V3 and to ensure consistency between Plutus V1, V2 and V3. It will also make changes to some existing Plutus primitives.
### Security
No specific security concerns are raised by this change.
### Performance
[Benchmarking results](https://github.com/IntersectMBO/plutus/actions/workflows/cost-model-benchmark.yml) have been obtained for the new primitives to ensure the validity of the cost models.
Changes to existing primitives have also been benchmarked.
### Sustainability
The upgrade introduces new Plutus primitives for:
1. cryptography
2. list manipulation
3. array operations
4. value and data manipulation
These upgrades enhance the capabilities of Plutus scripts, allowing more efficient computation and inter-chain working.
The cost model changes to existing Plutus primitives are based on benchmarking data.
### Consistency with Guardrails
The relevant guardrails in the Cardano Constitution are:
* **PCM-01:** "Cost model values must be set by benchmarking on a reference architecture"
* **PCM-02:** "The cost model must be updated if new primitives are introduced or a new Plutus language version is added"
* **PCM-03:** "Cost model values should not be negative"
This governance action is consistent with all three guardrails. None of these guardrails can be checked by the automated guardrails script.
**Consistency with PCM-01**
The new cost model settings have been validated by the IOE Plutus Core developer team against the same reference machine and implementation as the existing mainnet Plutus cost model settings.
**Consistency with PCM-02**
The cost model has been updated because new Plutus primitives will be introduced following the upgrade to Protocol Version 11.
**Consistency with PCM-03**
None of the new cost model values is negative.
### New Plutus Primitives that will be Enabled
The new Plutus primitives are defined in five CIPs:
* [CIP-0109 | Modular Exponentiation Built-in for Plutus Core](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0109)
* [CIP-0132 | New Plutus Builtin dropList](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0132)
* [CIP-0133 | Plutus support for Multi-Scalar Multiplication over BLS12-381](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0133)
* [CIP-0138 | Plutus Core Builtin Type - `Array`](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0138)
* [CIP-0153](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0153) [| Plutus Core Builtin Type - MaryEraValue](http://github.com/cardano-foundation/CIPs/tree/master/CIP-0153)
Those in CIP-0109 are:
* modular exponentiation - a cornerstone operation in numerous cryptographic protocols
> ``
> expModInteger
> ``
Those in CIP-0132 are:
* dropList - drops a given number of elements from a list
> ``
> dropList
> ``
Those in CIP-0133 are:
* multi-scalar multiplication - efficient computation of the multi-scalar multiplication over the BLS12-381 curve
> ``
> bls12_381_G1_multiScalarMul,
> bls12_381_G2_multiScalarMul
> ``
Those in CIP-0138 are:
* array indexing - returns the element at the given index in an array, uses constant time and constant memory
* array length - returns the length of the array, uses constant time and constant memory
* list to array conversion - converts the argument builtin list into a builtin array, uses linear time and linear memory
> ``
> indexArray,
> lengthOfArray,
> listToArray
> ``
and those in CIP-0153 are:
* coin insertion - returns a Mary-era Value with the Coin inserted, silently discarding any previous value
* coin lookup - returns the quantity of a given Coin in a Mary-era Value
* value union - merges two provided values, this operation is commutative and associative
* value contains - compares the two Mary-era Values and determines if the first value is a superset of the second
* value Data - encodes a BuiltinValue as BuiltinData.
* unValue Data - decodes a BuiltinData into a BuiltinValue
* scale value - multiplies all token quantities in the provided value by the provided integer scale factor
> ``
> insertCoin,
> lookupCoin,
> unionValue,
> valueContains,
> valueData,
> unValueData,
> scaleValue
``
Each of the new primitives has both CPU and memory unit cost models.
### Changes to Existing Plutus Primitives
Changes will be made to the CPU cost model for the following primitive in Plutus V1, V2 and V3:
> ``
> equalsByteString
> ``
In addition, changes will be made to the CPU cost model for the following primitives in Plutus V3 only:
> ``
> divideInteger,
> modInteger,
> quotientInteger,
> remainderInteger
> ``
### Differences to the current Plutus cost model that will be enacted by this governance action
The full difference from the current on-chain Plutus V1 cost model settings is shown below:
```json
"serialiseData": {
"cpu": {
"arguments": {
"intercept": 955506,
"slope": 213312
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 2
},
"type": "linear_in_x"
}
},
"verifyEcdsaSecp256k1Signature": {
"cpu": {
"arguments": 43053543,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"verifyEd25519Signature": {
"cpu": {
"arguments": {
"intercept": 53384111,
"slope": 14333
},
"type": "linear_in_y"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"verifySchnorrSecp256k1Signature": {
"cpu": {
"arguments": {
"intercept": 43574283,
"slope": 26308
},
"type": "linear_in_y"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"integerToByteString": {
"cpu": {
"arguments": {
"c0": 1293828,
"c1": 28716,
"c2": 63
},
"type": "quadratic_in_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "literal_in_y_or_linear_in_z"
}
},
"blake2b_224": {
"cpu": {
"arguments": {
"intercept": 207616,
"slope": 8310
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_add": {
"cpu": {
"arguments": 962335,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_compress": {
"cpu": {
"arguments": 2780678,
"type": "constant_cost"
},
"memory": {
"arguments": 6,
"type": "constant_cost"
}
},
"bls12_381_G1_equal": {
"cpu": {
"arguments": 442008,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G1_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 52538055,
"slope": 3756
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_neg": {
"cpu": {
"arguments": 267929,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_scalarMul": {
"cpu": {
"arguments": {
"intercept": 76433006,
"slope": 8868
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_uncompress": {
"cpu": {
"arguments": 52948122,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_add": {
"cpu": {
"arguments": 1995836,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_compress": {
"cpu": {
"arguments": 3227919,
"type": "constant_cost"
},
"memory": {
"arguments": 12,
"type": "constant_cost"
}
},
"bls12_381_G2_equal": {
"cpu": {
"arguments": 901022,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G2_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 166917843,
"slope": 4307
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_neg": {
"cpu": {
"arguments": 284546,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_scalarMul": {
"cpu": {
"arguments": {
"intercept": 158221314,
"slope": 26549
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_uncompress": {
"cpu": {
"arguments": 74698472,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_finalVerify": {
"cpu": {
"arguments": 333849714,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_millerLoop": {
"cpu": {
"arguments": 254006273,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"bls12_381_mulMlResult": {
"cpu": {
"arguments": 2174038,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"keccak_256": {
"cpu": {
"arguments": {
"intercept": 2261318,
"slope": 64571
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"andByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"orByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"xorByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"complementByteString": {
"cpu": {
"arguments": {
"intercept": 107878,
"slope": 680
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"readBit": {
"cpu": {
"arguments": 95336,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"writeBits": {
"cpu": {
"arguments": {
"intercept": 281145,
"slope": 18848
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"replicateByte": {
"cpu": {
"arguments": {
"intercept": 180194,
"slope": 159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 1
},
"type": "linear_in_x"
}
},
"shiftByteString": {
"cpu": {
"arguments": {
"intercept": 158519,
"slope": 8942
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"rotateByteString": {
"cpu": {
"arguments": {
"intercept": 159378,
"slope": 8813
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"countSetBits": {
"cpu": {
"arguments": {
"intercept": 107490,
"slope": 3298
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"findFirstSetBit": {
"cpu": {
"arguments": {
"intercept": 106057,
"slope": 655
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"ripemd_160": {
"cpu": {
"arguments": {
"intercept": 1964219,
"slope": 24520
},
"type": "linear_in_x"
},
"memory": {
"arguments": 3,
"type": "constant_cost"
}
},
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
}
```
The full difference from the current on-chain Plutus V2 cost model settings is shown below:
```json
"blake2b_224": {
"cpu": {
"arguments": {
"intercept": 207616,
"slope": 8310
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_add": {
"cpu": {
"arguments": 962335,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_compress": {
"cpu": {
"arguments": 2780678,
"type": "constant_cost"
},
"memory": {
"arguments": 6,
"type": "constant_cost"
}
},
"bls12_381_G1_equal": {
"cpu": {
"arguments": 442008,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G1_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 52538055,
"slope": 3756
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_neg": {
"cpu": {
"arguments": 267929,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_scalarMul": {
"cpu": {
"arguments": {
"intercept": 76433006,
"slope": 8868
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G1_uncompress": {
"cpu": {
"arguments": 52948122,
"type": "constant_cost"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_add": {
"cpu": {
"arguments": 1995836,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_compress": {
"cpu": {
"arguments": 3227919,
"type": "constant_cost"
},
"memory": {
"arguments": 12,
"type": "constant_cost"
}
},
"bls12_381_G2_equal": {
"cpu": {
"arguments": 901022,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_G2_hashToGroup": {
"cpu": {
"arguments": {
"intercept": 166917843,
"slope": 4307
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_neg": {
"cpu": {
"arguments": 284546,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_scalarMul": {
"cpu": {
"arguments": {
"intercept": 158221314,
"slope": 26549
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_G2_uncompress": {
"cpu": {
"arguments": 74698472,
"type": "constant_cost"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"bls12_381_finalVerify": {
"cpu": {
"arguments": 333849714,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"bls12_381_millerLoop": {
"cpu": {
"arguments": 254006273,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"bls12_381_mulMlResult": {
"cpu": {
"arguments": 2174038,
"type": "constant_cost"
},
"memory": {
"arguments": 72,
"type": "constant_cost"
}
},
"keccak_256": {
"cpu": {
"arguments": {
"intercept": 2261318,
"slope": 64571
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"andByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"orByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"xorByteString": {
"cpu": {
"arguments": {
"intercept": 100181,
"slope1": 726,
"slope2": 719
},
"type": "linear_in_y_and_z"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_max_yz"
}
},
"complementByteString": {
"cpu": {
"arguments": {
"intercept": 107878,
"slope": 680
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"readBit": {
"cpu": {
"arguments": 95336,
"type": "constant_cost"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"writeBits": {
"cpu": {
"arguments": {
"intercept": 281145,
"slope": 18848
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"replicateByte": {
"cpu": {
"arguments": {
"intercept": 180194,
"slope": 159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 1
},
"type": "linear_in_x"
}
},
"shiftByteString": {
"cpu": {
"arguments": {
"intercept": 158519,
"slope": 8942
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"rotateByteString": {
"cpu": {
"arguments": {
"intercept": 159378,
"slope": 8813
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_x"
}
},
"countSetBits": {
"cpu": {
"arguments": {
"intercept": 107490,
"slope": 3298
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"findFirstSetBit": {
"cpu": {
"arguments": {
"intercept": 106057,
"slope": 655
},
"type": "linear_in_x"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"ripemd_160": {
"cpu": {
"arguments": {
"intercept": 1964219,
"slope": 24520
},
"type": "linear_in_x"
},
"memory": {
"arguments": 3,
"type": "constant_cost"
}
},
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"indexArray": {
"cpu": {
"arguments": 232010,
"type": "constant_cost"
},
"memory": {
"arguments": 32,
"type": "constant_cost"
}
},
"lengthOfArray": {
"cpu": {
"arguments": 231883,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"listToArray": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 24838
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 7,
"slope": 1
},
"type": "linear_in_x"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
}
```
The full difference from the current on-chain Plutus V3 cost model settings is shown below:
```json
"expModInteger": {
"cpu": {
"arguments": {
"coefficient00": 607153,
"coefficient11": 231697,
"coefficient12": 53144
},
"type": "exp_mod_cost"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_z"
}
},
"dropList": {
"cpu": {
"arguments": {
"intercept": 116711,
"slope": 1957
},
"type": "linear_in_x"
},
"memory": {
"arguments": 4,
"type": "constant_cost"
}
},
"bls12_381_G1_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 321837444,
"slope": 25087669
},
"type": "linear_in_x"
},
"memory": {
"arguments": 18,
"type": "constant_cost"
}
},
"bls12_381_G2_multiScalarMul": {
"cpu": {
"arguments": {
"intercept": 617887431,
"slope": 67302824
},
"type": "linear_in_x"
},
"memory": {
"arguments": 36,
"type": "constant_cost"
}
},
"indexArray": {
"cpu": {
"arguments": 232010,
"type": "constant_cost"
},
"memory": {
"arguments": 32,
"type": "constant_cost"
}
},
"lengthOfArray": {
"cpu": {
"arguments": 231883,
"type": "constant_cost"
},
"memory": {
"arguments": 10,
"type": "constant_cost"
}
},
"listToArray": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 24838
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 7,
"slope": 1
},
"type": "linear_in_x"
}
},
"lookupCoin": {
"cpu": {
"arguments": {
"intercept": 219951,
"slope": 9444
},
"type": "linear_in_z"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueContains": {
"cpu": {
"arguments": {
"constant": 213283,
"model": {
"arguments": {
"intercept": 618401,
"slope1": 1998,
"slope2": 28258
},
"type": "linear_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"valueData": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 38159
},
"type": "linear_in_x"
},
"memory": {
"arguments": {
"intercept": 2,
"slope": 22
},
"type": "linear_in_x"
}
},
"unValueData": {
"cpu": {
"arguments": {
"c0": 1000,
"c1": 95933,
"c2": 1
},
"type": "quadratic_in_x"
},
"memory": {
"arguments": {
"intercept": 1,
"slope": 11
},
"type": "linear_in_x"
}
},
"insertCoin": {
"cpu": {
"arguments": {
"intercept": 356924,
"slope": 18413
},
"type": "linear_in_u"
},
"memory": {
"arguments": {
"intercept": 45,
"slope": 21
},
"type": "linear_in_u"
}
},
"unionValue": {
"cpu": {
"arguments": {
"c00": 1000,
"c01": 183150,
"c10": 172116,
"c11": 6
},
"type": "with_interaction_in_x_and_y"
},
"memory": {
"arguments": {
"intercept": 24,
"slope": 21
},
"type": "added_sizes"
}
},
"scaleValue": {
"cpu": {
"arguments": {
"intercept": 1000,
"slope": 277577
},
"type": "linear_in_y"
},
"memory": {
"arguments": {
"intercept": 12,
"slope": 21
},
"type": "linear_in_y"
}
},
"equalsByteString": {
"cpu": {
"arguments": {
"constant": 24548,
"intercept": 29498,
"slope": 38
},
"type": "linear_on_diagonal"
},
"memory": {
"arguments": 1,
"type": "constant_cost"
}
},
"divideInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"minimum": 1,
"slope": 1
},
"type": "subtracted_sizes"
}
},
"modInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_y"
}
},
"quotientInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"minimum": 1,
"slope": 1
},
"type": "subtracted_sizes"
}
},
"remainderInteger": {
"cpu": {
"arguments": {
"constant": 85848,
"model": {
"arguments": {
"c00": 123203,
"c01": 7305,
"c02": -900,
"c10": 1716,
"c11": 549,
"c20": 57,
"minimum": 85848
},
"type": "quadratic_in_x_and_y"
}
},
"type": "const_above_diagonal"
},
"memory": {
"arguments": {
"intercept": 0,
"slope": 1
},
"type": "linear_in_y"
}
},
```