Arweave is an open-source decentralized storage protocol that allows users to store data permanently with a single upfront fee. Arweave consists of two distinct parts: the blockweave and the permaweb.
The blockweave is the blockchain-like storage layer of the Arweave network, where storage orders are processed and data is replicated.
The permaweb is a human-readable layer built on top of the blockweave that is meant to mimic the world wide web as we know it – with the difference, that all websites and dApps once uploaded cannot be changed or altered. The permaweb, just like the world wide web, is accessible with a normal web browser using HTTP.
The Arweave protocol also supports smart contracts through its SmartWeave smart contract platform. Unlike smart contract-enabled blockchains such as Ethereum where smart contracts are computed on every node on the network, the state of smart contracts on Arweave are computed only on the local machines that request to run a smart contract.
AR is the native utility token of the Arweave network, and is used to pay into storage endowments, which are paid out to miners to ensure that costs for storage and network bandwidth are covered indefinitely.
Storage Technology & Consensus Mechanism
The blockweave uses a consensus mechanism called Succint Random Proofs of Access (SPoRA), often simply referred to as “Proof-of-Access” (PoA). Whenever a node wants to accept new data, the miner must not only produce information about the previous block but must also provide cryptographic proof that they can access the “recall block” or “recall chunk”, a randomly selected block of previously uploaded data, thus the name “Proof of Access”. New data can only be uploaded to the system (and thus a new block mined) once the recall block has been verified. As a result of PoA, the blockweave is strictly speaking not a blockchain, but instead resembles more of a graph structure, hence blockweave.
In Arweave, the block data structure ensures that all data required to process new blocks and new transactions included into each individual block. As a result, it is not necessary for new miners who join the network to download the entire history of all blocks. When a new miner joins, it requests a Block Hash List and a Wallet list from trusted peers, which allow old blocks to be requested and verified and for transactions to be verified, even without possessing the block in which the last wallet was verified.
This leads to another challenge: apart from being able to request blocks from other nodes, old miners must be willing to spend their network and computational resources to deliver that block to new miners. Arweave solves this with the “wildfire” mechanic. In this mechanic nodes rank their peers based on the peer’s generosity (sending new transactions) and the peer’s responsiveness (responding to requests for information). Nodes then gossip (i.e. communicate) preferentially to higher ranked peers. This incentivizes nodes to actively communicate with the network, as active communication is rewarded with a higher likelihood of being able to mine the next block.
Unlike Filecoin, where the consensus mechanism incentivizes expansion of storage resources, the PoA consensus mechanism incentivizes long-term data storage and redundancy maximization through the storing of ‘rare’ blocks, as miners would compete with fewer other miners in the Proof-of-Work puzzle for the same level of block reward.
The PoA consensus algorithm is essentially an extension of the PoW consensus algorithm, as when a node has the cryptographic proof required to mine recall block, they must still compete the smaller group of miners to solve a cryptographic puzzle. Once the cryptographic puzzle is solved and the data is added to the network, miners are rewarded with AR tokens.
The Arweave protocol monitors and moderates content that is published to Arweave, to ensure that certain materials that node operators do not agree with can be filtered out. While there are some automatic checks in place, every node can decide for itself which data to download and which to ignore. Hence when a user uploads files to the network, they can pick a gateway that adheres to a content policy that fits their needs. For more information about Arweave’s content policy, please consult the Arweave yellow paper.
Data Permanence & Pricing Mechanism
When users wish to store files on Arweave, they most pay a one-time upfront fee. Part of this fee is paid to a miner to add the data to the network, but a majority of the fee is contributed towards a storage endowment, which using Arweave’s assumptions should covers the cost of storing the data indefinitely. In their calculations, over the last 50 years the average annual rate of decline of the cost of storing 1GB per hour has been -30.57%.
Arweave applies three key assumptions to enable data to be stored permanently (or more precisely, as long as the Arweave network exists):
The cost a user pays to upload and store data to the Arweave network covers the first 200 years of storage, assuming a -0.5% per year decline in storage costs, which appears very conservative against the -30.57% average annual decline of the past 50 years. If the decline in cost per GBh is greater than -0.5% per year, the total number of years that the data will be stored is increased accordingly.
Tokens in the endowment are expected to grow in value in fiat terms over time, acting as an additional long-term stabilizing factor.
The Arweave protocol actively avoids releasing tokens from the endowment: if miners have already surpassed profitability through tokens emitted from inflationary block rewards and the transaction fees received when new data is added to the blockchain, payouts from the endowment do not take effect. This would lead to a ‘float’ of tokens in the endowment, further extending the length of time that data is stored on the network.
This means that even if nodes leave the network over time, new nodes will join to continue storing the data for the economic incentives the system offers – as long as storage revenue is greater than the cost of storage.
There are 3 components that determine the cost of storing data on Arweave:
Size(D) = Size of the data that is being stored
FiatCostPerpetualStorage = Fiat cost of perpetually storing 1 GB of data today
PriceUSD = Price of AR (Arweave’s native token) in fiat terms
When a miner successfully solves the PoA hashing puzzle, assuming they have access to the recall block, mining rewards are split into three parts:
Inflationary token emissions (pre-defined for every block, gradually decreasing at a rate dependent on the block height)
The mining reward per block is outside of the control of the miner. The equation for a miner to maximize their mining revenue consists of:
The probability of being able to participate in the mining of a new block is a function of the probability that the miner holds the data requested to be validated in the recall block. To maximize this likelihood, nodes are incentivized to store as many blocks as possible.
The probability of a node being able to be the first to solve the cryptographic puzzle, which is a function of the nodes hashing power in comparison to the network’s average hashing power.
The historical active participation in the wildfire sub-mechanic, which increases how soon the node can get information on the next block.
55 million AR generated at genesis (8th June, 2018)
11 million AR as inflationary emissions introduced as block rewards, which are halved continuously until all tokens are in circulation
Fully diluted token circulation will be 66 million AR tokens. Arweave does not deploy token burning mechanisms.
All references were accessed between May 5th and 31st, 2022.