{"repo":"zack-bitcoin/verkle","free":true,"listed":false,"github":"https://github.com/zack-bitcoin/verkle","clone":"git clone https://github.com/zack-bitcoin/verkle.git","description":"A database being built for the Amoveo blockchain.","language":"Erlang","stars":18,"topics":["cryptocurrency","blockchain","database","verkle","merkle","zksnark","snark","pedersen"],"license":null,"category":"blockchain-web3","readme_excerpt":"Verkle Tree =========== Pedersen-commitment based verkle trees using the ed25519 elliptic curve. learn about verkle trees here: https://vitalik.ca/general/2021/06/18/verkle.html Techniques used in this software: How big are the proofs? ============== The verkle tree has a radix of 256. So, if there are N elements in the tree, then a proof for a single element would be log 256(N) steps long. If you are proving more than one thing, then they share steps. So if you are proving 1000 things, the proof is more like 1000 (log 256(N) - 1) steps long. For each step we need to store a 32 byte compressed elliptic curve point. We also need to store some fixed sized data. There are 2 different formats for the proofs. Sometimes we want the proof to be very small, and are willing to put extra effort in. In that case, we use the bullet proof method, and the extra data is only 17 elliptic curve points, each 32 bytes. So, 544 bytes total. If we want to generate the proof very quickly, we can skip the bullet proof step, and the proof ends up being longer. It needs to have 256 finite field elements, each 32 bytes long. So, 8192 bytes total. If the Tree has N elements, and you want to prove M of them. Fast: 8192 + (32 M (log 256(N) - 1)). Small: 544 + (32 M (log 256(N) - 1)). Small proofs are usually better if we are proving many things, and fast proofs are usually better if we are proving very few things. In the context of a blockchain, we use the fast proofs for light nodes, and the small proof","default_branch":null,"files":null,"tree":[],"storefront":"/r/zack-bitcoin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zack-bitcoin/verkle/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}