Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import schnorrkel plutus #1742

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Import schnorrkel plutus #1742

wants to merge 10 commits into from

Conversation

locallycompact
Copy link
Contributor


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

@locallycompact locallycompact force-pushed the lc/schnorrkel branch 6 times, most recently from 1cb11a3 to eb5071d Compare November 19, 2024 16:40
Copy link

github-actions bot commented Nov 19, 2024

Transaction cost differences

Script summary

Name Size (Bytes)
νInitial -
νCommit -
νHead -
μHead -
νDeposit -

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
44 - - - -

Commit transaction costs

UTxO Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
54 - - - -

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 - - - - -
2 - - - - -
3 - - - - -
4 - - - - -
5 - - - - -
6 - - - - -
7 - - - - -
8 - - - - -
9 - - - - -
10 - - - - -

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - $${\color{green}-0.38}$$ $${\color{green}-0.09}$$ -
5 - $${\color{green}-0.39}$$ $${\color{green}-0.09}$$ -
10 - $${\color{green}-0.38}$$ $${\color{green}-0.10}$$ -
43 - - - -

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
45 - - - -

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
41 - - - -

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
33 - - - -

FanOut transaction costs

UTxO, Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
(0, 10) - - - - -
(1, 10) - - - - -
(5, 10) - - - - -
(10, 10) - - - - -
(20, 10) - - - - -
(40, 10) - - - - -
(41, 10) - - - - -

Copy link

github-actions bot commented Nov 19, 2024

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2025-01-08 17:28:31.468609489 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2655
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 688
νHead 5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e97 14495
μHead 6b49dc4e571207d615dba01996548cb610b0caa85c30423d169d0091* 5615
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1105
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 6166 10.31 3.29 0.53
2 6365 12.21 3.88 0.56
3 6566 14.72 4.70 0.59
5 6966 18.19 5.75 0.65
10 7974 28.98 9.18 0.80
44 14811 98.42 31.00 1.82

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 558 2.44 1.16 0.20
2 740 3.38 1.73 0.22
3 923 4.36 2.33 0.24
5 1280 6.41 3.60 0.28
10 2174 12.13 7.25 0.40
54 10067 98.61 68.52 1.88

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 56 528 25.00 7.26 0.43
2 114 636 32.98 9.56 0.51
3 169 747 41.95 12.08 0.61
4 226 858 53.85 15.37 0.73
5 283 974 55.63 16.20 0.76
6 340 1081 69.39 19.93 0.90
7 396 1192 82.10 23.29 1.03
8 452 1303 83.03 24.11 1.05

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1797 23.66 7.91 0.48
2 1929 25.09 9.03 0.50
3 2130 27.73 10.60 0.54
5 2463 31.48 13.21 0.61
10 2979 37.06 18.15 0.71
43 8056 99.04 60.79 1.74

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 601 22.72 7.32 0.41
2 740 23.39 8.16 0.43
3 865 24.96 9.27 0.46
5 1238 29.87 11.98 0.53
10 1919 37.28 17.39 0.66
44 7005 99.01 57.38 1.67

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 720 27.03 8.74 0.46
2 816 28.64 9.90 0.49
3 1010 30.87 11.38 0.53
5 1259 34.21 13.75 0.58
10 2086 47.12 21.44 0.78
38 6320 96.02 56.57 1.61

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 679 33.39 10.43 0.53
2 769 34.73 11.40 0.55
3 955 37.33 12.98 0.59
5 1222 41.13 15.48 0.65
10 2067 52.98 22.81 0.83
31 5105 97.56 51.21 1.53

Abort transaction costs

There is some variation due to the random mixture of initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 6047 26.21 8.86 0.69
2 6208 35.54 12.08 0.80
3 6387 45.24 15.37 0.91
4 6542 53.78 18.32 1.00
5 6577 61.60 20.88 1.09
6 6686 67.19 22.76 1.15
7 6705 72.71 24.47 1.21
8 6860 85.40 28.91 1.35
9 7046 91.92 31.10 1.43

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 6162 17.66 6.02 0.61
10 1 57 6196 19.62 6.80 0.63
10 5 285 6333 27.61 10.01 0.72
10 10 570 6502 36.15 13.49 0.83
10 42 2392 7591 99.73 39.03 1.57

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2025-01-08 17:32:18.642417455 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 5.051963383
P99 11.505992259999998ms
P95 7.193836400000002ms
P50 4.5715900000000005ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 23.861609318
P99 48.469502559999995ms
P95 31.560861949999996ms
P50 22.361674999999998ms
Number of Invalid txs 0

Copy link

Test Results

  5 files  ±0  161 suites  ±0   28m 7s ⏱️ - 2m 25s
552 tests ±0  545 ✅ ±0  7 💤 ±0  0 ❌ ±0 
554 runs  ±0  547 ✅ ±0  7 💤 ±0  0 ❌ ±0 

Results for commit eb5071d. ± Comparison against base commit 25f9f72.


let tx' = txSpendingUTxO scriptUTxO

send n1 $ input "NewTx" ["transaction" .= tx']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking lovely.

I think the main thing we need here is to close the Head and make sure the UTxO can be fanned out back to L1.

@locallycompact locallycompact force-pushed the lc/schnorrkel branch 4 times, most recently from 7d8d530 to d6ff585 Compare December 2, 2024 15:04
@v0d1ch v0d1ch force-pushed the lc/schnorrkel branch 3 times, most recently from 23a82ef to d180493 Compare December 12, 2024 09:58
@v0d1ch v0d1ch force-pushed the lc/schnorrkel branch 2 times, most recently from 7f70541 to 4042cc4 Compare December 24, 2024 18:08
@locallycompact locallycompact force-pushed the lc/schnorrkel branch 2 times, most recently from 2d5bc83 to 1e65563 Compare January 6, 2025 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Spike: Custom ledger containing a new primitive operation - can we still decommit/close?
3 participants