<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Banyan Storage Inc.</title>
        <link>https://paragraph.com/@banyan-storage-inc</link>
        <description>Stewarding file-based economics on FEVM.</description>
        <lastBuildDate>Tue, 14 Apr 2026 19:21:49 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Banyan Storage Inc.</title>
            <url>https://storage.googleapis.com/papyrus_images/5187cd6275fb098e36e3e117edb70c8a0de182e281a3e57fbaaf7a77b69799d4.png</url>
            <link>https://paragraph.com/@banyan-storage-inc</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[The Case for Moving Your Computation Off-Chain with Chainlink]]></title>
            <link>https://paragraph.com/@banyan-storage-inc/the-case-for-moving-your-computation-off-chain-with-chainlink</link>
            <guid>PXlqfpmkx6QpYPY8zVpd</guid>
            <pubDate>Tue, 27 Dec 2022 08:50:42 GMT</pubDate>
            <description><![CDATA[Written by Jonah Kaye and Marco Jardim, Software Developers at Banyan Storage Inc.Ours is an age of both data abundance and storage solution scarcity. To store what matters, we must rely on centralized storage options that leave us defenseless against corporate whim and folly. Decentralized, secure, censorship-resistant storage is a necessity in the Web3 era to protect and harness the wealth of human knowledge.The Banyan DesignBanyan designed a decentralized IPFS pinning service. Our design w...]]></description>
            <content:encoded><![CDATA[<p><em>Written by Jonah Kaye and Marco Jardim, Software Developers at Banyan Storage Inc.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/74aa79b6609dab21234b8b5d3c09054470f86da058544bae010b631749f02386.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Ours is an age of both data abundance and storage solution scarcity. To store what matters, we must rely on centralized storage options that leave us defenseless against corporate whim and folly. Decentralized, secure, censorship-resistant storage is a necessity in the Web3 era to protect and harness the wealth of human knowledge.</p><h1 id="h-the-banyan-design" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Banyan Design</h1><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://banyan.computer/">Banyan</a> designed a decentralized IPFS pinning service. Our design would match people and the files they want to store with storage providers hosting over <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.ipfs.tech/concepts/what-is-ipfs/">IPFS</a>, a distributed file storage system. Programmable financial incentives motivate providers to honor storage deals, and mathematical proofs verify that a provider is actually continuously storing your file.</p><p>For a given storage deal, according to our design, storage providers would submit <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.org/en/developers/tutorials/merkle-proofs-for-offline-data-integrity/">merkle inclusion proofs</a> to Ethereum logs, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/banyancomputer/chainlink-proof-validator/tree/chainlink-example">oracles execute fast rust binaries</a> to read and verify the proofs against the deal’s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.rs/bao/latest/bao/index.html">Blake3</a> on-chain root hash. Our decentralized oracles aggregate the results, and report to chain the proof-success rate of the provider. Payments are transferred according to the proof-success rate and deal parameters the counterparties agree to, and your data remains secure, uncensorable, and decentralized.</p><p>Verifying the merkle inclusion proofs is the computational backbone of this architecture. Why did we decide to perform this computation off-chain using Chainlink <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.chain.link/what-is-oracle-computation/">oracle computation</a> instead of just doing it on-chain?</p><h1 id="h-the-cost-of-computation" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Cost of Computation</h1><p>For some operations which are computationally intensive, Ethereum has precompiled contracts. If you want to do a SHA256 hash, the operation is executed by the Ethereum node itself instead of the EVM (Ethereum Virtual Machine), so there is no overhead gas fee. This theoretically allows you to perform all your computation on-chain. Unfortunately, there are <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.stackexchange.com/questions/15479/list-of-pre-compiled-contracts">only nine </a>precompiled contracts on Ethereum right now, and Blake3 isn’t one of them yet. To verify our Blake3 merkle proof on chain, we would need to perform a large number of Blake3 hashes using <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/banyancomputer/blake3-sol">a custom Blake3 solidity contract</a>, which could cost hundreds of dollars per proof.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/595b6a46727bce6a3603043a9dde752a8997603aca4d2993d3abb7b186eec46b.png" alt="An implementation of the blake3 hash in solidity" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">An implementation of the blake3 hash in solidity</figcaption></figure><p>A merkle proof requires hashing a block of bytes, and then successively hashing hashes together until you work your way up to the tree root. For a 1000kb file, this means one hash on a 1024 byte chunk at a price of $1000, followed by log(1000) hashes of hashes at a price of $150. This comes out to approximately $2500 per proof.</p><p>For verifying Blake3 merkle proofs and all sorts of other meaningful computational tasks that allow smart contracts to interact with real world data, regular on-chain computation is simply not financially feasible. It can also be dangerous. Engineers trying to reimplement cryptographic primitives like Blake3 is a common cause of errors that lead to hacks.</p><p>It is unlikely that Ethereum core maintainers add a precompile for your cryptographic operation of choice, given<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ethereum/EIPs/issues/152"> the burden for them of maintaining </a>cryptographic primitives. Additionally, some precompiled contracts like Blake2s only perform the hash’s compression function, which means the contract still has more work to do to get the final hash.</p><p>Assuming a precompile was added for Blake3 that looked like Blake2, where only the compression function was implemented, we can estimate the cost roughly off the current costs for the Blake2s precompile. It would look <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ethereum/EIPs/issues/129">something like</a>:</p><pre data-type="codeBlock" text="log(filesize) * [GBLAKEBASE + GBLAKEWORD * floor(INPUTSIZE / 32)] * num_proofs 
"><code>log(filesize) <span class="hljs-operator">*</span> [GBLAKEBASE <span class="hljs-operator">+</span> GBLAKEWORD <span class="hljs-operator">*</span> floor(INPUTSIZE <span class="hljs-operator">/</span> <span class="hljs-number">32</span>)] <span class="hljs-operator">*</span> num_proofs 
</code></pre><p>For our same 1000kb file, doing one proof comes out to 575 gas or around $1300 at current exchange rates. Add the memory costs of pushing and popping values off the stack and this isn’t actually as cheap as you might expect.</p><p>All of this doesn’t even consider the cost of storing our proofs, which is one of the underemphasized advantages of off-chain computation. To use a solidity Blake3 contract or the theoretical precompile, all proofs must be stored in Ethereum memory, since the EVM can’t access data stored off-chain. Ethereum memory is expensive, especially if you consider Banyan’s use case: storing hundreds of proofs for every single file. Ethereum event logging is around 70x cheaper* as an alternative to storing data for our use case, but since the EVM can’t access log data, it isn’t generally used to store data core to contract logic. But if you are doing your computation off-chain, then you can easily read log data, and save gas on both computing and storage! This same logic applies to any future project using protodanksharding blobs instead of memory.</p><p>— — — *<em>The EVM costs 20k gas per 32byte slot to SSTORE and SLOAD * 32 slots = 640k gas. The LOG opcode costs 375gas for signature hash + 375 gas for topic + 8 gas per byte for 1024 bytes = 8.75k gas.</em></p><h1 id="h-off-chain-computation-use-cases" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Off-Chain Computation Use Cases</h1><p>At Banyan, we determined that neither custom contracts nor Ethereum precompiled contracts were a viable on-chain solution, and decided instead to use off-chain oracles with Chainlink. The computational costs of this design would be cheaper than either alternative, with little to no sacrifice in the security of our system. Ultimately, we asked ourselves: Do we need the full economic security behind the Ethereum network to verify this proof or can we get by with less? As long as we make sure the Chainlink nodes are staking more in link than they can make by cheating, and we have a decentralized consensus mechanism like Chainlink <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://research.chain.link/ocr.pdf?_ga=2.258886794.1208630300.1664713411-104665524.1660035565">OCR</a> (Off Chain Reporting) or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://tendermint.com/ibc/">Tendermint</a> BFT to catch cheaters, crypto-economic incentives are powerful enough to ensure the validity of our merkle proofs, and our design as a whole would remain decentralized, censorship-resistant, and secure.</p><p>Beyond Banyan’s use case, other projects could use off-chain computation to validate signatures from cryptographic schemes other than secp256 curve, or to perform reads and writes on larger data structures stored in log space or protodanksharding blobs that are currently infeasible to store on the EVM alone. Generalized WASM computation is an option too! With off-chain computation, the sky’s the limit.</p>]]></content:encoded>
            <author>banyan-storage-inc@newsletter.paragraph.com (Banyan Storage Inc.)</author>
        </item>
    </channel>
</rss>