Limiting the number of inputs and outputs allowed in a transaction may reduce the storage space and verification computation costs of Full-Chain Membership Proof (FCMP) Monero transactions. See here for initial discussion. This note is a preliminary attempt to measure the likely cost of different values for the proposed MAX_INPUTS
and MAX_OUTPUTS
blockchain consensus rule parameters. The analysis uses empirical blockchain data from here, estimated cost per input/output cardinality based on modified Python code (see below) here, and the results of an output consolidation algorithm.
TODO: MAX_OUTPUTS
analysis
The output consolidation algorithm attempts to consolidate outputs in the fewest number of "rounds". A round is the period of time it takes for a set of unrelated transactions to be confirmed and spendable, i.e. about 10 blocks.
Below is a visualization of consolidation steps. The maximum number of outputs is 4. The initial outputs to consolidate is 19. Each row in the plot is a set of outputs that exist at a specific point in time. The first row has all 19 inputs. The arrows pointing to circles in the next row show consolidation transactions. When an arrow connects a single circle to another single circle, there is no actual transaction. Instead, the arrow represents a visual accounting action that just carries the unspent output into the next time period.
If users are required to consolidate their outputs with MAX_INPUTS
or fewer inputs, the distribution of transaction inputs will change. Below are tables that show the change in the distribution and the new size and computational cost. The units are not yet interpretable, but the relative values can be compared between different MAX_INPUTS
rules. The size and compute costs are based on this gist. The numbers for the compute factor of 4 are used. No batching is assumed, so a single transaction's compute cost is the sum of Proof 1 Base Cost, Proof 2 Base Cost, and Commitments. The compute cost for BP+ outputs is the sum of Base Cost and Commitments.
input.size.cost
is a metric of the aggregate FCMP input size of transactions that haven.inputs
.input.compute.cost
is a metric of the aggregate FCMP verification computational cost of transactions that haven.inputs
.additional.outputs.size.cost
is a metric of the aggregate size of the additional outputs that the consolidation transactions produce.additional.outputs.compute.cost
is a metric of the aggregate verification computational cost of the additional outputs that the consolidation transactions produce.total.size.cost
is the sum ofinput.size.cost
andadditional.outputs.size.cost
total.compute.cost
is the sum ofinput.compute.cost
andadditional.outputs.compute.cost
The most relevant numbers are the total.size.cost
and total.compute.cost
in the final row, which is the sum total of the columns. The values in these cells can be compared between different MAX_INPUTS
values. The size cost metric is 5471, 4795, 4542, and 4405 for MAX_INPUTS
= 4, 8, 16, and 128 respectively. The computational cost metric is 3904, 3706, 3692, and 3857 for MAX_INPUTS
= 4, 8, 16, and 128 respectively.
n.inputs | share | input.size.cost | input.compute.cost | additional.outputs.size.cost | additional.outputs.compute.cost | total.size.cost | total.compute.cost | |
---|---|---|---|---|---|---|---|---|
1 | 44.725 | 1937.770 | 885.621 | 0.000 | 0.000 | 1937.770 | 885.621 | |
2 | 33.462 | 1747.517 | 1293.244 | 20.667 | 4.316 | 1768.185 | 1297.559 | |
3 | 3.155 | 185.512 | 239.747 | 26.745 | 5.584 | 212.257 | 245.331 | |
4 | 18.657 | 1306.333 | 1424.291 | 246.678 | 51.508 | 1553.012 | 1475.799 | |
Sum | NA | 100.000 | 5177.133 | 3842.903 | 294.090 | 61.408 | 5471.223 | 3904.311 |
n.inputs | share | input.size.cost | input.compute.cost | additional.outputs.size.cost | additional.outputs.compute.cost | total.size.cost | total.compute.cost | |
---|---|---|---|---|---|---|---|---|
1 | 50.270 | 1937.770 | 885.621 | 0.000 | 0.000 | 1937.770 | 885.621 | |
2 | 36.587 | 1699.933 | 1258.029 | 5.159 | 1.077 | 1705.092 | 1259.107 | |
3 | 2.177 | 113.905 | 147.206 | 6.016 | 1.256 | 119.922 | 148.462 | |
4 | 1.273 | 79.297 | 86.457 | 5.578 | 1.165 | 84.875 | 87.622 | |
5 | 0.917 | 62.464 | 122.996 | 5.120 | 1.069 | 67.584 | 124.065 | |
6 | 0.784 | 59.641 | 105.409 | 5.388 | 1.125 | 65.029 | 106.534 | |
7 | 0.683 | 58.802 | 92.083 | 5.329 | 1.113 | 64.131 | 93.196 | |
8 | 7.309 | 676.720 | 986.385 | 73.773 | 15.404 | 750.493 | 1001.789 | |
Sum | NA | 100.000 | 4688.532 | 3684.187 | 106.362 | 22.209 | 4794.894 | 3706.396 |
n.inputs | share | input.size.cost | input.compute.cost | additional.outputs.size.cost | additional.outputs.compute.cost | total.size.cost | total.compute.cost | |
---|---|---|---|---|---|---|---|---|
1 | 52.661 | 1937.770 | 885.621 | 0.000 | 0.000 | 1937.770 | 885.621 | |
2 | 38.063 | 1688.213 | 1249.356 | 1.339 | 0.280 | 1689.551 | 1249.635 | |
3 | 1.958 | 97.802 | 126.395 | 1.355 | 0.283 | 99.157 | 126.678 | |
4 | 1.039 | 61.801 | 67.382 | 1.325 | 0.277 | 63.126 | 67.658 | |
5 | 0.693 | 45.084 | 88.774 | 1.258 | 0.263 | 46.342 | 89.037 | |
6 | 0.526 | 38.176 | 67.472 | 1.114 | 0.233 | 39.290 | 67.705 | |
7 | 0.416 | 34.190 | 53.541 | 0.998 | 0.208 | 35.187 | 53.749 | |
8 | 0.351 | 31.037 | 45.239 | 0.931 | 0.194 | 31.968 | 45.434 | |
9 | 0.303 | 28.503 | 77.399 | 0.912 | 0.190 | 29.415 | 77.590 | |
10 | 0.296 | 30.000 | 75.471 | 0.869 | 0.181 | 30.869 | 75.652 | |
11 | 0.263 | 28.309 | 67.142 | 1.256 | 0.262 | 29.564 | 67.404 | |
12 | 0.204 | 23.474 | 52.074 | 0.822 | 0.172 | 24.295 | 52.246 | |
13 | 0.179 | 22.372 | 45.896 | 0.760 | 0.159 | 23.132 | 46.054 | |
14 | 0.186 | 24.392 | 47.693 | 1.081 | 0.226 | 25.473 | 47.919 | |
15 | 0.162 | 22.441 | 41.525 | 0.899 | 0.188 | 23.340 | 41.713 | |
16 | 2.699 | 391.101 | 693.046 | 22.668 | 4.733 | 413.770 | 697.780 | |
Sum | NA | 100.000 | 4504.665 | 3684.026 | 37.586 | 7.848 | 4542.251 | 3691.874 |
n.inputs | share | input.size.cost | input.compute.cost | additional.outputs.size.cost | additional.outputs.compute.cost | total.size.cost | total.compute.cost | |
---|---|---|---|---|---|---|---|---|
1 | 54.019 | 1937.770 | 885.621 | 0.000 | 0.000 | 1937.770 | 885.621 | |
2 | 38.950 | 1684.132 | 1246.335 | 0.008 | 0.002 | 1684.140 | 1246.337 | |
3 | 1.913 | 93.149 | 120.382 | 0.008 | 0.002 | 93.158 | 120.384 | |
4 | 0.973 | 56.385 | 61.477 | 0.008 | 0.002 | 56.393 | 61.478 | |
5 | 0.622 | 39.459 | 77.697 | 0.008 | 0.002 | 39.466 | 77.698 | |
6 | 0.461 | 32.622 | 57.657 | 0.008 | 0.002 | 32.631 | 57.658 | |
7 | 0.357 | 28.568 | 44.737 | 0.008 | 0.002 | 28.576 | 44.739 | |
8 | 0.295 | 25.389 | 37.007 | 0.008 | 0.002 | 25.397 | 37.009 | |
9 | 0.247 | 22.618 | 61.419 | 0.007 | 0.001 | 22.625 | 61.421 | |
10 | 0.242 | 23.957 | 60.267 | 0.008 | 0.002 | 23.965 | 60.269 | |
11 | 0.181 | 19.005 | 45.076 | 0.008 | 0.002 | 19.013 | 45.077 | |
12 | 0.151 | 16.978 | 37.665 | 0.007 | 0.002 | 16.986 | 37.666 | |
13 | 0.130 | 15.871 | 32.560 | 0.007 | 0.001 | 15.878 | 32.561 | |
14 | 0.115 | 14.646 | 28.637 | 0.006 | 0.001 | 14.652 | 28.639 | |
15 | 0.103 | 13.888 | 25.698 | 0.007 | 0.001 | 13.895 | 25.699 | |
16 | 0.097 | 13.658 | 24.202 | 0.009 | 0.002 | 13.667 | 24.204 | |
17 | 0.079 | 11.537 | 39.129 | 0.008 | 0.002 | 11.545 | 39.130 | |
18 | 0.069 | 10.637 | 34.294 | 0.011 | 0.002 | 10.648 | 34.297 | |
19 | 0.099 | 15.797 | 49.012 | 0.512 | 0.107 | 16.308 | 49.118 | |
20 | 0.060 | 10.117 | 30.022 | 0.023 | 0.005 | 10.140 | 30.027 | |
21 | 0.050 | 8.750 | 25.066 | 0.014 | 0.003 | 8.764 | 25.068 | |
22 | 0.043 | 7.868 | 21.632 | 0.011 | 0.002 | 7.880 | 21.635 | |
23 | 0.039 | 7.350 | 19.557 | 0.012 | 0.003 | 7.362 | 19.560 | |
24 | 0.036 | 7.035 | 18.019 | 0.011 | 0.002 | 7.046 | 18.021 | |
25 | 0.035 | 6.976 | 17.197 | 0.009 | 0.002 | 6.985 | 17.198 | |
26 | 0.029 | 6.001 | 14.257 | 0.006 | 0.001 | 6.006 | 14.258 | |
27 | 0.026 | 5.582 | 12.819 | 0.003 | 0.001 | 5.585 | 12.819 | |
28 | 0.024 | 5.364 | 11.986 | 0.003 | 0.001 | 5.367 | 11.987 | |
29 | 0.022 | 5.032 | 10.890 | 0.003 | 0.001 | 5.034 | 10.890 | |
30 | 0.023 | 5.328 | 11.238 | 0.003 | 0.001 | 5.331 | 11.239 | |
31 | 0.037 | 8.988 | 18.395 | 0.003 | 0.001 | 8.991 | 18.395 | |
32 | 0.017 | 4.234 | 8.457 | 0.003 | 0.001 | 4.237 | 8.458 | |
33 | 0.015 | 3.902 | 15.161 | 0.002 | 0.000 | 3.905 | 15.161 | |
34 | 0.015 | 3.849 | 14.540 | 0.002 | 0.000 | 3.851 | 14.540 | |
35 | 0.013 | 3.610 | 13.314 | 0.002 | 0.000 | 3.612 | 13.314 | |
36 | 0.013 | 3.546 | 12.732 | 0.003 | 0.001 | 3.549 | 12.732 | |
37 | 0.011 | 3.229 | 11.346 | 0.003 | 0.001 | 3.232 | 11.346 | |
38 | 0.011 | 3.084 | 10.565 | 0.002 | 0.000 | 3.087 | 10.565 | |
39 | 0.010 | 2.992 | 10.041 | 0.003 | 0.001 | 2.995 | 10.041 | |
40 | 0.010 | 3.109 | 10.182 | 0.003 | 0.001 | 3.112 | 10.183 | |
41 | 0.009 | 2.859 | 9.182 | 0.002 | 0.000 | 2.862 | 9.182 | |
42 | 0.008 | 2.652 | 8.320 | 0.002 | 0.000 | 2.654 | 8.320 | |
43 | 0.008 | 2.580 | 7.944 | 0.002 | 0.000 | 2.583 | 7.945 | |
44 | 0.008 | 2.517 | 7.578 | 0.002 | 0.000 | 2.520 | 7.579 | |
45 | 0.007 | 2.483 | 7.342 | 0.003 | 0.001 | 2.486 | 7.342 | |
46 | 0.007 | 2.431 | 7.035 | 0.003 | 0.001 | 2.434 | 7.036 | |
47 | 0.007 | 2.331 | 6.629 | 0.003 | 0.001 | 2.333 | 6.630 | |
48 | 0.006 | 2.294 | 6.392 | 0.002 | 0.000 | 2.296 | 6.392 | |
49 | 0.006 | 2.300 | 6.274 | 0.003 | 0.001 | 2.302 | 6.275 | |
50 | 0.007 | 2.731 | 7.330 | 0.003 | 0.001 | 2.734 | 7.330 | |
51 | 0.006 | 2.094 | 5.511 | 0.002 | 0.000 | 2.096 | 5.511 | |
52 | 0.005 | 2.048 | 5.283 | 0.003 | 0.001 | 2.050 | 5.284 | |
53 | 0.005 | 2.028 | 5.135 | 0.002 | 0.000 | 2.030 | 5.136 | |
54 | 0.005 | 1.915 | 4.778 | 0.002 | 0.000 | 1.918 | 4.778 | |
55 | 0.004 | 1.821 | 4.460 | 0.002 | 0.000 | 1.823 | 4.461 | |
56 | 0.004 | 1.794 | 4.332 | 0.002 | 0.000 | 1.797 | 4.332 | |
57 | 0.004 | 1.780 | 4.223 | 0.002 | 0.000 | 1.783 | 4.224 | |
58 | 0.006 | 2.538 | 5.938 | 0.025 | 0.005 | 2.564 | 5.943 | |
59 | 0.004 | 1.768 | 4.066 | 0.002 | 0.000 | 1.770 | 4.066 | |
60 | 0.006 | 2.702 | 6.130 | 0.001 | 0.000 | 2.703 | 6.130 | |
61 | 0.004 | 1.863 | 4.157 | 0.002 | 0.000 | 1.865 | 4.157 | |
62 | 0.004 | 1.703 | 3.749 | 0.002 | 0.000 | 1.704 | 3.749 | |
63 | 0.008 | 3.792 | 8.218 | 0.066 | 0.014 | 3.858 | 8.232 | |
64 | 0.004 | 1.814 | 3.880 | 0.002 | 0.000 | 1.816 | 3.881 | |
65 | 0.003 | 1.626 | 6.833 | 0.003 | 0.001 | 1.629 | 6.834 | |
66 | 0.007 | 3.222 | 13.332 | 0.047 | 0.010 | 3.269 | 13.342 | |
67 | 0.022 | 10.452 | 42.713 | 0.261 | 0.055 | 10.713 | 42.768 | |
68 | 0.004 | 1.732 | 6.974 | 0.004 | 0.001 | 1.737 | 6.975 | |
69 | 0.003 | 1.635 | 6.500 | 0.002 | 0.000 | 1.637 | 6.500 | |
70 | 0.004 | 2.175 | 8.522 | 0.001 | 0.000 | 2.176 | 8.522 | |
71 | 0.003 | 1.459 | 5.649 | 0.001 | 0.000 | 1.460 | 5.649 | |
72 | 0.003 | 1.522 | 5.808 | 0.001 | 0.000 | 1.523 | 5.808 | |
73 | 0.003 | 1.655 | 6.245 | 0.001 | 0.000 | 1.656 | 6.245 | |
74 | 0.003 | 1.481 | 5.512 | 0.001 | 0.000 | 1.482 | 5.512 | |
75 | 0.002 | 0.997 | 3.668 | 0.001 | 0.000 | 0.998 | 3.668 | |
76 | 0.002 | 0.929 | 3.371 | 0.001 | 0.000 | 0.929 | 3.371 | |
77 | 0.002 | 0.939 | 3.372 | 0.001 | 0.000 | 0.940 | 3.372 | |
78 | 0.002 | 0.968 | 3.431 | 0.000 | 0.000 | 0.969 | 3.431 | |
79 | 0.002 | 0.945 | 3.313 | 0.000 | 0.000 | 0.945 | 3.313 | |
80 | 0.002 | 0.986 | 3.412 | 0.000 | 0.000 | 0.986 | 3.412 | |
81 | 0.002 | 0.967 | 3.313 | 0.001 | 0.000 | 0.968 | 3.314 | |
82 | 0.002 | 0.921 | 3.115 | 0.000 | 0.000 | 0.921 | 3.115 | |
83 | 0.002 | 0.930 | 3.116 | 0.000 | 0.000 | 0.931 | 3.116 | |
84 | 0.002 | 0.984 | 3.255 | 0.001 | 0.000 | 0.985 | 3.255 | |
85 | 0.001 | 0.897 | 2.938 | 0.001 | 0.000 | 0.898 | 2.938 | |
86 | 0.001 | 0.914 | 2.958 | 0.001 | 0.000 | 0.915 | 2.958 | |
87 | 0.002 | 0.973 | 3.117 | 0.000 | 0.000 | 0.973 | 3.117 | |
88 | 0.002 | 0.953 | 3.018 | 0.000 | 0.000 | 0.953 | 3.018 | |
89 | 0.001 | 0.937 | 2.939 | 0.000 | 0.000 | 0.937 | 2.939 | |
90 | 0.001 | 0.890 | 2.761 | 0.000 | 0.000 | 0.890 | 2.761 | |
91 | 0.001 | 0.924 | 2.840 | 0.000 | 0.000 | 0.925 | 2.840 | |
92 | 0.001 | 0.843 | 2.562 | 0.000 | 0.000 | 0.843 | 2.562 | |
93 | 0.001 | 0.911 | 2.742 | 0.000 | 0.000 | 0.911 | 2.742 | |
94 | 0.001 | 0.847 | 2.523 | 0.000 | 0.000 | 0.847 | 2.523 | |
95 | 0.001 | 0.869 | 2.563 | 0.000 | 0.000 | 0.869 | 2.563 | |
96 | 0.001 | 0.803 | 2.345 | 0.000 | 0.000 | 0.803 | 2.345 | |
97 | 0.001 | 0.792 | 2.286 | 0.000 | 0.000 | 0.792 | 2.286 | |
98 | 0.001 | 0.875 | 2.504 | 0.000 | 0.000 | 0.875 | 2.505 | |
99 | 0.001 | 0.877 | 2.485 | 0.000 | 0.000 | 0.877 | 2.485 | |
100 | 0.001 | 0.941 | 2.644 | 0.000 | 0.000 | 0.942 | 2.644 | |
101 | 0.001 | 0.851 | 2.366 | 0.000 | 0.000 | 0.851 | 2.366 | |
102 | 0.001 | 0.808 | 2.227 | 0.000 | 0.000 | 0.808 | 2.227 | |
103 | 0.001 | 0.774 | 2.108 | 0.000 | 0.000 | 0.774 | 2.108 | |
104 | 0.001 | 0.729 | 1.969 | 0.000 | 0.000 | 0.729 | 1.969 | |
105 | 0.001 | 0.803 | 2.148 | 0.000 | 0.000 | 0.803 | 2.148 | |
106 | 0.001 | 0.802 | 2.129 | 0.000 | 0.000 | 0.802 | 2.129 | |
107 | 0.001 | 0.734 | 1.930 | 0.000 | 0.000 | 0.735 | 1.930 | |
108 | 0.001 | 0.695 | 1.811 | 0.000 | 0.000 | 0.695 | 1.811 | |
109 | 0.001 | 0.740 | 1.910 | 0.000 | 0.000 | 0.740 | 1.910 | |
110 | 0.001 | 0.722 | 1.851 | 0.000 | 0.000 | 0.722 | 1.851 | |
111 | 0.001 | 0.808 | 2.050 | 0.000 | 0.000 | 0.808 | 2.050 | |
112 | 0.001 | 0.711 | 1.792 | 0.000 | 0.000 | 0.711 | 1.792 | |
113 | 0.001 | 0.766 | 1.911 | 0.000 | 0.000 | 0.766 | 1.911 | |
114 | 0.001 | 0.691 | 1.712 | 0.000 | 0.000 | 0.691 | 1.712 | |
115 | 0.001 | 0.641 | 1.573 | 0.000 | 0.000 | 0.641 | 1.573 | |
116 | 0.001 | 0.727 | 1.772 | 0.000 | 0.000 | 0.727 | 1.772 | |
117 | 0.001 | 0.750 | 1.812 | 0.000 | 0.000 | 0.750 | 1.813 | |
118 | 0.001 | 0.756 | 1.813 | 0.000 | 0.000 | 0.756 | 1.813 | |
119 | 0.004 | 3.535 | 8.407 | 0.000 | 0.000 | 3.535 | 8.407 | |
120 | 0.006 | 5.046 | 11.914 | 0.000 | 0.000 | 5.046 | 11.914 | |
121 | 0.001 | 0.655 | 1.534 | 0.000 | 0.000 | 0.656 | 1.534 | |
122 | 0.001 | 0.566 | 1.315 | 0.000 | 0.000 | 0.566 | 1.315 | |
123 | 0.001 | 0.501 | 1.156 | 0.000 | 0.000 | 0.502 | 1.156 | |
124 | 0.001 | 0.505 | 1.156 | 0.000 | 0.000 | 0.505 | 1.156 | |
125 | 0.001 | 0.606 | 1.375 | 0.000 | 0.000 | 0.606 | 1.375 | |
126 | 0.001 | 0.504 | 1.136 | 0.000 | 0.000 | 0.504 | 1.136 | |
127 | 0.001 | 0.544 | 1.216 | 0.000 | 0.000 | 0.544 | 1.216 | |
128 | 0.089 | 80.021 | 177.768 | 0.001 | 0.000 | 80.022 | 177.768 | |
Sum | NA | 100.000 | 4403.615 | 3856.714 | 1.247 | 0.260 | 4404.862 | 3856.975 |
R code to reproduce the above analysis is:
# Uncomment to install packages:
# install.packages(c("knitr", "igraph"))
input.consolidation <- function(MAX_INPUTS, input.table, example = NULL) {
input.table <- input.table[input.table$n.inputs > MAX_INPUTS, , drop = FALSE]
result <- vector("list", nrow(input.table))
example.graph <- NULL
for (i in seq_len(nrow(input.table))) {
n.inputs <- input.table$n.inputs[i]
log.inputs <- logb(n.inputs, base = MAX_INPUTS)
rounds.final <- ceiling(log.inputs)
rounds <- 0
n.MAX_INPUTS.txs <- 0
remainder.tx.n.inputs <- NULL
inputs.edgelist <- data.frame(source = NULL, destination = NULL)
inputs <- paste0(letters[1], seq_len(n.inputs))
while (length(inputs) > 1) {
current.length <- length(inputs)
rounds <- rounds + 1
tail.factor <- rep("A", current.length %% MAX_INPUTS)
split.factor.consolidate.tail <-
c(rep(seq_len(floor(current.length / MAX_INPUTS)), each = MAX_INPUTS), tail.factor)
split.consolidate.tail <- split(inputs, split.factor.consolidate.tail)
tail.length <- current.length %% MAX_INPUTS
tail.factor <- paste0(rep("A", tail.length), seq_len(tail.length) )
split.factor.dont.consolidate.tail <-
c(rep(seq_len(floor(current.length / MAX_INPUTS)), each = MAX_INPUTS), tail.factor)
split.dont.consolidate.tail <- split(inputs, split.factor.dont.consolidate.tail)
if ( length(inputs) <= MAX_INPUTS |
(
ceiling(length(split.consolidate.tail) / MAX_INPUTS) <
ceiling(length(split.dont.consolidate.tail) / MAX_INPUTS)
)
) {
split.factor <- split.factor.consolidate.tail
} else {
split.factor <- split.factor.dont.consolidate.tail
}
n.MAX_INPUTS.txs <- n.MAX_INPUTS.txs + floor(current.length / MAX_INPUTS)
if ( sum(split.factor == "A") > 1 ) {
remainder.tx.n.inputs <- paste0(remainder.tx.n.inputs, " ", sum(split.factor == "A"))
}
inputs <- split(inputs, split.factor)
names(inputs) <- paste0(letters[rounds + 1], seq_along(inputs))
inputs.edgelist <- rbind(inputs.edgelist,
data.frame(source = unlist(inputs), destination = rep(names(inputs), times = lengths(inputs))))
inputs <- names(inputs)
}
stopifnot(rounds == rounds.final)
if (length(remainder.tx.n.inputs) == 0) { remainder.tx.n.inputs <- NA }
if (length(example) == 1 && example == n.inputs) {
example.graph <- igraph::graph_from_edgelist(as.matrix(inputs.edgelist), directed = TRUE)
}
result[[i]] <- data.frame(
n.inputs = n.inputs,
rounds = rounds,
n.MAX_INPUTS.txs = n.MAX_INPUTS.txs,
remainder.tx.n.inputs = gsub("^ ", "", remainder.tx.n.inputs)
)
}
result <- do.call(rbind, result)
return(list(table = result, example.graph = example.graph))
}
# From https://gist.github.com/Rucknium/d2c02f51a2d9f103a28caa8f51be7dbf/raw/9962ab99421254706eba041735230cb1a0f08199/monero-in-out-height-1784324-3097764.md
inputs.md <-
"|1 | 54.06724| 54.06724|
|2 | 38.98393| 93.05116|
|3 | 1.91450| 94.96566|
|4 | 0.97294| 95.93861|
|5 | 0.62223| 96.56084|
|6 | 0.46069| 97.02153|
|7 | 0.35652| 97.37805|
|8 | 0.29441| 97.67246|
|9 | 0.24665| 97.91911|
|10 | 0.24168| 98.16079|
|11 | 0.18053| 98.34133|
|12 | 0.15063| 98.49196|
|13 | 0.13002| 98.62198|
|14 | 0.11427| 98.73625|
|15 | 0.10234| 98.83859|
|16 | 0.09614| 98.93473|
|17 | 0.07834| 99.01306|
|18 | 0.06833| 99.08139|
|19 | 0.06239| 99.14378|
|20 | 0.05884| 99.20263|
|21 | 0.04949| 99.25212|
|22 | 0.04272| 99.29484|
|23 | 0.03846| 99.33330|
|24 | 0.03545| 99.36875|
|25 | 0.03390| 99.40265|
|26 | 0.02823| 99.43088|
|27 | 0.02553| 99.45641|
|28 | 0.02386| 99.48027|
|29 | 0.02166| 99.50193|
|30 | 0.02229| 99.52422|
|31 | 0.03664| 99.56086|
|32 | 0.01672| 99.57758|
|33 | 0.01513| 99.59271|
|34 | 0.01453| 99.60724|
|35 | 0.01326| 99.62051|
|36 | 0.01264| 99.63315|
|37 | 0.01123| 99.64438|
|38 | 0.01048| 99.65485|
|39 | 0.00992| 99.66478|
|40 | 0.01008| 99.67485|
|41 | 0.00909| 99.68395|
|42 | 0.00821| 99.69215|
|43 | 0.00784| 99.69999|
|44 | 0.00746| 99.70745|
|45 | 0.00718| 99.71463|
|46 | 0.00687| 99.72150|
|47 | 0.00649| 99.72798|
|48 | 0.00627| 99.73425|
|49 | 0.00613| 99.74038|
|50 | 0.00717| 99.74755|
|51 | 0.00541| 99.75296|
|52 | 0.00510| 99.75806|
|53 | 0.00502| 99.76308|
|54 | 0.00465| 99.76773|
|55 | 0.00435| 99.77208|
|56 | 0.00418| 99.77626|
|57 | 0.00407| 99.78033|
|58 | 0.00417| 99.78450|
|59 | 0.00393| 99.78843|
|60 | 0.00606| 99.79449|
|61 | 0.00404| 99.79853|
|62 | 0.00363| 99.80215|
|63 | 0.00356| 99.80571|
|64 | 0.00373| 99.80945|
|65 | 0.00326| 99.81271|
|66 | 0.00337| 99.81608|
|67 | 0.00302| 99.81910|
|68 | 0.00321| 99.82230|
|69 | 0.00315| 99.82545|
|70 | 0.00425| 99.82970|
|71 | 0.00278| 99.83248|
|72 | 0.00287| 99.83535|
|73 | 0.00309| 99.83844|
|74 | 0.00272| 99.84116|
|75 | 0.00180| 99.84296|
|76 | 0.00166| 99.84463|
|77 | 0.00165| 99.84628|
|78 | 0.00170| 99.84798|
|79 | 0.00164| 99.84962|
|80 | 0.00169| 99.85131|
|81 | 0.00162| 99.85293|
|82 | 0.00155| 99.85448|
|83 | 0.00154| 99.85602|
|84 | 0.00160| 99.85761|
|85 | 0.00144| 99.85905|
|86 | 0.00144| 99.86050|
|87 | 0.00154| 99.86204|
|88 | 0.00150| 99.86354|
|89 | 0.00146| 99.86499|
|90 | 0.00138| 99.86638|
|91 | 0.00141| 99.86778|
|92 | 0.00128| 99.86907|
|93 | 0.00137| 99.87044|
|94 | 0.00126| 99.87169|
|95 | 0.00128| 99.87297|
|96 | 0.00116| 99.87413|
|97 | 0.00114| 99.87527|
|98 | 0.00125| 99.87652|
|99 | 0.00124| 99.87776|
|100 | 0.00131| 99.87907|
|101 | 0.00117| 99.88024|
|102 | 0.00111| 99.88135|
|103 | 0.00104| 99.88239|
|104 | 0.00097| 99.88336|
|105 | 0.00106| 99.88442|
|106 | 0.00107| 99.88549|
|107 | 0.00096| 99.88646|
|108 | 0.00090| 99.88736|
|109 | 0.00095| 99.88831|
|110 | 0.00092| 99.88923|
|111 | 0.00101| 99.89024|
|112 | 0.00088| 99.89112|
|113 | 0.00094| 99.89206|
|114 | 0.00085| 99.89292|
|115 | 0.00078| 99.89369|
|116 | 0.00089| 99.89459|
|117 | 0.00089| 99.89548|
|118 | 0.00090| 99.89638|
|119 | 0.00422| 99.90060|
|120 | 0.00596| 99.90656|
|121 | 0.00076| 99.90733|
|122 | 0.00064| 99.90797|
|123 | 0.00057| 99.90853|
|124 | 0.00057| 99.90910|
|125 | 0.00068| 99.90978|
|126 | 0.00056| 99.91034|
|127 | 0.00059| 99.91092|
|128 | 0.00055| 99.91148|
|129 | 0.00060| 99.91207|
|130 | 0.00058| 99.91265|
|131 | 0.00056| 99.91321|
|132 | 0.00053| 99.91375|
|133 | 0.00060| 99.91434|
|134 | 0.00058| 99.91493|
|135 | 0.00054| 99.91547|
|136 | 0.00049| 99.91596|
|137 | 0.00059| 99.91655|
|138 | 0.00054| 99.91709|
|139 | 0.00052| 99.91762|
|140 | 0.00050| 99.91812|
|141 | 0.00044| 99.91855|
|142 | 0.00050| 99.91905|
|143 | 0.00064| 99.91970|
|144 | 0.00055| 99.92025|
|145 | 0.00078| 99.92102|
|146 | 0.03634| 99.95736|
|147 | 0.00160| 99.95896|
|148 | 0.00096| 99.95992|
|149 | 0.00080| 99.96072|
|150 | 0.00087| 99.96160|
|151 | 0.00077| 99.96237|
|152 | 0.00065| 99.96302|
|153 | 0.00040| 99.96342|
|154 | 0.00020| 99.96362|
|155 | 0.00019| 99.96382|
|156 | 0.00018| 99.96400|
|157 | 0.00024| 99.96424|
|158 | 0.00022| 99.96445|
|159 | 0.00022| 99.96467|
|160 | 0.00017| 99.96485|
|161 | 0.00014| 99.96499|
|162 | 0.00017| 99.96517|
|163 | 0.00020| 99.96537|
|164 | 0.00021| 99.96558|
|165 | 0.00017| 99.96575|
|166 | 0.00020| 99.96595|
|167 | 0.00018| 99.96613|
|168 | 0.00016| 99.96629|
|169 | 0.00017| 99.96646|
|170 | 0.00016| 99.96663|
|171 | 0.00017| 99.96679|
|172 | 0.00021| 99.96701|
|173 | 0.00021| 99.96721|
|174 | 0.00018| 99.96739|
|175 | 0.00016| 99.96755|
|176 | 0.00018| 99.96773|
|177 | 0.00020| 99.96793|
|178 | 0.00013| 99.96805|
|179 | 0.00021| 99.96826|
|180 | 0.00014| 99.96841|
|181 | 0.00015| 99.96856|
|182 | 0.00013| 99.96869|
|183 | 0.00017| 99.96885|
|184 | 0.00017| 99.96902|
|185 | 0.00179| 99.97081|
|186 | 0.00015| 99.97096|
|187 | 0.00009| 99.97105|
|188 | 0.00013| 99.97118|
|189 | 0.00013| 99.97132|
|190 | 0.00468| 99.97600|
|191 | 0.00016| 99.97615|
|192 | 0.00019| 99.97634|
|193 | 0.00336| 99.97971|
|194 | 0.01854| 99.99824|
|195 | 0.00031| 99.99855|
|196 | 0.00013| 99.99869|
|197 | 0.00005| 99.99873|
|198 | 0.00007| 99.99880|
|199 | 0.00006| 99.99887|
|200 | 0.00006| 99.99893|
|201 | 0.00006| 99.99899|
|202 | 0.00005| 99.99903|
|203 | 0.00004| 99.99907|
|204 | 0.00005| 99.99912|
|205 | 0.00003| 99.99915|
|206 | 0.00003| 99.99919|
|207 | 0.00003| 99.99922|
|208 | 0.00005| 99.99927|
|209 | 0.00002| 99.99930|
|210 | 0.00003| 99.99933|
|211 | 0.00004| 99.99937|
|212 | 0.00004| 99.99941|
|213 | 0.00005| 99.99945|
|214 | 0.00003| 99.99948|
|215 | 0.00002| 99.99951|
|216 | 0.00002| 99.99952|
|217 | 0.00001| 99.99953|
|218 | 0.00002| 99.99954|
|219 | 0.00001| 99.99955|
|220 | 0.00001| 99.99956|
|221 | 0.00001| 99.99957|
|222 | 0.00001| 99.99958|
|223 | 0.00002| 99.99960|
|224 | 0.00001| 99.99961|
|225 | 0.00001| 99.99961|
|226 | 0.00001| 99.99962|
|227 | 0.00002| 99.99965|
|228 | 0.00002| 99.99966|
|229 | 0.00001| 99.99967|
|230 | 0.00002| 99.99968|
|231 | 0.00002| 99.99970|
|232 | 0.00002| 99.99972|
|233 | 0.00000| 99.99973|
|234 | 0.00001| 99.99973|
|235 | 0.00001| 99.99974|
|236 | 0.00001| 99.99975|
|237 | 0.00001| 99.99976|
|238 | 0.00002| 99.99977|
|239 | 0.00002| 99.99979|
|240 | 0.00002| 99.99981|
|241 | 0.00001| 99.99982|
|242 | 0.00001| 99.99983|
|243 | 0.00000| 99.99983|
|244 | 0.00002| 99.99984|
|245 | 0.00001| 99.99985|
|247 | 0.00002| 99.99987|
|248 | 0.00001| 99.99987|
|249 | 0.00002| 99.99989|
|250 | 0.00001| 99.99990|
|251 | 0.00001| 99.99991|
|252 | 0.00001| 99.99991|
|253 | 0.00001| 99.99993|
|254 | 0.00002| 99.99994|
|255 | 0.00001| 99.99995|
|259 | 0.00001| 99.99995|
|261 | 0.00000| 99.99996|
|264 | 0.00001| 99.99996|
|265 | 0.00000| 99.99997|
|266 | 0.00001| 99.99997|
|267 | 0.00000| 99.99998|
|268 | 0.00000| 99.99998|
|270 | 0.00000| 99.99998|
|272 | 0.00000| 99.99998|
|273 | 0.00000| 99.99999|
|274 | 0.00001| 99.99999|
|277 | 0.00000| 100.00000|
|282 | 0.00000| 100.00000|
"
inputs.md <- read.delim(text = inputs.md, header = FALSE, sep = "|")
inputs.md <- inputs.md[, - c(1, ncol(inputs.md))]
# colnames(inputs.md) <- c("Number of inputs", "Share (percentage)", "Cumulative share")
colnames(inputs.md) <- c("n.inputs", "share", "cumulative.share")
# From https://gist.github.com/kayabaNerve/c42aeae1ae9434f2678943c3b8da7898
fcmp.input.cost <-
"Compute Factor: 4 , Inputs: 1 , Proof 1 Base Cost: 1024 , Proof 2 Base Cost: 512 , Commitments: 102 (p1vcs: 4 , p2vcs: 4 ) , Size: 3584
Compute Factor: 4 , Inputs: 2 , Proof 1 Base Cost: 2048 , Proof 2 Base Cost: 1024 , Commitments: 125 (p1vcs: 4 , p2vcs: 4 ) , Size: 4320
Compute Factor: 4 , Inputs: 3 , Proof 1 Base Cost: 4096 , Proof 2 Base Cost: 2048 , Commitments: 142 (p1vcs: 3 , p2vcs: 3 ) , Size: 4864
Compute Factor: 4 , Inputs: 4 , Proof 1 Base Cost: 4096 , Proof 2 Base Cost: 2048 , Commitments: 171 (p1vcs: 4 , p2vcs: 4 ) , Size: 5792
Compute Factor: 4 , Inputs: 5 , Proof 1 Base Cost: 8192 , Proof 2 Base Cost: 4096 , Commitments: 188 (p1vcs: 3 , p2vcs: 3 ) , Size: 6336
Compute Factor: 4 , Inputs: 6 , Proof 1 Base Cost: 8192 , Proof 2 Base Cost: 4096 , Commitments: 211 (p1vcs: 3 , p2vcs: 3 ) , Size: 7072
Compute Factor: 4 , Inputs: 7 , Proof 1 Base Cost: 8192 , Proof 2 Base Cost: 4096 , Commitments: 240 (p1vcs: 4 , p2vcs: 4 ) , Size: 8000
Compute Factor: 4 , Inputs: 8 , Proof 1 Base Cost: 8192 , Proof 2 Base Cost: 4096 , Commitments: 259 (p1vcs: 4 , p2vcs: 4 ) , Size: 8608
Compute Factor: 4 , Inputs: 9 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 276 (p1vcs: 3 , p2vcs: 3 ) , Size: 9152
Compute Factor: 4 , Inputs: 10 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 299 (p1vcs: 3 , p2vcs: 3 ) , Size: 9888
Compute Factor: 4 , Inputs: 11 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 318 (p1vcs: 3 , p2vcs: 3 ) , Size: 10496
Compute Factor: 4 , Inputs: 12 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 341 (p1vcs: 3 , p2vcs: 3 ) , Size: 11232
Compute Factor: 4 , Inputs: 13 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 370 (p1vcs: 4 , p2vcs: 4 ) , Size: 12160
Compute Factor: 4 , Inputs: 14 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 389 (p1vcs: 4 , p2vcs: 4 ) , Size: 12768
Compute Factor: 4 , Inputs: 15 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 412 (p1vcs: 4 , p2vcs: 4 ) , Size: 13504
Compute Factor: 4 , Inputs: 16 , Proof 1 Base Cost: 16384 , Proof 2 Base Cost: 8192 , Commitments: 431 (p1vcs: 4 , p2vcs: 4 ) , Size: 14112
Compute Factor: 4 , Inputs: 17 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 447 (p1vcs: 2 , p2vcs: 3 ) , Size: 14624
Compute Factor: 4 , Inputs: 18 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 471 (p1vcs: 3 , p2vcs: 3 ) , Size: 15392
Compute Factor: 4 , Inputs: 19 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 490 (p1vcs: 3 , p2vcs: 3 ) , Size: 16000
Compute Factor: 4 , Inputs: 20 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 513 (p1vcs: 3 , p2vcs: 3 ) , Size: 16736
Compute Factor: 4 , Inputs: 21 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 532 (p1vcs: 3 , p2vcs: 3 ) , Size: 17344
Compute Factor: 4 , Inputs: 22 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 555 (p1vcs: 3 , p2vcs: 3 ) , Size: 18080
Compute Factor: 4 , Inputs: 23 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 574 (p1vcs: 3 , p2vcs: 3 ) , Size: 18688
Compute Factor: 4 , Inputs: 24 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 597 (p1vcs: 3 , p2vcs: 3 ) , Size: 19424
Compute Factor: 4 , Inputs: 25 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 621 (p1vcs: 3 , p2vcs: 4 ) , Size: 20192
Compute Factor: 4 , Inputs: 26 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 645 (p1vcs: 4 , p2vcs: 4 ) , Size: 20960
Compute Factor: 4 , Inputs: 27 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 668 (p1vcs: 4 , p2vcs: 4 ) , Size: 21696
Compute Factor: 4 , Inputs: 28 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 687 (p1vcs: 4 , p2vcs: 4 ) , Size: 22304
Compute Factor: 4 , Inputs: 29 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 710 (p1vcs: 4 , p2vcs: 4 ) , Size: 23040
Compute Factor: 4 , Inputs: 30 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 729 (p1vcs: 4 , p2vcs: 4 ) , Size: 23648
Compute Factor: 4 , Inputs: 31 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 752 (p1vcs: 4 , p2vcs: 4 ) , Size: 24384
Compute Factor: 4 , Inputs: 32 , Proof 1 Base Cost: 32768 , Proof 2 Base Cost: 16384 , Commitments: 771 (p1vcs: 4 , p2vcs: 4 ) , Size: 24992
Compute Factor: 4 , Inputs: 33 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 787 (p1vcs: 2 , p2vcs: 3 ) , Size: 25504
Compute Factor: 4 , Inputs: 34 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 810 (p1vcs: 2 , p2vcs: 3 ) , Size: 26240
Compute Factor: 4 , Inputs: 35 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 830 (p1vcs: 3 , p2vcs: 3 ) , Size: 26880
Compute Factor: 4 , Inputs: 36 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 853 (p1vcs: 3 , p2vcs: 3 ) , Size: 27616
Compute Factor: 4 , Inputs: 37 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 872 (p1vcs: 3 , p2vcs: 3 ) , Size: 28224
Compute Factor: 4 , Inputs: 38 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 895 (p1vcs: 3 , p2vcs: 3 ) , Size: 28960
Compute Factor: 4 , Inputs: 39 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 914 (p1vcs: 3 , p2vcs: 3 ) , Size: 29568
Compute Factor: 4 , Inputs: 40 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 937 (p1vcs: 3 , p2vcs: 3 ) , Size: 30304
Compute Factor: 4 , Inputs: 41 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 956 (p1vcs: 3 , p2vcs: 3 ) , Size: 30912
Compute Factor: 4 , Inputs: 42 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 979 (p1vcs: 3 , p2vcs: 3 ) , Size: 31648
Compute Factor: 4 , Inputs: 43 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 998 (p1vcs: 3 , p2vcs: 3 ) , Size: 32256
Compute Factor: 4 , Inputs: 44 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1021 (p1vcs: 3 , p2vcs: 3 ) , Size: 32992
Compute Factor: 4 , Inputs: 45 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1040 (p1vcs: 3 , p2vcs: 3 ) , Size: 33600
Compute Factor: 4 , Inputs: 46 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1063 (p1vcs: 3 , p2vcs: 3 ) , Size: 34336
Compute Factor: 4 , Inputs: 47 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1082 (p1vcs: 3 , p2vcs: 3 ) , Size: 34944
Compute Factor: 4 , Inputs: 48 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1105 (p1vcs: 3 , p2vcs: 3 ) , Size: 35680
Compute Factor: 4 , Inputs: 49 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1129 (p1vcs: 3 , p2vcs: 4 ) , Size: 36448
Compute Factor: 4 , Inputs: 50 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1148 (p1vcs: 3 , p2vcs: 4 ) , Size: 37056
Compute Factor: 4 , Inputs: 51 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1171 (p1vcs: 3 , p2vcs: 4 ) , Size: 37792
Compute Factor: 4 , Inputs: 52 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1195 (p1vcs: 4 , p2vcs: 4 ) , Size: 38560
Compute Factor: 4 , Inputs: 53 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1218 (p1vcs: 4 , p2vcs: 4 ) , Size: 39296
Compute Factor: 4 , Inputs: 54 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1237 (p1vcs: 4 , p2vcs: 4 ) , Size: 39904
Compute Factor: 4 , Inputs: 55 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1260 (p1vcs: 4 , p2vcs: 4 ) , Size: 40640
Compute Factor: 4 , Inputs: 56 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1279 (p1vcs: 4 , p2vcs: 4 ) , Size: 41248
Compute Factor: 4 , Inputs: 57 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1302 (p1vcs: 4 , p2vcs: 4 ) , Size: 41984
Compute Factor: 4 , Inputs: 58 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1321 (p1vcs: 4 , p2vcs: 4 ) , Size: 42592
Compute Factor: 4 , Inputs: 59 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1344 (p1vcs: 4 , p2vcs: 4 ) , Size: 43328
Compute Factor: 4 , Inputs: 60 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1363 (p1vcs: 4 , p2vcs: 4 ) , Size: 43936
Compute Factor: 4 , Inputs: 61 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1386 (p1vcs: 4 , p2vcs: 4 ) , Size: 44672
Compute Factor: 4 , Inputs: 62 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1405 (p1vcs: 4 , p2vcs: 4 ) , Size: 45280
Compute Factor: 4 , Inputs: 63 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1428 (p1vcs: 4 , p2vcs: 4 ) , Size: 46016
Compute Factor: 4 , Inputs: 64 , Proof 1 Base Cost: 65536 , Proof 2 Base Cost: 32768 , Commitments: 1447 (p1vcs: 4 , p2vcs: 4 ) , Size: 46624
Compute Factor: 4 , Inputs: 65 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1463 (p1vcs: 2 , p2vcs: 3 ) , Size: 47136
Compute Factor: 4 , Inputs: 66 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1486 (p1vcs: 2 , p2vcs: 3 ) , Size: 47872
Compute Factor: 4 , Inputs: 67 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1505 (p1vcs: 2 , p2vcs: 3 ) , Size: 48480
Compute Factor: 4 , Inputs: 68 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1528 (p1vcs: 2 , p2vcs: 3 ) , Size: 49216
Compute Factor: 4 , Inputs: 69 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1548 (p1vcs: 3 , p2vcs: 3 ) , Size: 49856
Compute Factor: 4 , Inputs: 70 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1571 (p1vcs: 3 , p2vcs: 3 ) , Size: 50592
Compute Factor: 4 , Inputs: 71 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1590 (p1vcs: 3 , p2vcs: 3 ) , Size: 51200
Compute Factor: 4 , Inputs: 72 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1613 (p1vcs: 3 , p2vcs: 3 ) , Size: 51936
Compute Factor: 4 , Inputs: 73 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1632 (p1vcs: 3 , p2vcs: 3 ) , Size: 52544
Compute Factor: 4 , Inputs: 74 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1655 (p1vcs: 3 , p2vcs: 3 ) , Size: 53280
Compute Factor: 4 , Inputs: 75 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1674 (p1vcs: 3 , p2vcs: 3 ) , Size: 53888
Compute Factor: 4 , Inputs: 76 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1697 (p1vcs: 3 , p2vcs: 3 ) , Size: 54624
Compute Factor: 4 , Inputs: 77 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1716 (p1vcs: 3 , p2vcs: 3 ) , Size: 55232
Compute Factor: 4 , Inputs: 78 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1739 (p1vcs: 3 , p2vcs: 3 ) , Size: 55968
Compute Factor: 4 , Inputs: 79 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1758 (p1vcs: 3 , p2vcs: 3 ) , Size: 56576
Compute Factor: 4 , Inputs: 80 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1781 (p1vcs: 3 , p2vcs: 3 ) , Size: 57312
Compute Factor: 4 , Inputs: 81 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1800 (p1vcs: 3 , p2vcs: 3 ) , Size: 57920
Compute Factor: 4 , Inputs: 82 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1823 (p1vcs: 3 , p2vcs: 3 ) , Size: 58656
Compute Factor: 4 , Inputs: 83 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1842 (p1vcs: 3 , p2vcs: 3 ) , Size: 59264
Compute Factor: 4 , Inputs: 84 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1865 (p1vcs: 3 , p2vcs: 3 ) , Size: 60000
Compute Factor: 4 , Inputs: 85 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1884 (p1vcs: 3 , p2vcs: 3 ) , Size: 60608
Compute Factor: 4 , Inputs: 86 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1907 (p1vcs: 3 , p2vcs: 3 ) , Size: 61344
Compute Factor: 4 , Inputs: 87 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1926 (p1vcs: 3 , p2vcs: 3 ) , Size: 61952
Compute Factor: 4 , Inputs: 88 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1949 (p1vcs: 3 , p2vcs: 3 ) , Size: 62688
Compute Factor: 4 , Inputs: 89 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1968 (p1vcs: 3 , p2vcs: 3 ) , Size: 63296
Compute Factor: 4 , Inputs: 90 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 1991 (p1vcs: 3 , p2vcs: 3 ) , Size: 64032
Compute Factor: 4 , Inputs: 91 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2010 (p1vcs: 3 , p2vcs: 3 ) , Size: 64640
Compute Factor: 4 , Inputs: 92 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2033 (p1vcs: 3 , p2vcs: 3 ) , Size: 65376
Compute Factor: 4 , Inputs: 93 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2052 (p1vcs: 3 , p2vcs: 3 ) , Size: 65984
Compute Factor: 4 , Inputs: 94 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2075 (p1vcs: 3 , p2vcs: 3 ) , Size: 66720
Compute Factor: 4 , Inputs: 95 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2094 (p1vcs: 3 , p2vcs: 3 ) , Size: 67328
Compute Factor: 4 , Inputs: 96 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2117 (p1vcs: 3 , p2vcs: 3 ) , Size: 68064
Compute Factor: 4 , Inputs: 97 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2141 (p1vcs: 3 , p2vcs: 4 ) , Size: 68832
Compute Factor: 4 , Inputs: 98 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2160 (p1vcs: 3 , p2vcs: 4 ) , Size: 69440
Compute Factor: 4 , Inputs: 99 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2183 (p1vcs: 3 , p2vcs: 4 ) , Size: 70176
Compute Factor: 4 , Inputs: 100 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2202 (p1vcs: 3 , p2vcs: 4 ) , Size: 70784
Compute Factor: 4 , Inputs: 101 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2225 (p1vcs: 3 , p2vcs: 4 ) , Size: 71520
Compute Factor: 4 , Inputs: 102 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2244 (p1vcs: 3 , p2vcs: 4 ) , Size: 72128
Compute Factor: 4 , Inputs: 103 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2272 (p1vcs: 4 , p2vcs: 4 ) , Size: 73024
Compute Factor: 4 , Inputs: 104 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2291 (p1vcs: 4 , p2vcs: 4 ) , Size: 73632
Compute Factor: 4 , Inputs: 105 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2314 (p1vcs: 4 , p2vcs: 4 ) , Size: 74368
Compute Factor: 4 , Inputs: 106 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2333 (p1vcs: 4 , p2vcs: 4 ) , Size: 74976
Compute Factor: 4 , Inputs: 107 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2356 (p1vcs: 4 , p2vcs: 4 ) , Size: 75712
Compute Factor: 4 , Inputs: 108 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2375 (p1vcs: 4 , p2vcs: 4 ) , Size: 76320
Compute Factor: 4 , Inputs: 109 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2398 (p1vcs: 4 , p2vcs: 4 ) , Size: 77056
Compute Factor: 4 , Inputs: 110 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2417 (p1vcs: 4 , p2vcs: 4 ) , Size: 77664
Compute Factor: 4 , Inputs: 111 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2440 (p1vcs: 4 , p2vcs: 4 ) , Size: 78400
Compute Factor: 4 , Inputs: 112 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2459 (p1vcs: 4 , p2vcs: 4 ) , Size: 79008
Compute Factor: 4 , Inputs: 113 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2482 (p1vcs: 4 , p2vcs: 4 ) , Size: 79744
Compute Factor: 4 , Inputs: 114 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2501 (p1vcs: 4 , p2vcs: 4 ) , Size: 80352
Compute Factor: 4 , Inputs: 115 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2524 (p1vcs: 4 , p2vcs: 4 ) , Size: 81088
Compute Factor: 4 , Inputs: 116 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2543 (p1vcs: 4 , p2vcs: 4 ) , Size: 81696
Compute Factor: 4 , Inputs: 117 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2566 (p1vcs: 4 , p2vcs: 4 ) , Size: 82432
Compute Factor: 4 , Inputs: 118 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2585 (p1vcs: 4 , p2vcs: 4 ) , Size: 83040
Compute Factor: 4 , Inputs: 119 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2608 (p1vcs: 4 , p2vcs: 4 ) , Size: 83776
Compute Factor: 4 , Inputs: 120 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2627 (p1vcs: 4 , p2vcs: 4 ) , Size: 84384
Compute Factor: 4 , Inputs: 121 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2650 (p1vcs: 4 , p2vcs: 4 ) , Size: 85120
Compute Factor: 4 , Inputs: 122 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2669 (p1vcs: 4 , p2vcs: 4 ) , Size: 85728
Compute Factor: 4 , Inputs: 123 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2692 (p1vcs: 4 , p2vcs: 4 ) , Size: 86464
Compute Factor: 4 , Inputs: 124 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2711 (p1vcs: 4 , p2vcs: 4 ) , Size: 87072
Compute Factor: 4 , Inputs: 125 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2734 (p1vcs: 4 , p2vcs: 4 ) , Size: 87808
Compute Factor: 4 , Inputs: 126 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2753 (p1vcs: 4 , p2vcs: 4 ) , Size: 88416
Compute Factor: 4 , Inputs: 127 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2776 (p1vcs: 4 , p2vcs: 4 ) , Size: 89152
Compute Factor: 4 , Inputs: 128 , Proof 1 Base Cost: 131072 , Proof 2 Base Cost: 65536 , Commitments: 2795 (p1vcs: 4 , p2vcs: 4 ) , Size: 89760
Compute Factor: 4 , Inputs: 129 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2811 (p1vcs: 2 , p2vcs: 3 ) , Size: 90272
Compute Factor: 4 , Inputs: 130 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2834 (p1vcs: 2 , p2vcs: 3 ) , Size: 91008
Compute Factor: 4 , Inputs: 131 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2853 (p1vcs: 2 , p2vcs: 3 ) , Size: 91616
Compute Factor: 4 , Inputs: 132 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2876 (p1vcs: 2 , p2vcs: 3 ) , Size: 92352
Compute Factor: 4 , Inputs: 133 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2895 (p1vcs: 2 , p2vcs: 3 ) , Size: 92960
Compute Factor: 4 , Inputs: 134 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2918 (p1vcs: 2 , p2vcs: 3 ) , Size: 93696
Compute Factor: 4 , Inputs: 135 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2937 (p1vcs: 2 , p2vcs: 3 ) , Size: 94304
Compute Factor: 4 , Inputs: 136 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2960 (p1vcs: 2 , p2vcs: 3 ) , Size: 95040
Compute Factor: 4 , Inputs: 137 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 2980 (p1vcs: 3 , p2vcs: 3 ) , Size: 95680
Compute Factor: 4 , Inputs: 138 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3003 (p1vcs: 3 , p2vcs: 3 ) , Size: 96416
Compute Factor: 4 , Inputs: 139 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3022 (p1vcs: 3 , p2vcs: 3 ) , Size: 97024
Compute Factor: 4 , Inputs: 140 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3045 (p1vcs: 3 , p2vcs: 3 ) , Size: 97760
Compute Factor: 4 , Inputs: 141 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3064 (p1vcs: 3 , p2vcs: 3 ) , Size: 98368
Compute Factor: 4 , Inputs: 142 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3087 (p1vcs: 3 , p2vcs: 3 ) , Size: 99104
Compute Factor: 4 , Inputs: 143 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3106 (p1vcs: 3 , p2vcs: 3 ) , Size: 99712
Compute Factor: 4 , Inputs: 144 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3129 (p1vcs: 3 , p2vcs: 3 ) , Size: 100448
Compute Factor: 4 , Inputs: 145 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3148 (p1vcs: 3 , p2vcs: 3 ) , Size: 101056
Compute Factor: 4 , Inputs: 146 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3171 (p1vcs: 3 , p2vcs: 3 ) , Size: 101792
Compute Factor: 4 , Inputs: 147 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3190 (p1vcs: 3 , p2vcs: 3 ) , Size: 102400
Compute Factor: 4 , Inputs: 148 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3213 (p1vcs: 3 , p2vcs: 3 ) , Size: 103136
Compute Factor: 4 , Inputs: 149 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3232 (p1vcs: 3 , p2vcs: 3 ) , Size: 103744
Compute Factor: 4 , Inputs: 150 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3255 (p1vcs: 3 , p2vcs: 3 ) , Size: 104480
Compute Factor: 4 , Inputs: 151 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3274 (p1vcs: 3 , p2vcs: 3 ) , Size: 105088
Compute Factor: 4 , Inputs: 152 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3297 (p1vcs: 3 , p2vcs: 3 ) , Size: 105824
Compute Factor: 4 , Inputs: 153 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3316 (p1vcs: 3 , p2vcs: 3 ) , Size: 106432
Compute Factor: 4 , Inputs: 154 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3339 (p1vcs: 3 , p2vcs: 3 ) , Size: 107168
Compute Factor: 4 , Inputs: 155 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3358 (p1vcs: 3 , p2vcs: 3 ) , Size: 107776
Compute Factor: 4 , Inputs: 156 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3381 (p1vcs: 3 , p2vcs: 3 ) , Size: 108512
Compute Factor: 4 , Inputs: 157 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3400 (p1vcs: 3 , p2vcs: 3 ) , Size: 109120
Compute Factor: 4 , Inputs: 158 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3423 (p1vcs: 3 , p2vcs: 3 ) , Size: 109856
Compute Factor: 4 , Inputs: 159 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3442 (p1vcs: 3 , p2vcs: 3 ) , Size: 110464
Compute Factor: 4 , Inputs: 160 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3465 (p1vcs: 3 , p2vcs: 3 ) , Size: 111200
Compute Factor: 4 , Inputs: 161 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3484 (p1vcs: 3 , p2vcs: 3 ) , Size: 111808
Compute Factor: 4 , Inputs: 162 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3507 (p1vcs: 3 , p2vcs: 3 ) , Size: 112544
Compute Factor: 4 , Inputs: 163 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3526 (p1vcs: 3 , p2vcs: 3 ) , Size: 113152
Compute Factor: 4 , Inputs: 164 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3549 (p1vcs: 3 , p2vcs: 3 ) , Size: 113888
Compute Factor: 4 , Inputs: 165 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3568 (p1vcs: 3 , p2vcs: 3 ) , Size: 114496
Compute Factor: 4 , Inputs: 166 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3591 (p1vcs: 3 , p2vcs: 3 ) , Size: 115232
Compute Factor: 4 , Inputs: 167 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3610 (p1vcs: 3 , p2vcs: 3 ) , Size: 115840
Compute Factor: 4 , Inputs: 168 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3633 (p1vcs: 3 , p2vcs: 3 ) , Size: 116576
Compute Factor: 4 , Inputs: 169 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3652 (p1vcs: 3 , p2vcs: 3 ) , Size: 117184
Compute Factor: 4 , Inputs: 170 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3675 (p1vcs: 3 , p2vcs: 3 ) , Size: 117920
Compute Factor: 4 , Inputs: 171 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3694 (p1vcs: 3 , p2vcs: 3 ) , Size: 118528
Compute Factor: 4 , Inputs: 172 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3717 (p1vcs: 3 , p2vcs: 3 ) , Size: 119264
Compute Factor: 4 , Inputs: 173 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3736 (p1vcs: 3 , p2vcs: 3 ) , Size: 119872
Compute Factor: 4 , Inputs: 174 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3759 (p1vcs: 3 , p2vcs: 3 ) , Size: 120608
Compute Factor: 4 , Inputs: 175 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3778 (p1vcs: 3 , p2vcs: 3 ) , Size: 121216
Compute Factor: 4 , Inputs: 176 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3801 (p1vcs: 3 , p2vcs: 3 ) , Size: 121952
Compute Factor: 4 , Inputs: 177 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3820 (p1vcs: 3 , p2vcs: 3 ) , Size: 122560
Compute Factor: 4 , Inputs: 178 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3843 (p1vcs: 3 , p2vcs: 3 ) , Size: 123296
Compute Factor: 4 , Inputs: 179 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3862 (p1vcs: 3 , p2vcs: 3 ) , Size: 123904
Compute Factor: 4 , Inputs: 180 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3885 (p1vcs: 3 , p2vcs: 3 ) , Size: 124640
Compute Factor: 4 , Inputs: 181 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3904 (p1vcs: 3 , p2vcs: 3 ) , Size: 125248
Compute Factor: 4 , Inputs: 182 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3927 (p1vcs: 3 , p2vcs: 3 ) , Size: 125984
Compute Factor: 4 , Inputs: 183 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3946 (p1vcs: 3 , p2vcs: 3 ) , Size: 126592
Compute Factor: 4 , Inputs: 184 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3969 (p1vcs: 3 , p2vcs: 3 ) , Size: 127328
Compute Factor: 4 , Inputs: 185 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 3988 (p1vcs: 3 , p2vcs: 3 ) , Size: 127936
Compute Factor: 4 , Inputs: 186 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4011 (p1vcs: 3 , p2vcs: 3 ) , Size: 128672
Compute Factor: 4 , Inputs: 187 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4030 (p1vcs: 3 , p2vcs: 3 ) , Size: 129280
Compute Factor: 4 , Inputs: 188 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4053 (p1vcs: 3 , p2vcs: 3 ) , Size: 130016
Compute Factor: 4 , Inputs: 189 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4072 (p1vcs: 3 , p2vcs: 3 ) , Size: 130624
Compute Factor: 4 , Inputs: 190 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4095 (p1vcs: 3 , p2vcs: 3 ) , Size: 131360
Compute Factor: 4 , Inputs: 191 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4114 (p1vcs: 3 , p2vcs: 3 ) , Size: 131968
Compute Factor: 4 , Inputs: 192 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4137 (p1vcs: 3 , p2vcs: 3 ) , Size: 132704
Compute Factor: 4 , Inputs: 193 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4161 (p1vcs: 3 , p2vcs: 4 ) , Size: 133472
Compute Factor: 4 , Inputs: 194 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4180 (p1vcs: 3 , p2vcs: 4 ) , Size: 134080
Compute Factor: 4 , Inputs: 195 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4203 (p1vcs: 3 , p2vcs: 4 ) , Size: 134816
Compute Factor: 4 , Inputs: 196 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4222 (p1vcs: 3 , p2vcs: 4 ) , Size: 135424
Compute Factor: 4 , Inputs: 197 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4245 (p1vcs: 3 , p2vcs: 4 ) , Size: 136160
Compute Factor: 4 , Inputs: 198 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4264 (p1vcs: 3 , p2vcs: 4 ) , Size: 136768
Compute Factor: 4 , Inputs: 199 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4287 (p1vcs: 3 , p2vcs: 4 ) , Size: 137504
Compute Factor: 4 , Inputs: 200 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4306 (p1vcs: 3 , p2vcs: 4 ) , Size: 138112
Compute Factor: 4 , Inputs: 201 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4329 (p1vcs: 3 , p2vcs: 4 ) , Size: 138848
Compute Factor: 4 , Inputs: 202 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4348 (p1vcs: 3 , p2vcs: 4 ) , Size: 139456
Compute Factor: 4 , Inputs: 203 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4371 (p1vcs: 3 , p2vcs: 4 ) , Size: 140192
Compute Factor: 4 , Inputs: 204 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4390 (p1vcs: 3 , p2vcs: 4 ) , Size: 140800
Compute Factor: 4 , Inputs: 205 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4418 (p1vcs: 4 , p2vcs: 4 ) , Size: 141696
Compute Factor: 4 , Inputs: 206 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4437 (p1vcs: 4 , p2vcs: 4 ) , Size: 142304
Compute Factor: 4 , Inputs: 207 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4460 (p1vcs: 4 , p2vcs: 4 ) , Size: 143040
Compute Factor: 4 , Inputs: 208 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4479 (p1vcs: 4 , p2vcs: 4 ) , Size: 143648
Compute Factor: 4 , Inputs: 209 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4502 (p1vcs: 4 , p2vcs: 4 ) , Size: 144384
Compute Factor: 4 , Inputs: 210 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4521 (p1vcs: 4 , p2vcs: 4 ) , Size: 144992
Compute Factor: 4 , Inputs: 211 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4544 (p1vcs: 4 , p2vcs: 4 ) , Size: 145728
Compute Factor: 4 , Inputs: 212 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4563 (p1vcs: 4 , p2vcs: 4 ) , Size: 146336
Compute Factor: 4 , Inputs: 213 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4586 (p1vcs: 4 , p2vcs: 4 ) , Size: 147072
Compute Factor: 4 , Inputs: 214 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4605 (p1vcs: 4 , p2vcs: 4 ) , Size: 147680
Compute Factor: 4 , Inputs: 215 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4628 (p1vcs: 4 , p2vcs: 4 ) , Size: 148416
Compute Factor: 4 , Inputs: 216 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4647 (p1vcs: 4 , p2vcs: 4 ) , Size: 149024
Compute Factor: 4 , Inputs: 217 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4670 (p1vcs: 4 , p2vcs: 4 ) , Size: 149760
Compute Factor: 4 , Inputs: 218 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4689 (p1vcs: 4 , p2vcs: 4 ) , Size: 150368
Compute Factor: 4 , Inputs: 219 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4712 (p1vcs: 4 , p2vcs: 4 ) , Size: 151104
Compute Factor: 4 , Inputs: 220 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4731 (p1vcs: 4 , p2vcs: 4 ) , Size: 151712
Compute Factor: 4 , Inputs: 221 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4754 (p1vcs: 4 , p2vcs: 4 ) , Size: 152448
Compute Factor: 4 , Inputs: 222 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4773 (p1vcs: 4 , p2vcs: 4 ) , Size: 153056
Compute Factor: 4 , Inputs: 223 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4796 (p1vcs: 4 , p2vcs: 4 ) , Size: 153792
Compute Factor: 4 , Inputs: 224 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4815 (p1vcs: 4 , p2vcs: 4 ) , Size: 154400
Compute Factor: 4 , Inputs: 225 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4838 (p1vcs: 4 , p2vcs: 4 ) , Size: 155136
Compute Factor: 4 , Inputs: 226 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4857 (p1vcs: 4 , p2vcs: 4 ) , Size: 155744
Compute Factor: 4 , Inputs: 227 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4880 (p1vcs: 4 , p2vcs: 4 ) , Size: 156480
Compute Factor: 4 , Inputs: 228 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4899 (p1vcs: 4 , p2vcs: 4 ) , Size: 157088
Compute Factor: 4 , Inputs: 229 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4922 (p1vcs: 4 , p2vcs: 4 ) , Size: 157824
Compute Factor: 4 , Inputs: 230 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4941 (p1vcs: 4 , p2vcs: 4 ) , Size: 158432
Compute Factor: 4 , Inputs: 231 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4964 (p1vcs: 4 , p2vcs: 4 ) , Size: 159168
Compute Factor: 4 , Inputs: 232 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 4983 (p1vcs: 4 , p2vcs: 4 ) , Size: 159776
Compute Factor: 4 , Inputs: 233 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5006 (p1vcs: 4 , p2vcs: 4 ) , Size: 160512
Compute Factor: 4 , Inputs: 234 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5025 (p1vcs: 4 , p2vcs: 4 ) , Size: 161120
Compute Factor: 4 , Inputs: 235 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5048 (p1vcs: 4 , p2vcs: 4 ) , Size: 161856
Compute Factor: 4 , Inputs: 236 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5067 (p1vcs: 4 , p2vcs: 4 ) , Size: 162464
Compute Factor: 4 , Inputs: 237 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5090 (p1vcs: 4 , p2vcs: 4 ) , Size: 163200
Compute Factor: 4 , Inputs: 238 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5109 (p1vcs: 4 , p2vcs: 4 ) , Size: 163808
Compute Factor: 4 , Inputs: 239 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5132 (p1vcs: 4 , p2vcs: 4 ) , Size: 164544
Compute Factor: 4 , Inputs: 240 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5151 (p1vcs: 4 , p2vcs: 4 ) , Size: 165152
Compute Factor: 4 , Inputs: 241 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5174 (p1vcs: 4 , p2vcs: 4 ) , Size: 165888
Compute Factor: 4 , Inputs: 242 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5193 (p1vcs: 4 , p2vcs: 4 ) , Size: 166496
Compute Factor: 4 , Inputs: 243 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5216 (p1vcs: 4 , p2vcs: 4 ) , Size: 167232
Compute Factor: 4 , Inputs: 244 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5235 (p1vcs: 4 , p2vcs: 4 ) , Size: 167840
Compute Factor: 4 , Inputs: 245 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5258 (p1vcs: 4 , p2vcs: 4 ) , Size: 168576
Compute Factor: 4 , Inputs: 246 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5277 (p1vcs: 4 , p2vcs: 4 ) , Size: 169184
Compute Factor: 4 , Inputs: 247 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5300 (p1vcs: 4 , p2vcs: 4 ) , Size: 169920
Compute Factor: 4 , Inputs: 248 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5319 (p1vcs: 4 , p2vcs: 4 ) , Size: 170528
Compute Factor: 4 , Inputs: 249 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5342 (p1vcs: 4 , p2vcs: 4 ) , Size: 171264
Compute Factor: 4 , Inputs: 250 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5361 (p1vcs: 4 , p2vcs: 4 ) , Size: 171872
Compute Factor: 4 , Inputs: 251 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5384 (p1vcs: 4 , p2vcs: 4 ) , Size: 172608
Compute Factor: 4 , Inputs: 252 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5403 (p1vcs: 4 , p2vcs: 4 ) , Size: 173216
Compute Factor: 4 , Inputs: 253 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5426 (p1vcs: 4 , p2vcs: 4 ) , Size: 173952
Compute Factor: 4 , Inputs: 254 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5445 (p1vcs: 4 , p2vcs: 4 ) , Size: 174560
Compute Factor: 4 , Inputs: 255 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5468 (p1vcs: 4 , p2vcs: 4 ) , Size: 175296
Compute Factor: 4 , Inputs: 256 , Proof 1 Base Cost: 262144 , Proof 2 Base Cost: 131072 , Commitments: 5487 (p1vcs: 4 , p2vcs: 4 ) , Size: 175904
Compute Factor: 4 , Inputs: 257 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5503 (p1vcs: 2 , p2vcs: 3 ) , Size: 176416
Compute Factor: 4 , Inputs: 258 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5526 (p1vcs: 2 , p2vcs: 3 ) , Size: 177152
Compute Factor: 4 , Inputs: 259 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5545 (p1vcs: 2 , p2vcs: 3 ) , Size: 177760
Compute Factor: 4 , Inputs: 260 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5568 (p1vcs: 2 , p2vcs: 3 ) , Size: 178496
Compute Factor: 4 , Inputs: 261 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5587 (p1vcs: 2 , p2vcs: 3 ) , Size: 179104
Compute Factor: 4 , Inputs: 262 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5610 (p1vcs: 2 , p2vcs: 3 ) , Size: 179840
Compute Factor: 4 , Inputs: 263 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5629 (p1vcs: 2 , p2vcs: 3 ) , Size: 180448
Compute Factor: 4 , Inputs: 264 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5652 (p1vcs: 2 , p2vcs: 3 ) , Size: 181184
Compute Factor: 4 , Inputs: 265 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5671 (p1vcs: 2 , p2vcs: 3 ) , Size: 181792
Compute Factor: 4 , Inputs: 266 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5694 (p1vcs: 2 , p2vcs: 3 ) , Size: 182528
Compute Factor: 4 , Inputs: 267 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5713 (p1vcs: 2 , p2vcs: 3 ) , Size: 183136
Compute Factor: 4 , Inputs: 268 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5736 (p1vcs: 2 , p2vcs: 3 ) , Size: 183872
Compute Factor: 4 , Inputs: 269 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5755 (p1vcs: 2 , p2vcs: 3 ) , Size: 184480
Compute Factor: 4 , Inputs: 270 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5778 (p1vcs: 2 , p2vcs: 3 ) , Size: 185216
Compute Factor: 4 , Inputs: 271 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5797 (p1vcs: 2 , p2vcs: 3 ) , Size: 185824
Compute Factor: 4 , Inputs: 272 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5820 (p1vcs: 2 , p2vcs: 3 ) , Size: 186560
Compute Factor: 4 , Inputs: 273 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5839 (p1vcs: 2 , p2vcs: 3 ) , Size: 187168
Compute Factor: 4 , Inputs: 274 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5863 (p1vcs: 3 , p2vcs: 3 ) , Size: 187936
Compute Factor: 4 , Inputs: 275 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5882 (p1vcs: 3 , p2vcs: 3 ) , Size: 188544
Compute Factor: 4 , Inputs: 276 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5905 (p1vcs: 3 , p2vcs: 3 ) , Size: 189280
Compute Factor: 4 , Inputs: 277 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5924 (p1vcs: 3 , p2vcs: 3 ) , Size: 189888
Compute Factor: 4 , Inputs: 278 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5947 (p1vcs: 3 , p2vcs: 3 ) , Size: 190624
Compute Factor: 4 , Inputs: 279 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5966 (p1vcs: 3 , p2vcs: 3 ) , Size: 191232
Compute Factor: 4 , Inputs: 280 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 5989 (p1vcs: 3 , p2vcs: 3 ) , Size: 191968
Compute Factor: 4 , Inputs: 281 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 6008 (p1vcs: 3 , p2vcs: 3 ) , Size: 192576
Compute Factor: 4 , Inputs: 282 , Proof 1 Base Cost: 524288 , Proof 2 Base Cost: 262144 , Commitments: 6031 (p1vcs: 3 , p2vcs: 3 ) , Size: 193312
"
fcmp.input.cost <- gsub("[A-Za-z0-9 ]*: ", "", fcmp.input.cost)
fcmp.input.cost <- gsub("[(][0-9]* ,[0-9]* [)]", "", fcmp.input.cost)
fcmp.input.cost <- read.csv(text = fcmp.input.cost, header = FALSE)
colnames(fcmp.input.cost) <- c("compute.factor", "n.inputs", "proof.1.base", "proof.2.base", "commitments", "size.cost")
fcmp.input.cost$compute.cost <- fcmp.input.cost$proof.1.base +
fcmp.input.cost$proof.2.base + fcmp.input.cost$commitments
# From https://gist.github.com/kayabaNerve/c42aeae1ae9434f2678943c3b8da7898
bp.plus.output.cost <-
"Outputs: 1 , Base Cost: 64 , Commitments: 16 , Size: 608
Outputs: 2 , Base Cost: 128 , Commitments: 19 , Size: 704
Outputs: 3 , Base Cost: 192 , Commitments: 22 , Size: 800
Outputs: 4 , Base Cost: 256 , Commitments: 23 , Size: 832
Outputs: 5 , Base Cost: 320 , Commitments: 26 , Size: 928
Outputs: 6 , Base Cost: 384 , Commitments: 27 , Size: 960
Outputs: 7 , Base Cost: 448 , Commitments: 28 , Size: 992
Outputs: 8 , Base Cost: 512 , Commitments: 29 , Size: 1024
Outputs: 9 , Base Cost: 576 , Commitments: 32 , Size: 1120
Outputs: 10 , Base Cost: 640 , Commitments: 33 , Size: 1152
Outputs: 11 , Base Cost: 704 , Commitments: 34 , Size: 1184
Outputs: 12 , Base Cost: 768 , Commitments: 35 , Size: 1216
Outputs: 13 , Base Cost: 832 , Commitments: 36 , Size: 1248
Outputs: 14 , Base Cost: 896 , Commitments: 37 , Size: 1280
Outputs: 15 , Base Cost: 960 , Commitments: 38 , Size: 1312
Outputs: 16 , Base Cost: 1024 , Commitments: 39 , Size: 1344
"
bp.plus.output.cost <- gsub("[A-Za-z0-9 ]*: ", "", bp.plus.output.cost)
bp.plus.output.cost <- gsub("[(][0-9]* ,[0-9]* [)]", "", bp.plus.output.cost)
bp.plus.output.cost <- read.csv(text = bp.plus.output.cost, header = FALSE)
colnames(bp.plus.output.cost) <- c("n.outputs", "proof.base", "commitments", "size.cost")
bp.plus.output.cost$compute.cost <- bp.plus.output.cost$proof.base +
bp.plus.output.cost$commitments
input.footprint <- function(MAX_INPUTS, compute.factor, inputs.md, fcmp.input.cost, bp.plus.output.cost) {
old.share <- inputs.md[inputs.md$n.inputs <= MAX_INPUTS, c("n.inputs", "share")]
input.consolidation.table <-
input.consolidation(MAX_INPUTS = MAX_INPUTS, input.table = data.frame(n.inputs = inputs.md[, 1]))$table
input.consolidation.table <- merge(input.consolidation.table, inputs.md)
share.MAX_INPUTS.txs <- 0
sub.maximal.txs <- rep(0, MAX_INPUTS)
additional.outputs <- rep(0, MAX_INPUTS)
for (i in seq_len(nrow(input.consolidation.table))) {
share.MAX_INPUTS.txs <- share.MAX_INPUTS.txs +
input.consolidation.table$n.MAX_INPUTS.txs[i] *
input.consolidation.table$share[i]
additional.outputs[MAX_INPUTS] <- additional.outputs[MAX_INPUTS] + 2 *
(input.consolidation.table$n.MAX_INPUTS.txs[i] - 1) *
input.consolidation.table$share[i]
# Subtract 1 to subtract the outputs of the "original" tx
if ( ! is.na(input.consolidation.table$remainder.tx.n.inputs[i])) {
remainder.tx.n.inputs <- strsplit(input.consolidation.table$remainder.tx.n.inputs[i], " ")
for (j in remainder.tx.n.inputs[[1]]) {
sub.maximal.txs[as.numeric(j)] <- sub.maximal.txs[as.numeric(j)] + input.consolidation.table$share[i]
additional.outputs[as.numeric(j)] <- additional.outputs[as.numeric(j)] + 2 * input.consolidation.table$share[i]
}
}
}
share.MAX_INPUTS.txs <- c(rep(0, MAX_INPUTS - 1), share.MAX_INPUTS.txs)
old.share.total <- sum(old.share$share)
new.share <- old.share
new.share$share <- new.share$share + sub.maximal.txs + share.MAX_INPUTS.txs
fcmp.input.cost <- fcmp.input.cost[fcmp.input.cost$compute.factor == compute.factor,
c("n.inputs", "size.cost", "compute.cost")]
colnames(fcmp.input.cost) <- c("n.inputs", "input.size.cost", "input.compute.cost")
new.share <- merge(new.share, fcmp.input.cost)
new.share$input.size.cost <- new.share$share * new.share$input.size.cost
new.share$input.compute.cost <- new.share$share * new.share$input.compute.cost
additional.outputs <- data.frame(n.inputs = seq_len(MAX_INPUTS),
additional.outputs.size.cost = additional.outputs *
bp.plus.output.cost[bp.plus.output.cost$n.outputs == 2, "size.cost"],
additional.outputs.compute.cost = additional.outputs *
bp.plus.output.cost[bp.plus.output.cost$n.outputs == 2, "compute.cost"]
)
new.share <- merge(new.share, additional.outputs)
new.share$total.size.cost <- new.share$input.size.cost + new.share$additional.outputs.size.cost
new.share$total.compute.cost <- new.share$input.compute.cost + new.share$additional.outputs.compute.cost
n.tx.total.increase <- 100 * (sum(new.share$share)/sum(old.share$share) - 1)
new.share$share <- 100 * (new.share$share / sum(new.share$share))
new.share <- addmargins(as.matrix(new.share), margin = 1)
new.share[nrow(new.share), "n.inputs"] <- NA
new.share[, grepl(".cost", colnames(new.share))] <-
new.share[, grepl(".cost", colnames(new.share))] / 100
new.share
}
input.footprint(MAX_INPUTS = 8, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost)
input.footprint(MAX_INPUTS = 16, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost)
knitr::kable(input.footprint(MAX_INPUTS = 4, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost),
format = "pipe", row.names = TRUE, digits = 3)
knitr::kable(input.footprint(MAX_INPUTS = 8, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost),
format = "pipe", row.names = TRUE, digits = 3)
knitr::kable(input.footprint(MAX_INPUTS = 16, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost),
format = "pipe", row.names = TRUE, digits = 3)
knitr::kable(input.footprint(MAX_INPUTS = 128, compute.factor = 4, inputs.md, fcmp.input.cost, bp.plus.output.cost),
format = "pipe", row.names = TRUE, digits = 3)
input.consolidation.graph <- input.consolidation(MAX_INPUTS = 4, input.table = inputs.md, example = 19)
png("output-consolidation-MAX_INPUTS-4-initial-outputs-19.png")
plot(input.consolidation.graph$example.graph, layout = igraph::layout_as_tree,
main = "Output consolidation sequence\nMAX_INPUTS = 4. Initial outputs = 19.")
dev.off()
Based on https://gist.github.com/kayabaNerve/c42aeae1ae9434f2678943c3b8da7898
import math
print("-- FCMPs --")
for extraneous_compute in range(4,5):
if pow(2, math.ceil(math.log2(extraneous_compute))) != extraneous_compute:
continue
for i in range(1, 282 + 1):
target_layers = 8
proof_1_target_layers = math.floor(target_layers / 2) + (target_layers % 2)
proof_2_target_layers = math.floor(target_layers / 2)
proof_1_gates_for_target_layers = extraneous_compute * 256
proof_2_gates_for_target_layers = extraneous_compute * 128
proof_commitments = 3
proof_1_ip_commitments = 2 * math.ceil(math.log2(i * proof_1_gates_for_target_layers))
proof_2_ip_commitments = 2 * math.ceil(math.log2(i * proof_2_gates_for_target_layers))
proof_1_branches = i * proof_1_target_layers
# The root for 8 layers is on the second proof, and it's shared for all inputs
# Accordingly, it's only committed to once
proof_2_branches = (i * (proof_2_target_layers - 1)) + 1
claimed_point_variables = 2 * 256
divisor_variables = 256
# Proof 1 has 4 claimed points, 1 append divisor, and (proof_1_target_layers - 1) claimed points
proof_1_variables_committed_to_per_input_for_target_layers = (4 * claimed_point_variables) + divisor_variables + ((proof_1_target_layers - 1) * claimed_point_variables)
# Proof 2 has proof_2_target_layers claimed points
proof_2_variables_committed_to_per_input_for_target_layers = proof_2_target_layers * claimed_point_variables
circuit_1_width = pow(2, math.ceil(math.log2(i * proof_1_gates_for_target_layers)))
circuit_2_width = pow(2, math.ceil(math.log2(i * proof_2_gates_for_target_layers)))
proof_1_variable_commitments = math.ceil((i * proof_1_variables_committed_to_per_input_for_target_layers) / circuit_1_width)
proof_2_variable_commitments = math.ceil((i * proof_2_variables_committed_to_per_input_for_target_layers) / circuit_2_width)
proof_1_vector_commitments = proof_1_branches + proof_1_variable_commitments
proof_2_vector_commitments = proof_2_branches + proof_2_variable_commitments
# n'
n__1 = 2 * (math.floor(proof_1_vector_commitments / 2) + 1)
n__2 = 2 * (math.floor(proof_2_vector_commitments / 2) + 1)
# i == n' isn't sent
proof_1_t_commitments = (2 * (n__1 + 1)) - 1
proof_2_t_commitments = (2 * (n__2 + 1)) - 1
all_proof_commitments = proof_commitments + proof_1_t_commitments + proof_1_ip_commitments + proof_1_vector_commitments + proof_commitments + proof_2_t_commitments + proof_2_ip_commitments + proof_2_vector_commitments
all_proof_scalars = 2 * 5
full_proof_size = (all_proof_commitments + all_proof_scalars) * 32
print(
"Compute Factor:", extraneous_compute,
", Inputs:", i,
", Proof 1 Base Cost:", circuit_1_width,
", Proof 2 Base Cost:", circuit_2_width,
", Commitments:", proof_commitments + proof_1_t_commitments + proof_1_ip_commitments + proof_1_vector_commitments + proof_commitments + proof_2_t_commitments + proof_2_ip_commitments + proof_2_vector_commitments,
"(p1vcs:", proof_1_variable_commitments, ", p2vcs:", proof_2_variable_commitments, ")",
", Size:", full_proof_size
)
print()
NOTE: There was a mistake in a previous version of this Gist. There was a mistaken multiplication by
MAX_INPUTS
here.