In 2021, the global crypto market capitalization reached $3 trillion. There is plenty of room for more growth. Web 3.0 is one of the new buzzwords in the crypto realm. Web 1.0 and Web 2.0 bolstered the growth in the internet world. Web 3.0 comes in bolder, focusing on decentralization by giving users the freedom to control their data.
What is Web 3.0?
Although the terms Web 3.0 and Web3 have different origins, people are using them interchangeably. For this article, we’ll use the term Web 3.0.
The new phase, known as Web 2.0, lasted from 2004 to 2014. This is when most people started using the internet and social media became popular. Web 3.0 is the new phase, which started in 2014 and is still ongoing. This is when the internet became more personal and people started using it to connect with each other. Web 3.0 is a new term for the next significant evolution of the internet. Web 1.0 took place from 1990 to 2004, when most websites were static and created by businesses. Web 2.0, which lasted from 2004 to 2014, is when most people started using the internet and social media became popular. Web 3.0, which started in 2014 and is still ongoing, is when the internet became more personal and people started using it to connect with each other.
Web 2.0 was characterized by user-generated content and social media. Users were encouraged to interact and connect with one another through social networking like blogs, vlogs and social media, which eventually became mainstream. The evolution led to a larger amount of content creation, most of which is controlled by a smaller group of tech giants like Google, Microsoft and Facebook. This has raised the question of whether users’ privacy is safe.
Web 3.0 is decentralized, with users in control of their data. It is powered by blockchain technology, metaverses, and artificial intelligence. These help eradicate the need for a central authority for data storage and preserve security. Web 3.0 puts more control back into the hands of people.
How Interoperability Works for Web 3.0 and the Metaverse
Web 3.0 is designed to be more user-friendly and scalable than previous versions of the internet. In order for it to reach its full potential, it must be decentralized, scalable, and secure. The interoperability of Web 3.0 and Metaverse is demonstrated through the use of NFTs, which allow users to interact with each other through virtual reality technology. Web 3.0 facilitates trade and communication between users in the Metaverse.
Basically, Web 3.0 is a bunch of apps that can all work together because they’re on the same decentralized platform. For example, the Mana app lets users buy and sell virtual land. To do this, they need to get two things: LAND, which represents ownership of the land, and MANA, which is used to buy the land and any goods on it. The marketplace lets people buy and sell LAND and also lets users trade items with each other.
However, with a decentralized internet, there is no need to request permission because the application can be built on an open network. The metaverse will be built on a decentralized internet, which will allow interoperability without the need to request permission from a central authority.
Why store data permanently important?
Pre-Web
In ancient times, the Library of Alexandria in Egypt was the source or database of knowledge at the time, containing hundreds of thousands of valuable manuscript books. But after wars, all the books accumulated during the 600-year history of the Library of Alexandria were burned. All these precious data were destroyed. Because of the destruction of this data, the course of human history may have been set back by decades.
Web 1.0 — Web 2.0
There’s a website called the Internet Archive that’s similar to Arweave. It saves snapshots of almost every website from every time period. So, for example, you can see what Apple’s website looked like in 2001. It also saves music, books, and other data. The Internet Archive is like a time capsule for the web. It’s a way to preserve all the precious data and websites so they can be seen in their original form, even after the Internet changes a lot. But the Internet Archive is not as stable as it could be because it’s run by centralized databases and servers. Right now, the website snapshots part of the Internet Archive isn’t working, so that’s a problem. Also, the organization that runs the Internet Archive has to spend a lot of money to keep the servers and databases running, so that’s another unstable factor.Even though it certainly does have disaster recovery and backups, the Internet Archive may lose data under extreme conditions because of these factors.
Web 3.0
Arweave is a solution that emerged during the Web 3.0 era. It offers a unique consensus mechanism that guarantees permanent data storage. The token economy and mining mechanism allow miners to store data and the developer ecosystem to be expanded, solving the problem of the huge cost of server and development funding. The decentralized architecture ensures the data ownership of users. Arweave also continues to actively cooperate with the Internet Archive to permanently preserve data on the chain. Arweave is the Library of Alexandria for permanent data storage in the Web3 era.
3. Data Structures and Consensus Mechanisms
Arweave uses the Blockweave data structure to store files permanently. SPoRA is used as the consensus mechanism to keep the data safe and secure.
a. Blockweave
Arweave is different from the traditional blockchains where blocks are continuously connected in a chain structure. Instead, Arweave’s block also points to a random previous recall block (now called recall chunk), so from a three-dimensional perspective, it is a spun-like structure. From the point of view of storage content, the conventional on-chain storage is mainly indexed and data is distributed among nodes. Blockweave’s block store data information as transactions which can be seen in Arweave’s blockchain browser that exist in types like image type. Blockweave is actually sharded, and the performance is extremely scalable. Compared to other storage chains, Arweave can increase TPS by many times and significantly reduce long-term storage costs.
The primary purpose of Blockweave is to support Arweave’s consensus mechanism.
b. SPoRA Consensus Mechanism
A Proof of Activity (PoA) consensus algorithm is a hybrid consensus algorithm that combines both the Proof-of-Stake (PoS) consensus algorithm and the Proof-of-Work (PoW) consensus algorithm. Arweave used to use a PoA + PoW consensus mechanism, which is a hybrid of the PoW and PoA consensus mechanisms. The PoW mechanism is already familiar to us, and we have seen it on many blockchains. The PoA mechanism combines both the PoS and PoW algorithms.
If a miner wants to generate a new block, he must access a randomly recalled block from the Proof of Access (PoA) system. Ideally, a miner would store data from all blocks to increase the probability of being the first to find the hash and generate a new block, as PoA incentivizes miners to store more Arweave blocks. However, if everyone stored all the data, then everyone’s probability of getting a block would be 1, so there is also a Proof of Work (PoW) mechanism in addition to PoA to ensure decentralization. With PoA and PoW consensus, a miner’s block probability = the probability of having a randomly recalled block * the probability of being the first to find the hash.
The PoW algorithm regulates the block generation rate by allowing the difficulty to be adjusted. If the block generation rate exceeds the target rate, the difficulty of the PoW problem is increased for future block generation. Similarly, as the block generation rate decreases, the difficulty setting is adjusted downward.
c. Decentralized Storage
Arweave’s mining experience is great compared to traditional blockchains. Arweave only requires miners to download data from a few blocks to start mining, instead of from all nodes of the blockchain. This makes it much easier to join the network as a new node.
In a traditional blockchain, each node needs to download all the data, which wastes a lot of resources. Arweave is designed so that miners will spontaneously download rare data, which ensures that the average number of data stored remains uniform. This avoids wasting resources while maximizing data storage security.
4. Network and Application Architecture
Arweave’s DApp does not run directly on the Arweave blockchain. Instead, Arweave is just a blockchain that acts as a storage unit, similar to a hard disk or a database. The permaweb layer, which runs Arweave’s decentralized applications, is positioned on top of the Arweave blockchain network layer. Meanwhile, the DApp smart contracts in Ethereum run directly in the Ethereum network through the Ethereum EVM.
Arweave has a flexible architecture that gives developers a lot of freedom. Like in the Web 2.0 era, it doesn’t matter if the backend of an application uses PHP or Java. Any developer who is familiar with Arweave’s HTTP API can use Arweave as a blockchain database in a storage-based consensus paradigm to develop their own decentralized applications. The storage-based consensus paradigm is a smart contract design paradigm that has a lot of potential for Arweave.
Arweave cannot directly specify the contract and token standards for DApps because they do not run on Arweave. Smart contracts will be discussed in a later section.
DApp = Front-end Page = Smart Contract
- Definition of Smart Contracts
- When Nick Szabos coined the term “smart contract” in 1996, he defined that a smart contract should have the following four characteristics: a set of commitments; be specified in digital form, not on paper; contain an agreement; and involve the fulfillment of commitments by the people involved in the contract. In addition, I believe that smart contracts need to be data-store-trustworthy and computationally-trustworthy.
- Traditional DApp vs Arweave DApp
- A traditional DApp usually consists of a front-end of the application (web page) and a smart contract. The front-end of the application transmits the user’s data to the smart contract. Such a DApp fulfills the four conditions and two characteristics of a smart contract. The developers of Arweave think about Arweave’s DApp and smart contracts in this way: The front-end page is the smart contract and vice versa. The idea is that a DApp doesn’t need to have both a front page and a smart contract on the chain, but just a front page and a smart contract in one.
- How front page and smart contract become one?
- In the previous article, we mentioned that Arweave can store different content-type files directly. We can store the front-end page directly into Arweave, and open the transaction data to see the complete page directly! (For example, the data stored in this transaction. Click on it and it is directly a rendered front-end page). From this example, we can actually understand why the front-end page can be a smart contract. Because when we open the Arweave data, the browser also renders the page for us. Not only can we see the source code of the page, but we can also see the functioning page. This can’t be done on Ethereum, where the smart contract is just a string of text to the browser, and the browser can’t render the page. When the developer is developing, the logic of DApp and the logic of contract can be both written in the front-end, and then the transactions and data that need to be stored will be stored on Arweave through HTTP API.
Implementations of Smart Contracts
- Smartweave (Arweave acts as a paper tape for Turing machines, Smartweave is dedicated to managing the state of Turing machines)
- Overview:
- Remember the Turing machine paper tape concept we mentioned in the previous article? To build a Turing machine, it’s not enough to have Arweave’s paper tape to record state, we need a way to effectively manage and change that state of the application. What Smartweave does is an important missing piece of the puzzle. Smartweave is the official Arweave standard for smart contracts, and uses the same concept of “front-end code = smart contract”, where developers can use JavaScript, a front-end scripting language, to manage state. Front-end pages are basically the logic and state of various UI’s, so I believe it is much easier for front-end developers to use Smartweave to write smart contracts to manage state than Solidity.
- Design concept and features:
- Smartweave is designed with Lazy-execution philosophy, only executing when it has to. When the user has to get the latest contract status on the front end, it will be executed. Since the language used is JavaScript, the user can run all transactions directly in the browser, without the need to run them on the chain side. Smartweave stores the initial state and the transactions associated with the contract (an ordered list in the form of [transaction1, transaction2, transaction3]). To get the latest state of a contract, the user runs all contract-related transactions in the browser, as if the user were a node itself, and finally gets the latest state and submits a new transaction.
- Example:
- CommunityXYZ is the dashboard and management platform for the Arweave profit sharing community. CommunityXYZ’s smart contract is a standard implementation of Smartweave. It uses TypeScript (an extended version of JavaScript). It contains information about the user’s balance, vault, roles, votes, etc. Through a JSON-like data structure, the contract also implements the necessary functions such as transfer, increaseVault, and check balance. The SmartWeave contract implemented by CommunityXYZ can be placed in the front-end page code base, so that the contract logic can be stored in the front-end.
- Disadvantages and optimization:
- If you read the design of Smartweave carefully, you will see that the TPS cap becomes the cap of user browser performance and network bandwidth. However, leaving all transactions to the user raises the question of whether a contract with a large number of transactions will take a long time to run once the latest state is available, causing too much blocking.
- Although in reality, a normal but large number of transactions does not cause a lot of user experience problems (the JavaScript file size for loading and running in modern web pages is actually very large itself, for example, the JavaScript code of the official website notion.so that I am using is about 2MB but it can be opened in seconds), but if there is a DDoS attack and someone uploads a lot of malicious transaction data (e.g. several GB), then there will definitely be a problem. To solve this problem, we can filter the transaction data through a separate Smartweave contract before submitting the transaction, receive a large amount of transaction data, and then batch rollup to AR.
- Also, developers can refer to the Smartweave contract implemented by Redstone. Redstone reduces the unnecessary reloading and running of transaction data through the multi-layer of browser cache, which can greatly optimize the performance of the contract on the client side. Alternatively, a trusted user can generate a snapshot of the transaction state to reduce the transaction computation.
5. PSC (Profit Sharing Community) explained
PSC Overview
The following text is about PSCs, which are profit-sharing communities on Arweave. These communities give founders more active control and flexibility over their projects, while giving contributors more power. In traditional startups, employee-owned equity is less likely to be realized into cash quickly, is not granted governance rights, and receives little to no dividends. PSCs are a combination of DAOs and tokens, and the voting power of a PSC depends on how much community PST a person holds, and how long they hold those tokens.
com Unlike other crypto communities, all PSC contributors earn PST tokens which gives them voting rights, instant liquidity and interest generated by using the application. You can find more PSC projects on the Profit Sharing Community Hub at communityXYZ.com.
Leave a Reply