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

Draft ADR about network properties and etcd implementation #1852

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ch1bo
Copy link
Member

@ch1bo ch1bo commented Feb 12, 2025


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

@ch1bo ch1bo self-assigned this Feb 12, 2025
@ch1bo ch1bo linked an issue Feb 12, 2025 that may be closed by this pull request
7 tasks
Copy link

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 - - - -
40 - - - -

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 - - - - -

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - +0.39 +0.09 -
5 - - - -
10 - +0.39 +0.09 +0.01
37 - - - -

Cost of Decrement Transaction

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

Close transaction costs

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

Contest transaction costs

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

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) - - - - -
(37, 10) - - - - -

Copy link

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-02-12 13:11:13.684597918 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2652
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 685
νHead 0e35115a2c7c13c68ecd8d74e4987c04d4539e337643be20bb3274bd 14756
μHead 57166715eadb8d3135964325c016eea546c21e1c0aae974ca67df9a5* 5541
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1102
  • 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 6093 11.41 3.57 0.54
2 6294 13.22 4.10 0.56
3 6493 16.08 5.00 0.60
5 6898 20.07 6.21 0.66
10 7905 31.06 9.57 0.82
40 13936 98.39 30.22 1.78

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 561 2.44 1.16 0.20
2 741 3.38 1.73 0.22
3 919 4.36 2.33 0.24
5 1279 6.41 3.60 0.28
10 2164 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 57 525 25.64 7.39 0.43
2 114 636 34.88 9.98 0.53
3 169 747 43.54 12.45 0.62
4 226 858 56.45 15.92 0.76
5 284 974 65.37 18.51 0.85
6 339 1081 69.23 19.76 0.90
7 395 1192 78.60 22.48 1.00
8 450 1303 95.79 27.04 1.18

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1798 25.50 8.33 0.50
2 1952 27.11 9.51 0.52
3 2109 29.83 11.07 0.56
5 2417 33.51 13.64 0.63
10 3262 45.17 20.77 0.81
39 7470 99.24 57.38 1.69

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 602 23.99 7.61 0.43
2 730 24.85 8.49 0.44
3 908 28.13 10.09 0.49
5 1253 31.78 12.41 0.55
10 1988 40.80 18.23 0.70
40 6350 98.71 54.18 1.62

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 693 29.19 9.22 0.48
2 813 30.94 10.42 0.51
3 927 34.82 12.18 0.56
5 1251 39.29 14.98 0.63
10 1969 46.65 20.76 0.76
33 5150 96.20 51.45 1.52

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 673 35.99 11.01 0.55
2 808 38.19 12.33 0.58
3 964 40.32 13.65 0.62
5 1430 46.53 17.17 0.71
10 2122 57.78 23.97 0.88
27 4689 99.09 48.36 1.51

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 5977 28.20 9.30 0.71
2 6054 36.31 11.92 0.80
3 6286 47.89 15.83 0.93
4 6356 56.21 18.51 1.02
5 6574 67.83 22.48 1.15
6 6711 78.54 25.95 1.27
7 6830 84.71 28.00 1.34
8 6955 98.01 32.43 1.48

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 6091 20.58 6.77 0.63
10 1 57 6125 22.25 7.45 0.65
10 10 567 6428 41.88 15.03 0.88
10 20 1138 6769 61.80 22.83 1.11
10 30 1705 7108 84.03 31.40 1.37
10 38 2162 7382 99.70 37.55 1.55

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-02-12 13:14:25.655604502 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 5.032106330
P99 12.811451059999984ms
P95 8.169868300000001ms
P50 4.506033ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-02-12 13:13:01.419064661 UTC 938M 2144M
2025-02-12 13:13:06.419015222 UTC 1027M 2033M
2025-02-12 13:13:11.418999607 UTC 1021M 2038M
2025-02-12 13:13:16.418992049 UTC 1019M 2040M
2025-02-12 13:13:21.418999694 UTC 1019M 2040M
2025-02-12 13:13:26.418893552 UTC 1021M 2037M

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 22.610067805
P99 34.32545276ms
P95 29.5348366ms
P50 21.668308ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-02-12 13:13:38.59344646 UTC 946M 2124M
2025-02-12 13:13:43.593584192 UTC 1124M 1946M
2025-02-12 13:13:48.593490504 UTC 1129M 1940M
2025-02-12 13:13:53.593588388 UTC 1133M 1936M
2025-02-12 13:13:58.593542571 UTC 1172M 1825M
2025-02-12 13:14:03.59358145 UTC 1196M 1723M
2025-02-12 13:14:08.593448893 UTC 1196M 1723M
2025-02-12 13:14:13.593575405 UTC 1197M 1721M
2025-02-12 13:14:18.593592039 UTC 1199M 1719M
2025-02-12 13:14:23.593492079 UTC 1199M 1718M

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress 🕐
Development

Successfully merging this pull request may close these issues.

Replace networking stack with etcd-based approach
1 participant