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

Decommit endpoint #1217

Merged
merged 10 commits into from
Dec 15, 2023
Merged

Decommit endpoint #1217

merged 10 commits into from
Dec 15, 2023

Conversation

v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Dec 14, 2023


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

v0d1ch and others added 7 commits December 14, 2023 09:19
Note that we do not document /decommit as we are not sure yet whether we
want to keep that endpoint.
This "feels" a bit more consistent as requesting and processing a
decomit is an asynchronous process.
This avoids using a concrete Cardano type in the
API (ClientInput/ServerOutput) and we can use the already existing
parametric type UTxOType for that.

Also, it will be handy to see what was requested to be decommitted.
Remove some fixmes but also add one more in HeadLogic to remind us
to change the response to tx instead of UTxO.
Copy link

github-actions bot commented Dec 14, 2023

Transactions 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 2023-12-15 08:56:01.282774969 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 985245919fcc6c0c5cd116023cd2c947c43e80dcbb5075fe12433fbb 4072
νCommit 7cb20fa71eb4c563ca283566ebe0aa65859d96c3f8cba35c52c181fd 2043
νHead 7a36661f5c15e9f1783aeaab890812c59b7286cbbc6de762d3110772 8816
μHead 8b111ac12274e46314769295a1c5dcab1d260096fc469fd698065463* 3851
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per Head.

Cost of Init Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 4379 10.46 4.04 0.46
2 4576 12.57 4.83 0.49
3 4776 14.87 5.71 0.52
5 5180 19.50 7.47 0.59
10 6184 30.30 11.55 0.75
41 12418 99.06 37.61 1.77

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 534 11.37 4.44 0.30
2 722 15.04 6.07 0.35
3 908 18.85 7.75 0.40
5 1288 26.90 11.27 0.51
10 2224 49.55 20.97 0.80
19 3904 99.43 41.75 1.43

Cost of CollectCom Transaction

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 480 21.07 8.25 0.40
2 113 590 34.16 13.45 0.55
3 171 704 48.28 19.14 0.71
4 227 814 60.75 24.35 0.85
5 282 920 76.46 30.84 1.03
6 338 1031 91.78 37.30 1.21

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 549 16.72 7.69 0.37
2 672 18.09 8.98 0.39
3 844 19.82 10.59 0.42
5 1299 23.63 14.15 0.50
10 1410 28.06 13.41 0.54
49 8491 95.33 81.10 1.88

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 579 20.18 8.94 0.40
2 715 21.85 10.36 0.43
3 926 24.28 12.39 0.48
5 1323 28.37 15.88 0.55
10 2177 37.69 24.00 0.72
43 7760 98.67 76.96 1.84

Cost of Abort Transaction

Some variation because of random mixture of still initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 4318 18.98 8.17 0.55
2 4501 31.78 13.86 0.71
3 4564 42.25 18.30 0.82
4 4805 66.32 29.18 1.11
5 5000 88.14 38.85 1.36

Cost of FanOut Transaction

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 ₳
5 0 0 4206 8.26 3.46 0.43
5 1 57 4239 9.49 4.22 0.44
5 5 285 4375 14.40 7.27 0.51
5 10 570 4545 20.43 11.03 0.59
5 20 1138 4883 32.64 18.62 0.76
5 30 1709 5226 44.94 26.25 0.93
5 40 2276 5563 57.12 33.83 1.10
5 50 2848 5905 69.77 41.61 1.27
5 74 4213 6718 99.13 59.87 1.68

End-To-End Benchmark Results

This page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest master code.

Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes.

Generated at 2023-12-15 08:59:02.934662078 UTC

Baseline Scenario

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 22.625260499
P99 106.41462370000023ms
P95 31.41044329999999ms
P50 19.9767785ms
Number of Invalid txs 0

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 3.939906802
P99 5.484525649999993ms
P95 4.562964699999999ms
P50 3.8642339999999997ms
Number of Invalid txs 0

Once we figure out exact type we want to return we will resolve FIXME in
the api schema
@ch1bo ch1bo linked an issue Dec 15, 2023 that may be closed by this pull request
@ch1bo ch1bo merged commit c00dd75 into feature/incremental-decommit Dec 15, 2023
15 of 17 checks passed
@ch1bo ch1bo deleted the decommit-endpoint branch December 15, 2023 08:54
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.

Add /decommit endpoint
2 participants