diff --git a/content/algorithms/porep-old/porep_commitments/sdr_commitments/_index.org b/content/algorithms/porep-old/porep_commitments/sdr_commitments/_index.org deleted file mode 100644 index 7af0ea28f..000000000 --- a/content/algorithms/porep-old/porep_commitments/sdr_commitments/_index.org +++ /dev/null @@ -1,331 +0,0 @@ -#+TITLE: Stacked DRG Commitments - -#+HUGO_SECTION: algorithms/porep/porep_commitments/sdr_commitments -#+HUGO_BASE_DIR: ../../../.. -#+OPTIONS: author:nil creator:nil timestamp:nil - -* Stacked DRG Commitments - - -#+begin_src lisp :exports none - (ql:quickload :orient) -#+end_src - -#+RESULTS: -| :ORIENT | - -This section summarizes the Stacked DRG (SDR) Column Commitments algorithm described in [[https://www.overleaf.com/read/kcdhnxwptxbc][Tight PoS - ZigZag]]. - -* Graph -#+NAME: init-graph -#+BEGIN_SRC lisp :package "filecoin.theory" :exports none :results verbatim - (defparameter *layers* 4) - (defparameter *nodes* 8) - - (defparameter *regenerate-sdr-graph* nil) - - (defparameter *dumped-sdr-graph* '(:NODES 8 :CHALLENGED-NODE 7 :LAYERS 4 :RENUMBERED-PERMUTATION - (:PERM-LIST (7 4 3 6 1 8 2 5) :TYPE PERM) :REVERSED-PERMUTATION - (:PERM-LIST (3 7 8 6 5 1 4 2) :TYPE PERM) :TYPE SDR-GRAPH)) - - (defparameter *sdr-graph* (if *regenerate-sdr-graph* - (make-sdr-graph *nodes* *layers*) - (load-from-plist *dumped-sdr-graph*))) - - (let ((lg (first (sdr-graph-layer-graphs *sdr-graph*)))) - (defparameter *comm-d-graph* (make-comm-d-layer-graph (layer-graph-nodes lg) (layer-graph-challenged-node lg) :parent *sdr-graph*)) - (defparameter *replica-graph* (make-replica-layer-graph (layer-graph-nodes lg) (layer-graph-challenged-node lg) :parent *sdr-graph* :layers *layers*))) - - (dump *sdr-graph*) -#+END_SRC - -#+RESULTS: init-graph -: (:NODES 8 :CHALLENGED-NODE 7 :LAYERS 4 :RENUMBERED-PERMUTATION -: (:PERM-LIST (7 4 3 6 1 8 2 5) :TYPE PERM) :REVERSED-PERMUTATION -: (:PERM-LIST (3 7 8 6 5 1 4 2) :TYPE PERM) :TYPE SDR-GRAPH) - - - -#+NAME: legend -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-legend nil) -#+END_SRC - -In the following graphs, DRG and expander parents are both generated by a pseudorandom permutation and are provided only -to illustrate the nature of the SDR commitment scheme. They accurately represent how parent-child relationships -function between layers, and are accurate for expander parents. However, this is not representative of the DRG parent -selection algorithm. - -The following graphs illustrate the positions of challenges, DRG parents, and expander parents between layers. Only a -single DRG parent and a single expander parent are shown. The immediate predecessor parent is shown for graph topology, -but it is not tracked in the tables below. - -In order to have a compact and concrete example, we use a graph containing only src_lisp[:package fct]{*nodes*} {{{results(=8=)}}} nodes replicated in src_lisp[:package fct]{*layers*} {{{results(=4=)}}} layers. -** Legend -#+BEGIN_SRC dot :file legend.png :var input=legend :exports results -$input -#+END_SRC - -#+RESULTS: -[[legend.png]] - -** Data Layer: $Comm_D$ Tree -#+NAME: data-layer -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-comm-d-layer-graph *comm-d-graph*) -#+END_SRC - -#+BEGIN_SRC dot :file data-layer.png :var input=data-layer :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:data-layer.png]] - -** Replica Column Layers: $Comm_C$ Tree - -#+NAME: layer-1 -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-layer-graph (nth 0 (sdr-graph-layer-graphs *sdr-graph*))) -#+end_src - -#+BEGIN_SRC dot :file layer-1.png :var input=layer-1 :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:layer-1.png]] - -#+NAME: layer-2 -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-layer-graph (nth 1 (sdr-graph-layer-graphs *sdr-graph*))) -#+END_SRC - -#+BEGIN_SRC dot :file layer-2.png :var input=layer-2 :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:layer-2.png]] - -#+NAME: layer-3 -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-layer-graph (nth 2 (sdr-graph-layer-graphs *sdr-graph*))) -#+END_SRC - -#+BEGIN_SRC dot :file layer-3.png :var input=layer-3 :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:layer-3.png]] - -#+NAME: layer-4 -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-layer-graph (nth 3 (sdr-graph-layer-graphs *sdr-graph*))) -#+END_SRC - -#+BEGIN_SRC dot :file layer-4.png :var input=layer-4 :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:layer-4.png]] - -# #+NAME: layer-5 -# #+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -# (emit-layer-graph (nth 4 (sdr-graph-layer-graphs *sdr-graph*))) -# #+END_SRC - -# #+BEGIN_SRC dot :file layer-5.png :var input=layer-5 :exports results -# $input -# #+END_SRC - -# #+RESULTS: -# [[file:layer-4.png]] - -# #+NAME: layer-6 -# #+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -# (emit-layer-graph (nth 5 (sdr-graph-layer-graphs *sdr-graph*))) -# #+END_SRC - -# #+BEGIN_SRC dot :file layer-6.png :var input=layer-6 :exports results -# $input -# #+END_SRC - -# #+RESULTS: - -** Final Layer: $Comm_{R_{LAST}}$ Tree -#+NAME: replica-layer -#+BEGIN_SRC lisp :package "filecoin.theory" :results output silent :exports none -(emit-replica-layer-graph *replica-graph*) -#+END_SRC - -#+BEGIN_SRC dot :file replica-layer.png :var input=replica-layer :exports results -$input -#+END_SRC - -#+RESULTS: -[[file:replica-layer.png]] - -* Commitment Algorithm -** Goal -We will generate two commitments $Comm_R, Comm_D$ to be placed on chain. - -$Comm_D$ is the merkle root of the original data. - -$Comm_R = H(Comm_C || Comm_{R_{LAST}})$. - -Their construction is described below. - -** Definitions and Notation -We will perform $L$ layers of SDR key generation over $N$ labeled nodes. - -In the running example, $L$ is src_lisp[:package fct]{*layers*} {{{results(=4=)}}} and $N$ is src_lisp[:package fct]{*nodes*} {{{results(=8=)}}}. - -Merkle roots (commitments) are generated with the vector-commitment function $VC(…)$. - -Hashes are produced with a hash function $H(…)$, which is not necessarily that used by $VC(…)$. - -$Comm = VC(l_1||…||l_N)$, where the $l_i$ are the data (labels or hashes) to be committed. - -Generated trees are retained until the proving phase, when merkle proofs of a given label's inclusion in $Comm$ will be -created. We will designate such proofs $l_i \rightarrow Comm$. - -We use the notation $e{_i}^{(l)}$, correlated in the table below with the $(l, i)$ notation used in the graphs above, -where $l$ indexes layers, and $i$ indexes labels or columns. - -#+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(notation-row *sdr-graph* 1) -#+END_SRC - -#+RESULTS: -| Graph | $(1, 1)$ | $(1, 2)$ | $(1, 3)$ | $(1, 4)$ | $(1, 5)$ | $(1, 6)$ | $(1, 7)$ | $(1, 8)$ | -| Notation | $e_1^{(1)}$ | $e_2^{(1)}$ | $e_3^{(1)}$ | $e_4^{(1)}$ | $e_5^{(1)}$ | $e_6^{(1)}$ | $e_7^{(1)}$ | $e_8^{(1)}$ | - -#+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(notation-row *sdr-graph* 2) -#+END_SRC -#+RESULTS: -| Graph | $(2, 1)$ | $(2, 2)$ | $(2, 3)$ | $(2, 4)$ | $(2, 5)$ | $(2, 6)$ | $(2, 7)$ | $(2, 8)$ | -| Notation | $e_1^{(2)}$ | $e_2^{(2)}$ | $e_3^{(2)}$ | $e_4^{(2)}$ | $e_5^{(2)}$ | $e_6^{(2)}$ | $e_7^{(2)}$ | $e_8^{(2)}$ | -… - -#+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(notation-row *sdr-graph* 4) -#+END_SRC - -#+RESULTS: -| Graph | $(4, 1)$ | $(4, 2)$ | $(4, 3)$ | $(4, 4)$ | $(4, 5)$ | $(4, 6)$ | $(4, 7)$ | $(4, 8)$ | -| Notation | $e_1^{(4)}$ | $e_2^{(4)}$ | $e_3^{(4)}$ | $e_4^{(4)}$ | $e_5^{(4)}$ | $e_6^{(4)}$ | $e_7^{(4)}$ | $e_8^{(4)}$ | - -** Initial Data Layer - #+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(initial-layer *comm-d-graph*) -#+END_SRC - - #+RESULTS: - | ~~~~~~ | ~~~~~~ | ~~~~~~ | Challenge | ~~~~~~ | ~~~~~~ | ~~~~~~ | ~~~~~~ | - | $(0, 1)$ | $(0, 2)$ | $(0, 3)$ | $(0, 4)$ | $(0, 5)$ | $(0, 6)$ | $(0, 7)$ | $(0, 8)$ | - -*** Vector Commitment -Generate Merkle root for data leaves. - -$Comm_D = VC(D_1 || D_2 || … || D_N)$, where $D_i = e_i^{(0)}$. - -This example: $Comm_D = VC(e_1^{(0)}, e_2^{(0)}, e_3^{(0)}, e_4^{(0)}, e_5^{(0)}, e_6^{(0)}, e_7^{(0)}, e_8^{(0)})$. - -*** Opening -To open $D_i$, provide a merkle proof $D_i \rightarrow Comm_D$. - -** SDR Replica Columns -*** Columns - -#+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(columns *sdr-graph*) -#+END_SRC - -#+RESULTS: -| DRG Parents | Expander Parents | ~~~~~~ | Challenges | ~~~~~~ | ~~~~~~ | ~~~~~~ | ~~~~~~ | -| $(1, 1)$ | $(1, 2)^{*}$ | $(1, 3)$ | $(1, 4)$ | $(1, 5)$ | $(1, 6)$ | $(1, 7)$ | $(1, 8)$ | -| $(2, 1)$ | $(2, 2)$ | $(2, 3)$ | $(2, 4)$ | $(2, 5)$ | $(2, 6)$ | $(2, 7)$ | $(2, 8)$ | -| $(3, 1)$ | $(3, 2)$ | $(3, 3)$ | $(3, 4)$ | $(3, 5)$ | $(3, 6)$ | $(3, 7)$ | $(3, 8)$ | -| $(4, 1)$ | $(4, 2)$ | $(4, 3)$ | $(4, 4)$ | $(4, 5)$ | $(4, 6)$ | $(4, 7)$ | $(4, 8)$ | - - -$^{*}$ Indicates labels which must be hashed for column commitments but need not be opened for label checks. - - -Concatenate and hash rows of column $i$ to construct $O_i$. - -Column hash $C_i = H(e_i^{(1)} || e_i^{(2)} || … || e_i^{(L)})$. - -*** Vector Commitment - -Generate Merkle tree for column leaves, $C_i$: - -$Comm_C = VC(C_1 || C_2 || … || C_N)$. - -*** Opening -**** To open labels for column $i$: -- Reveal all labels and prove they hash to $C_i$ as above. ($L$ hash proofs). -- Provide a merkle proof $C_i \rightarrow Comm_C$. - -**** Then once, reusable for all columns, -- Reveal $Comm_{R_{LAST}}$ and prove that $H(Comm_C || Comm_{R_{LAST}}) = Comm_R$. - -** Final Replica Layer - #+BEGIN_SRC lisp :package "filecoin.theory" :exports results -(final-layer *sdr-graph*) -#+END_SRC - - #+RESULTS: - | ~~~~~~ | ~~~~~~ | ~~~~~~ | Challenge | ~~~~~~ | ~~~~~~ | ~~~~~~ | ~~~~~~ | - | $(5, 1)$ | $(5, 2)$ | $(5, 3)$ | $(5, 4)$ | $(5, 5)$ | $(5, 6)$ | $(5, 7)$ | $(5, 8)$ | - -*** Vector Commitment -Generate Merkle tree for replica leaves. - -$R_{LAST_i} = e_i^{(L+1)}$. - -$Comm_{R_{LAST}} = VC(R_{LAST_1} || R_{LAST_2} || … || R_{LAST_N})$. - -*** Opening -**** To open $R_{LAST_i}$, -- Provide a merkle proof $R_{LAST_i} \rightarrow Comm_{R_{LAST}}$. - -**** Then once (shared with Replica Columns — see above): -- Reveal $Comm_C$ and prove that $H(Comm_C || Comm_{R_{LAST}}) = Comm_pR$. - -** Replica Commitment -*** Commitment -- Produce $Comm_R$ from its constituents. - -- $Comm_R = H(Comm_C || Comm_{R_{LAST}})$. -*** Opening (performed once per PoRep) -- Reveal $Comm_C$ and $Comm_{R_{LAST}}$ and prove that $H(Comm_C || Comm_{R_{LAST}}) = Comm_R$. -* Challenge Selection -For each challenge $\chi$, we challenge each node $e_{\chi}^{(l)}$ for $l = 1, 2, .. L$. - -* Opening Commitments for Offline Proof -For use in all challenge proofs, reveal $Comm_C$ and $Comm_{R_{LAST}}$ and prove that $H(Comm_C || Comm_{R_{LAST}}) = -Comm_R$. - -To prove encoding for a challenged label $\chi$: -- Initial data layer openings - - Open label for challenged data node $e_\chi^{(0)} — using Comm_D$. -- SDR replica column openings - - Open all labels in $C_\chi$ containing challenged label's 'replica node', ($C_\chi$) — using $Comm_C$. - - Open all labels in the columns containing challenged label's DRG parents — using $Comm_C$. - - Open all labels in the columns containing challenged label's expander parents — using $Comm_C$. -- Final replica layer openings - - Open all challenged labels ($e_{\chi}^{(L+1)}$) using $Comm_{R_{LAST}}$. - -- Prove labeling for all challenged labels $e{_\chi}^{(l))} for $l = 1, 2, .. L$. -- Prove encoding for all challenged nodes $e{_\chi}^{(L+1))}$. - -* Opening Commitments for Online Proof -To prove encoding for a challenged label $C$ in the replica: -- Reveal $Comm_C$ (which must have been stored along with the replica). -- Open $Comm_{R_{LAST}}$ from provided $Comm_R$ by proving that $H(Comm_C || Comm_{R_{LAST}}) = Comm_R$. -- Provide a merkle proof $e_C^{(L)} \rightarrow Comm_{R_{LAST}}$. diff --git a/content/appendix/orient.org b/content/appendix/orient.org deleted file mode 100644 index e892bf61a..000000000 --- a/content/appendix/orient.org +++ /dev/null @@ -1,302 +0,0 @@ -#+TITLE: Filecoin Parameters -#+DRAFT: true -#+HUGO_SECTION: appendix -#+HUGO_BASE_DIR: ../../src - -#+begin_src lisp :package orient.lang :exports none -(asdf:load-system :orient) -(in-package orient.lang) -#+end_src - -#+RESULTS: -: # - -#+begin_src lisp :package orient.lang :exports none -(defparameter *filecoin* (get-system "../orient/filecoin.orient")) -(defparameter *input* (interface:get-json-relation-list "../orient/params.json")) -(defparameter *multi-input* (interface:get-json-relation-list "../orient/multi-params.json")) -#+end_src - -#+RESULTS: -: *MULTI-INPUT* - -* All Parameters -#+begin_src lisp :package lang :exports results - (let ((result-tuple (extract (solve-for *filecoin* '() *input*)))) - (org-present-tuple result-tuple *filecoin*)) -#+end_src - -#+RESULTS: -| Parameter | Type | Value | Description | -| ACTOR-METHOD | BYTES | 8 | The size required to represent an actor method. | -| ACTORS-MESSAGES-FRACTION | | 0.30000004 | | -| ACTORS-MESSAGES-PER-BLOCK | | 32.661842 | | -| ADDRESS-SIZE | BYTES | 35 | The size of an address. | -| ALL-POST-MESSAGES-PER-YEAR | | 122557560.0 | | -| ALL-SEAL-MESSAGES-PER-YEAR | | 335544320 | | -| ALL-SEAL-SIZE-PER-YEAR | | 335544320 | | -| AVG-POSTS-MESSAGES-PER-BLOCK | | 11.650845 | | -| AVG-PROOFS-MESSAGES-PER-BLOCK | | 43.549118 | | -| AVG-SEALS-MESSAGES-PER-BLOCK | | 31.898273 | | -| AVG-TICKETS | | 1 | | -| BLOCK-FRAMING-SIZE | BYTES | 14709.481 | The total amount of block framing. | -| BLOCK-HEADER-FIXED-SIZE | | 420 | | -| BLOCK-HEADER-SIZE | | 1427 | | -| BLOCK-HEADER-VARIABLE-SIZE | | 1007 | | -| BLOCK-HEIGHT-SIZE | | 8 | | -| BLOCK-SIG-SIZE | | 96 | | -| BLOCK-SIZE | | 37265.1 | | -| BLOCK-SIZE-KIB | | 36.3917 | | -| BLOCK-TIME | | 15 | | -| BLOCKS-IN-A-YEAR | | 10519200.0 | | -| BLOCKS-IN-TEN-YEARS | | 105192000.0 | | -| BLS-AGG-SIZE | | 96 | | -| CHAIN-SIZE-YEAR | | 391999060000.0 | | -| CHAIN-SIZE-YEAR-GIB | | 365.07758 | | -| CID-SIZE | BYTES | 35 | The size of a CID. | -| COMM-C-CONSTRAINTS | | 218221140.0 | | -| COMM-C-OPENINGS | | 15 | | -| COMM-C-TIME | | 12924.399 | | -| COMM-D-CONSTRAINTS | | 11011791.0 | | -| COMM-D-OPENINGS | | 1 | | -| COMM-D-TIME | | 652.18604 | | -| COMM-P-SIZE | | 35 | | -| COMM-R-CONSTRAINTS | | 66070744.0 | | -| COMM-R-OPENINGS | | 6 | | -| COMM-R-TIME | | 3913.1165 | | -| COMMIT-SIZE | | 35 | | -| COMMIT-TIME | | 14042.3955 | | -| CORES | | 16 | | -| DEGREE | | 14 | | -| DEGREE-BASE | | 6 | | -| DEGREE-EXPANDER | | 8 | | -| DELTA | | 0.02425 | | -| DRG-D | | 1/4 | | -| DRG-E | | 0.8 | | -| EIX | | 1152921504606846976 | | -| ELECTION-PROOF-SIZE | | 64 | | -| ENCODING-AMAX | | 2 | | -| ENCODING-TIME | | 6605.1006 | | -| ENCODING-TIME-MINS | | 110.08501 | | -| EPSILON | | 0.0505 | | -| EXIT-CODE | BYTES | 4 | The size of an exit code. | -| EXPECTED-WINNING-MINERS | | 5 | | -| FROM-ADDRESS | | 35 | | -| GAS-LIMIT | | 8 | | -| GAS-PRICE | BYTES | 8 | The size required to represent the gas limit. | -| GAS-USED | BYTES | 8 | The size required to represent the amount of gas used by a message. | -| GIB | | 1073741824 | | -| INCLUSION-CIRCUIT-TIME | | 2.3098202 | | -| INCLUSION-CONSTRAINTS | | 39000.0 | | -| KDF-CONTENT | | 15 | | -| KDF-HASH-SIZE | | 32 | | -| KDF-HASH-TIME | | 4.5608e-08 | | -| KIB | BYTES | 1024 | The number of bytes in one KiB. | -| LAMBDA | | 10 | | -| LAYERS | | 9.634086 | | -| LAYERS-A | | 6.8276772 | | -| LAYERS-B | | 9.634086 | | -| LEAF-CIRCUIT-TIME | | 0.7417668 | | -| LEAF-CONSTRAINTS | | 12524.312 | | -| LEAF-HASH-CIRCUIT-TIME | | 0.076994 | | -| LEAF-HASH-CONSTRAINTS | | 1300 | | -| LEAF-HASH-TIME | | 4.5608e-08 | | -| LEAF-TIME | | 4.3939139e-07 | | -| MALICIOUS-ENCODING | | 3302.5503 | | -| MAX-TICKETS | | 19.07985 | | -| MERKLE-HASH-CONSTRAINTS | | 1300 | | -| MERKLE-HASH-TIME | | 1.3078e-05 | | -| MERKLE-HASH-TIME-CIRCUIT | | 0.076994 | | -| MESSAGE-NONCE | BYTES | 4 | The size of a message's nonce. | -| MESSAGE-RECEIPT | BYTES | 16 | The size of one message receipt. | -| MESSAGE-RECEIPTS-CID | BYTES | 35 | The size of one message receipt's CID. | -| MESSAGE-SIZE | BYTES | 106 | The size of a single message. | -| MESSAGES | | 108.872795 | | -| MESSAGES-ROOT-CID | BYTES | 35 | Size of the CID of the root merkle tree of the messages. | -| MESSAGES-SIZE | BYTES | 11540.517 | The total size of the messages in a block. | -| MIB | BYTES | 1048576 | The number of bytes in one EiX. | -| MIN-TICKETS | | 0 | | -| MINER-ADDRESS-SIZE | | 35 | | -| MINERS | | 1000 | | -| NODE-SIZE | | 32 | | -| NODES | | 1073741824 | | -| OFFLINE-CHALLENGES | | 282.3536 | | -| ONE-BLOCK-IN-TEN-YEARS | | 9.506427e-09 | | -| ONLINE-CHALLENGES | | 136.53467 | | -| OPENING-PER-CHALLENGE | | 15 | | -| OPENINGS | | 4235.304 | | -| P-SIZE | | 35.0 | | -| PARALLEL-SEAL-TIME | | 8575.856 | | -| PARENT-WEIGHT-SIZE | | 8 | | -| PARENTS | | 5 | | -| PARENTS-CIDS | | 175 | | -| PIB | | 1125899906842624 | | -| POLLING-TIME | | 825.6376 | | -| POREP-SNARK-CONSTRAINTS | | 295303680.0 | | -| POREP-SNARK-PARTITIONS | | 2.9530368 | | -| POREP-SNARK-PROOF-SIZE | | 566.98303 | | -| POREP-SNARK-TIME | | 17489.703 | | -| POST-CHALLENGE-BLOCKS | BLOCKS | 480 | The time offset before which the actual work of generating the PoSt cannot be started. This is some delta before the end of the Proving Period, and as such less than a single Proving Period. | -| POST-CHALLENGE-HOURS | HOURS | 2 | PoSt challenge time (see POST_CHALLENGE_BLOCKS). | -| POST-CHALLENGE-TIME | SECONDS | 7200 | PoSt challenge time (see POST_CHALLENGE_BLOCKS). | -| POST-CHALLENGES | | 136.53467 | | -| POST-PROOF-SIZE | | 192 | | -| POST-PROVING-PERIOD | BLOCKS | 5760 | The time interval in which a PoSt has to be submitted | -| POST-SIZE-PER-BLOCK | | 2236.9622 | | -| POST-SNARK-CIRCUIT | | 5324852.0 | | -| POST-SNARK-PROOF-PARTITIONS | | 1 | | -| POST-SNARK-PROOF-SIZE | | 192 | | -| POSTS-PER-SECTOR-PER-YEAR | | 365.25 | | -| PROOF-MESSAGES-FRACTION | | 0.4 | | -| PROOFGEN-TIME | | 17489.703 | | -| PROOFS-SIZE-PER-BLOCK | | 22555.621 | | -| PROOFS-SIZE-PER-BLOCK-KIB | | 22.026974 | | -| PROVING-PERIOD-HOURS | | 24 | | -| PROVING-PERIOD-SECONDS | | 86400 | | -| RECEIPTS | | 108.872795 | | -| RECEIPTS-SIZE | | 1741.9647 | The total size of all message receipts, in bytes. | -| REPLICA-COMMIT-TIME | | 42598.98 | | -| RESEAL | | 0 | | -| RETURN | BYTES | 4 | The size of a message's return value. | -| RSA-ELEMENT | BYTES | 256 | The size of an RSA element. | -| SEAL-COMMITMENTS-SIZE | | 70 | | -| SEAL-PROOF-SIZE | | 636.98303 | | -| SEAL-SIZE-PER-BLOCK | | 20318.658 | | -| SEAL-TIME | | 66693.78 | | -| SEALS-PER-SECTOR-PER-YEAR | | 1 | | -| SECTOR-SIZE | | 34359738368 | | -| SECTOR-SIZE-GIB | | 32 | | -| SECTORS-COUNT | | 335544320 | | -| SNARK-MAX-CONSTRAINTS | | 100000000 | | -| SNARK-SINGLE-PROOF-SIZE | | 192 | | -| SPACEGAP | | 0.1 | | -| STATE-ROOT-CID | | 35 | | -| STORAGE-NETWORK-CAPACITY | | 1.152921504606847e+19 | | -| TIB | | 1099511627776 | | -| TICKET-SIZE | | 832 | | -| TICKETS | | 1 | | -| TICKETS-SIZE | | 832 | | -| TIMESTAMP-SIZE | | 8 | | -| TO-ADDRESS | BYTES | 35 | The size of a message's 'from address'. | -| TREE-DEPTH | | 30.0 | | -| TX-MESSAGES-FRACTION | | 0.3 | | -| TX-MESSAGES-PER-BLOCK | | 32.66184 | | -| U64 | | 8 | The size of a U64, in bytes. | -| VALUE | BYTES | 8 | The size of a 'value' element. | -| VARINT | BYTES | 4 | The size of a VarInt. | -| VDF-OUTPUT-SIZE | | 0 | | -| VDF-PROOF-SIZE | | 768 | | -| YEAR-IN-SECONDS | SECONDS | 31557600.0 | The number of seconds in one year. | - - - -* Effect of Space Gap and Sector Size on Block Size. -#+begin_src lisp :package lang :exports results - (let ((res (ask *filecoin* '(sector-size-gib spacegap lambda block-size-kib) *multi-input*))) - (org-present res *filecoin* :sort-by #'< :key (partial #'trf 'block-size-kib)))) -#+end_src - -#+RESULTS: -| LAMBDA | SPACEGAP | BLOCK-SIZE-KIB | SECTOR-SIZE-GIB | -| 10 | 0.2 | 2.0183308 | 1024 | -| 10 | 0.1 | 2.1250708 | 1024 | -| 10 | 0.2 | 2.2424922 | 1024 | -| 10 | 0.06 | 2.2729497 | 1024 | -| 10 | 0.1 | 2.5627122 | 1024 | -| 10 | 0.03 | 2.6715527 | 1024 | -| 80 | 0.2 | 2.7350836 | 1024 | -| 10 | 0.2 | 2.847705 | 256 | -| 10 | 0.06 | 3.0063488 | 1024 | -| 10 | 0.1 | 3.2539802 | 256 | -| 80 | 0.1 | 3.589003 | 1024 | -| 10 | 0.06 | 3.8169022 | 256 | -| 10 | 0.2 | 3.9404943 | 128 | -| 10 | 0.03 | 4.2021575 | 1024 | -| 80 | 0.2 | 4.3927507 | 1024 | -| 10 | 0.2 | 4.730614 | 256 | -| 10 | 0.1 | 4.7323604 | 128 | -| 80 | 0.06 | 4.7720346 | 1024 | -| 10 | 0.03 | 5.3342724 | 256 | -| 10 | 0.2 | 5.501524 | 1024 | -| 80 | 0.2 | 5.57777 | 256 | -| 10 | 0.06 | 5.829611 | 128 | -| 10 | 0.1 | 5.94944 | 256 | -| 80 | 0.1 | 6.9545097 | 1024 | -| 10 | 0.1 | 7.102623 | 1024 | -| 10 | 0.06 | 7.638206 | 256 | -| 80 | 0.03 | 7.960858 | 1024 | -| 10 | 0.2 | 8.008982 | 128 | -| 10 | 0.03 | 8.787309 | 128 | -| 80 | 0.1 | 8.827972 | 256 | -| 80 | 0.2 | 9.263679 | 128 | -| 10 | 0.06 | 9.3208065 | 1024 | -| 10 | 0.1 | 10.384581 | 128 | -| 10 | 0.2 | 10.399412 | 32 | -| 80 | 0.06 | 10.503603 | 1024 | -| 10 | 0.03 | 12.190317 | 256 | -| 80 | 0.2 | 12.920809 | 256 | -| 80 | 0.06 | 13.331349 | 256 | -| 10 | 0.1 | 13.4014015 | 32 | -| 10 | 0.06 | 13.676332 | 128 | -| 10 | 0.03 | 15.2998495 | 1024 | -| 80 | 0.1 | 15.598608 | 128 | -| 80 | 0.2 | 16.252815 | 1024 | -| 10 | 0.06 | 17.561655 | 32 | -| 10 | 0.2 | 17.942131 | 256 | -| 80 | 0.03 | 20.070072 | 1024 | -| 10 | 0.03 | 22.549423 | 128 | -| 80 | 0.1 | 22.671417 | 256 | -| 80 | 0.2 | 23.978535 | 128 | -| 10 | 0.1 | 24.036263 | 256 | -| 80 | 0.06 | 24.376612 | 128 | -| 80 | 0.03 | 25.470312 | 256 | -| 10 | 0.2 | 27.385735 | 32 | -| 10 | 0.03 | 28.776114 | 32 | -| 80 | 0.1 | 29.061607 | 1024 | -| 80 | 0.2 | 30.596579 | 32 | -| 10 | 0.06 | 32.48009 | 256 | -| 10 | 0.2 | 34.33397 | 128 | -| 80 | 0.06 | 36.181545 | 256 | -| 10 | 0.1 | 36.3917 | 32 | -| 80 | 0.1 | 42.983322 | 128 | -| 10 | 0.1 | 46.211964 | 128 | -| 80 | 0.06 | 46.80707 | 1024 | -| 80 | 0.03 | 48.038197 | 128 | -| 10 | 0.06 | 48.872463 | 32 | -| 80 | 0.1 | 54.612484 | 32 | -| 10 | 0.03 | 55.240646 | 256 | -| 80 | 0.2 | 58.89311 | 256 | -| 10 | 0.06 | 62.670723 | 128 | -| 80 | 0.06 | 69.31734 | 128 | -| 80 | 0.03 | 72.59843 | 256 | -| 10 | 0.03 | 82.51584 | 32 | -| 80 | 0.06 | 87.89453 | 32 | -| 80 | 0.2 | 87.977234 | 32 | -| 80 | 0.03 | 94.63942 | 1024 | -| 10 | 0.03 | 107.03619 | 128 | -| 80 | 0.1 | 107.64613 | 256 | -| 80 | 0.2 | 114.18173 | 128 | -| 10 | 0.2 | 131.21773 | 32 | -| 80 | 0.03 | 140.30208 | 128 | -| 80 | 0.1 | 160.02498 | 32 | -| 80 | 0.06 | 175.19678 | 256 | -| 10 | 0.1 | 176.24756 | 32 | -| 80 | 0.03 | 177.6102 | 32 | -| 80 | 0.1 | 209.20566 | 128 | -| 10 | 0.06 | 238.65137 | 32 | -| 80 | 0.06 | 259.8711 | 32 | -| 80 | 0.06 | 340.8757 | 128 | -| 80 | 0.03 | 357.2812 | 256 | -| 10 | 0.03 | 406.86823 | 32 | -| 80 | 0.2 | 434.17523 | 32 | -| 80 | 0.03 | 529.018 | 32 | -| 80 | 0.03 | 695.79944 | 128 | -| 80 | 0.1 | 794.4138 | 32 | -| 80 | 0.06 | 1293.6443 | 32 | -| 80 | 0.03 | 2639.3792 | 32 | - - -* Parameter Definitions -#+INCLUDE: "../orient/filecoin.orient" src text -* Parsed Parameter Definitions -#+INCLUDE: "../../build/orient/filecoin.json" src json