cardano-scaling / hydra

Implementation of the Hydra Head protocol
https://hydra.family/head-protocol/
Apache License 2.0
284 stars 86 forks source link

Delete plutus-cbor and plutus-merkle-tree #1713

Closed locallycompact closed 3 weeks ago

locallycompact commented 1 month ago

These aren't used in hydra anywhere. I don't think they make sense to maintain them. If we are moving to aiken. If we do need them, they can be filter branched out of the history into a new repository.


github-actions[bot] commented 1 month ago

Transaction cost differences

No cost or size differences found

github-actions[bot] commented 1 month ago

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 2024-10-31 14:23:41.568908276 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial b512161ccb0652d7e9a0b540e4a3c808f73d6558a4bcabf374d85880 3969
νCommit ea444d37d226e71eef73ac78d149750da977feb588900135bf9e8221 692
νHead 2253ddd95837c7aacc8635a971caaea743434152dd8dd2849bdf4162 10797
μHead 4d648ca239040b0e87901835aa11423e7aa3bd947ce6befe7db1bae8* 4508
νDeposit 703883df80fe589a8f64a4127057f28c9100ea9ebbb3e726c05e89ca 3096
Parties Tx size % max Mem % max CPU Min fee ₳
1 5094 5.71 2.25 0.44
2 5297 7.31 2.90 0.46
3 5503 8.56 3.39 0.49
5 5901 11.41 4.51 0.53
10 6907 18.02 7.12 0.65
57 16355 83.00 32.84 1.78

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 569 10.84 4.26 0.29
2 759 14.31 5.80 0.34
3 941 17.92 7.39 0.39
5 1320 25.56 10.73 0.49
10 2254 47.11 19.97 0.77
19 3943 94.71 39.81 1.38

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 560 20.58 7.85 0.40
2 114 675 28.88 10.99 0.49
3 170 782 36.16 13.75 0.58
4 226 893 45.70 17.36 0.68
5 284 1004 56.34 21.37 0.80
6 339 1116 56.12 21.40 0.81
7 396 1227 72.50 27.49 0.99
8 448 1338 71.27 27.18 0.98
9 505 1449 82.41 31.41 1.11

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 635 18.64 8.16 0.39
2 830 20.89 9.79 0.43
3 1013 23.12 11.42 0.46
5 1285 26.19 14.17 0.52
10 2010 33.95 21.06 0.66
49 7977 97.51 75.85 1.84

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 662 20.79 9.30 0.41
2 847 22.72 11.11 0.45
3 939 23.70 12.19 0.47
5 1178 26.52 15.02 0.52
10 2068 35.45 23.63 0.70
50 7825 97.41 84.58 1.89

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 630 26.36 11.13 0.47
2 870 28.90 13.35 0.52
3 1014 30.68 14.91 0.55
5 1328 34.53 18.31 0.62
10 2232 45.06 27.51 0.81
39 6354 98.71 74.91 1.77

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 4971 15.43 6.60 0.54
2 5050 21.29 9.07 0.61
3 5302 29.54 12.90 0.72
4 5387 35.61 15.48 0.79
5 5514 42.65 18.53 0.87
6 5650 49.27 21.50 0.95
7 5819 57.11 24.96 1.05
8 6006 64.56 28.20 1.14
9 6200 72.14 31.67 1.23
10 6293 76.65 33.48 1.29
11 6368 82.58 35.95 1.36
12 6503 88.92 38.86 1.43
13 6840 98.20 43.13 1.56

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 5090 10.19 4.26 0.49
10 1 57 5123 11.64 5.10 0.51
10 5 284 5259 15.83 7.79 0.57
10 10 567 5426 21.67 11.41 0.65
10 20 1138 5767 33.75 18.81 0.81
10 30 1709 6110 45.13 25.91 0.97
10 40 2274 6446 57.13 33.29 1.14
10 50 2846 6787 68.44 40.36 1.29
10 76 4322 7665 99.27 59.39 1.72

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 2024-10-31 14:26:36.435192001 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.995756336
P99 18.140720339999948ms
P95 6.442478300000003ms
P50 4.4423105ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 24.937236877
P99 118.88462637ms
P95 33.6504651ms
P50 21.7361205ms
Number of Invalid txs 0
github-actions[bot] commented 1 month ago

Test Results

  5 files   - 2  162 suites   - 2   28m 48s ⏱️ +10s 554 tests  - 4  548 ✅  - 4  6 💤 ±0  0 ❌ ±0  556 runs   - 4  550 ✅  - 4  6 💤 ±0  0 ❌ ±0 

Results for commit 5354b52b. ± Comparison against base commit 97108236.

This pull request removes 4 tests. ``` Plutus.Codec.CBOR.Encoding ‑ matches cborg library encoding Plutus.MerkleTree ‑ can check membership of an element Plutus.MerkleTree ‑ fromList . toList roundtrips MT Plutus.MerkleTree ‑ tree is balanced ```

:recycle: This comment has been updated with latest results.