Warp Roadmap H1
Manifesto
Fast, secure and convenient stack for building compute-intensive web3 native applications
TL;DR
- Warp Manifesto
- The Warp H1 2023 Roadmap
- L1 transactions
- L2 transactions (Sequencer)
- Contracts Enhancements
- DRE & Aggregate Node Development
- Developer Docs
- SonAR (Explorer)
- Final Thoughts
The Inception
Initially, Warp Contracts, first known as RedStone Contracts, was designed specifically to support the Arweave computation needs of RedStone Oracles.
In order to further the development of Redstone, we needed not only access to the Arweave storage layer, but also means to execute its logic.
SmartWeave, Arweave’s smart contract protocol, which takes a one-of-a-kind approach to computation named “lazy evaluation” faced significant bottlenecks.
- Decelerate performance & transactions finality
- Data indexing issues
- Unclear base protocol definition
To bring RedStone Oracles to full functionality, we first had to upgrade the SmartWeave stack. Initially, this was done solely for internal use. However, our work got noticed and appreciated by the Arweave core team & ecosystem projects. It became evident that there was a widespread need to continue working on the SDK and make it open-source for everyone.
So, here’s how Warp Contracts came to be — it all started with a pressing need in the Arweave ecosystem.
Today, after over a year and a half in ongoing development, Warp has evolved into a fully-functional smart contract platform that enables arbitrary amounts of computation without any additional fees. The Warp stack offers developers the ability to create feature-rich and scalable smart contract dApps, providing a seamless and convenient development experience.
Currently, Warp is utilized by over 25 teams and numerous individual developers. Despite the current market conditions, the Arweave ecosystem continues to grow at a rapid pace, and we anticipate witnessing the extensive adoption of the Warp SDK for the development of innovative and impactful protocols.
The Warp H1 2023 Roadmap
Our primary objective for 2023 is to solidify Warp SDK’s position as a leading smart contract platform on Arweave and enhance our visibility. We are looking beyond just the web3 arena and striving to provide a smart contract stack that is user-friendly, familiar and well-documented for web2 developers, while upholding the values of decentralization at the heart of the web3 space.
Alright folks, no more beating around the bush! It’s time to get specific.
In this article, we’ll take you behind the scenes and reveal Warp’s game plan for the first half of 2023.
The Warp H1 2023 roadmap breaks down into six key pillars:
- L1 transactions
- L2 transactions (Sequencer)
- Contracts Enhancements
- DRE & Aggregate Node Development
- Developer Docs
- SonAR (Explorer)
Ready to dig into the specifics? Let’s take a closer look at each part.
L1 transactions (Syncer)
Warp Contracts require efficient synchronization with the underlying Arweave layer. The Warp Syncer is a high-speed syncing tool, developed to serve the exact need.
Its primary function involves downloading all transactions from Arweave nodes and then filtering them for SmartWeave contracts. Consecutively, Syncer proceeds to parse and save the interactions to the database.
Our goal is to enhance the syncing process between the Warp caching layer and the Arweave base protocol, ultimately boosting the security of the SmartWeave environment.
The enhanced Syncer, along with the upgraded Sequencer, offers a significantly more resilient and secure approach to merging L1 Arweave transactions with L2 (Sequencer) transactions within a single contract. (For more information check — here)
For more information regarding the technical specifications of Warp Syncer, click here
L2 transactions (Sequencer)
Arweave was developed with the modular blockchain thesis in mind, which focuses on handling a select few duties and outsources the rest to one or more separate layers.
Within Arweave’s modular infrastructure, the Warp Sequencer has emerged as a vital component.
Rather than directly posting data to the Arweave mainnet, transactions are routed to the Warp Sequencer. Here, a unique sortKey is generated, which serves as the primary transaction key. Sequentially, using Bundlr, transactions can be settled instantly while ensuring the data is recorded on the Arweave blockchain. This offers end-users immediate access to the data.
Aight, plain and simple, what does this all mean?
When a user sends a contract interaction directly through Arweave, the finality of the transaction is far from instantaneous. In fact, it typically takes around 20 to 25 minutes for the transaction to be included in the Weave (Arweave chain).
This is where the Warp Sequencer comes into play, offering unique properties that significantly transform the experience of both users and developers.
- Providing near-instant finality
- Submission of free contract interactions
- The owner/signer of the transaction is fully traceable
- A contract code can include Verifiable Random Function (VRF)
The Sequencer stands as a crucial component within the Warp stack, and we aim to make significant improvements to its efficiency and decentralization through the following advancements.
Dedicated Warp transaction Bundles
Bundles guarantee your Warp transaction will be included at a certain Arweave block height (with Bundlr finality is given but block height is roughly estimated).
The ANS-104 bundle standard of L1 transactions that exclusively contain SmartWeave interaction data items is here!
This feature significantly enhances the manual verification process of Warp-related data.
Please note that this bundle does not include any non-SmartWeave related data items from other protocols, such as NFTs, videos, files, and more.
All interactions on Warp are now stored separately in dedicated bundles, which do not contain any other non-SmartWeave related data. Bundlr identifies SmartWeave data-items and organizes them into distinct L1 bundle transactions.
Since these transactions only include SmartWeave interactions, they are relatively small in size, simplifying the potential verification process for any missing interactions.
An example of Warp-specific bundled transaction: here
SourceType Contract Manifest
SourceType, a special evaluation option, manages interactions loaded in contract evaluation by Warp SDK.
Essentially, the SDK allows developers to select which type of contract interactions are loaded.
The possible values are:
SourceType.ARWEAVE //only direct, (L1) Arweave transactions are loaded
SourceType.WARP_SEQUENCER //only Warp Sequencer (L2) registered transactions are loaded
SourceType.BOTH //both Warp Sequencer and direct Arweave transactions are loaded
This feature gives you an option to clearly specify what kind of interactions your contract supports.
E.g. some contracts (that require AR transfers within the interactions themselves) can now specify that only Arweave (L1) txs are supported. Thanks to the manifest in the contract definition and proper support in the SDK — one can be assured that the contract state will be evaluated using only the specified type of interactions.
For more information regarding the technical specifications of Contract Manifest, click here
Async Bundling
Bundling refers to sending bundles to the bundling service, which in the case of Warp is Bundlr. However, instead of immediately wiring the transactions when an interaction call appears, Warp’s new async bundling tooling works differently.
In its current state, the Sequencer bundles and posts interactions to Bundlr synchronously — while it is processing the new transaction. Although this approach ensures safety, it also results in a decrease in TPS, since communication with an external service is the primary bottleneck.
By implementing asynchronous bundling, the bundling process is now separated from the main sequencing flow. Through careful design, safety and confidence are still maintained, ensuring that each transaction is properly bundled.
The implementation of asynchronous bundling has the potential to significantly improve the maximum TPS, with gains of at least 10x achievable.
For more information regarding the technical specifications of Async Bundling, click here
Decentralization via dedicated sub-chain
It is safe to say that the current scaling of L1s has entered the L2 era.
Throughput puzzles are effectively solved by Arbitrum, Optimism, zkSync, StarkWare, and similar L2s.
Everyone’s in the same boat here, scratching their heads and wondering: How do we make a decentralized sequencer that’s still highly efficient?
Similarly, for us, Warp Sequencer’s decentralization is one of the top priorities. Our goal is to empower everyone to operate a node and validate the sequencing process.
Implementation of a dedicated blockchain could facilitate Warp Sequencer processes and its broader capabilities.
But, nothing is set in stone yet or should we say “on Arweave” yet ;)
As we are still in the middle of the research and development process, we cannot share much at this point.
Contracts Enhancements
Our ultimate vision with Warp Contracts is to provide a fully functional stack that enables dApps to compete on the same ground rules as web2 services.
This requires not only a perfectly calibrated Warp caching layer but also robust and user-friendly Warp Contracts deployment and maintenance methods.
So far, we’ve introduced a number of valuable tools to complement the SDK core performance functions, including Warp Contracts standards, a user-friendly CLI, multiple plugins, and a range of other helpful features.
However, as corny as it sounds, we’re just getting started…
That’s why we’re excited to share our plans for expanding contract functionalities throughout the first half of 2023!
Contracts deployment via Nested Bundles
Bundling changed the way Arweave was able to scale. With nested bundles, Arweave’s scalability is pushed to the next level. In essence, this means that any data-item in a bundle can also be a bundle.
As a result, nested bundles offer no theoretical limits on nesting depth, which in human terms means no theoretical limits on Arweave’s scalability.🤯
We’ve launched a new deployment plugin as an extension to the Warp Contracts SDK. It offers multiple deployment methods and uses nested bundles to provide extra features like direct retrieval of contract data from the Arweave gateway.
For more information regarding the technical specifications of Warp Nested Bundles, click here
KV Storage
Warp Key-Value Storage allows for efficient contract state storage. With the increased volume of data, the standard method of storing contract state does not scale well.
Instead of processing the entire bulky JSON file every time one interacts with a contract, KV storage enables you to retrieve and store only the data you need within that interaction.
As an example — consider a Profit Sharing Token contract, that stores a wallet balance map with 1M of entries. With the KV Storage, a typical function — transfer — requires accessing only the 2 required values (the source and target wallet balance) — instead of having to process and rewrite the whole big JSON state.
For more information regarding the technical specifications of KV Storage, click here
Internal Writes Refactor
Logic statements executed within a blockchain environment are today a powerhouse for various activities including DeFi, NFTs, and distributed storage solutions.
In turn, this led to the “Money Legos” — a set of interoperable financial primitives that bootstrapped Defi, one of the most successful blockchain sectors.
The Arweave Smart Contract Protocol, SmartWeave, does not support writing between contracts natively.
To enable advanced use cases and further enhance the capabilities of the Warp SDK, it was a necessity to introduce support for inner-contract operations.
As of late, we have upgraded the original implementation of Warp Contracts Cross Contract Calls, improving its efficiency and removing bugs.
🏆 Contest alert: Tweet your idea to name the above other than WCCCC 😉
For more information regarding the technical specifications of Internal Writes, click here
Rust Contract Maintenance
As Rust gains increasing popularity in the smart contract programming arena, we are committed to enhancing Warp’s WASM performance and incorporating features from JS, like KV storage, to ensure a top-quality experience for Rust developers.
🦀 Share this academy with Rust experts to get their feedback and assist developers from other ecosystems in exploring Warp Contracts in their preferred environment!
For more information regarding the technical specifications of Warp WASM support for Rust click here
Atomic NFT deployment method
Warp Infrastructure now supports Atomic NFT deployment. An NFT standard that combines contract and asset information into one unified transaction.
NFTs are vital to web3, allowing anyone to own a piece of the internet. But not all NFT standards are created equal. When you buy an NFT based on the most popular standard (ERC-721), you get a token that points to the file’s location on the internet, not the file itself.
Essentially, it means that there’s no guarantee that the content of your NFT will always be available.
Atomic (Arweave) NFT standard combines all NFT elements into one distinct digital asset, making rug-pulling, deletion, censorship, and re-routing impossible. This creates immutable digital artifacts that can be traded without time or decay limitations.
We’ve included the atomic asset standard in our WRC, using both TypeScript and Rust in WASM.
For more information regarding the technical specifications of Atomic Asset Standard click here
We are excited to expand our support for the community in shaping the Atomic Asset standard by facilitating discussions, defining developer guidelines, and building essential infrastructure.
While doing so, we remain mindful of not limiting the capabilities of the rapidly-growing, albeit early-stage Arweave ecosystem.
For more information regarding the technical specifications of Atomic Asset Deplyoment method, click here
Support for transmitting input from an interaction transaction to the transaction’s data field.
As of now, interaction transaction input has been sent in the transaction tags and therefore it has been limited by the tags limit size. A simple interaction is not a problem there but what if we want to post a bigger JSON as input or even attach a file to our interaction?
Allowing to pass interaction transaction input in the data field resolves this issue and opens contracts to new possibilities. Following requests from the projects using Warp Contracts, we decided not only to enable passing interaction input in the data field, but also to allow users to send within interaction input ids to the external files which should be linked to the interaction.
Warp Sequencer will then use the concept of nested bundles (already mentioned in the Contracts Deployment via Nested Bundles point) to create two data items — one with the transaction input and the other one with the manifest containing paths to the external files. Both of them will be then wrapped in a nested bundle and posted to Arweave.
Special thanks to Noom from the Pianity Team in particular for coming up with the idea and assisting with the implementation process.
For more information regarding the method schema, click here
D.R.E. & Aggregate Node Development
The Warp D.R.E. (Delegated Resolution Environment) and Aggregate Node are important developments for scaling the Arweave ecosystem. DRE allows for the delegation of compute for high-interaction and unsafe contracts, while the Aggregate Node's main function is to provide insights into aggregate information of contract’s states.
The potential use cases for the DRE model are diverse and can significantly enhance the capabilities of dApps built on top of Permaweb.
However, to provide reliable and distributed infrastructure, there is still much work to be done.
An increased number of DRE nodes with in-between synchronization.
After completing the initial testing phase, our plan is to make DRE nodes available for public participation.
By increasing the number of nodes, we can elevate the level of decentralization and significantly improve the overall network performance.
For more information regarding the technical specifications of Warp D.R.E. click here
Warp Aggregate Node: Custom Indexes
SmartWeave allows adding indexes to every transaction. At Warp, we took this functionality to introduce a new tag named “Indexed-By”.
The tag allows adding up to 5 objects as values.
An example
project-a; nft; x-exchange; tag-4 ;tag-5
Transactions containing the “Indexed-By” tag can be downloaded as a complete list of interactions that include the tag from the Aggregate Node.
The primary benefit of this feature is that developers can download all interactions associated with freely defined tags.
For instance, one can retrieve all interactions related to a specific game function, even if these interactions are scattered over several different contracts that make up the game.
This significantly improves the ability of data pooling and the overall developer experience regarding the deployment of Atomic Assets.
For more information regarding the technical specifications of Warp Aggregate Node, click here
Developer Docs
To onboard new developers, it’s essential to have top-tier documentation, particularly in a still largely unexplored ecosystem like Arweave. We have taken the time to revamp Warp Academy to make the onboarding process a breeze.
Going forward, we strive to keep all of our documentation in the academy, creating a one-stop shop for all the knowledge required to build with Warp.
SonAR (Explorer)
An explorer provides an essential window into on-chain insights.
This quarter, we have completely reshaped Sonar to make it seamless for users accustomed to Etherscan, while also providing unique features tied to Arweave.
Upgrades include adding contract evaluation history, a dashboard with real-time blockchain state changes, fast request loading and data retrieval and additional statistics.
Come play with it, it’s all there ✨
Final thoughts
Warp distinguishes itself from other L1 or L2 solutions and definitely does not make pie crust promises.
Over the course of the last 18 months, we have diligently developed a product that has effectively established its market fit and is currently experiencing significant growth in terms of adoption.
The Warp Team grew significantly by the end of 2022. As of right now, our tech division boasts 9 highly skilled engineers who are fully committed to creating the most advanced development kit in the industry.
Some of these plans might change, and that’s expected, especially as we value community feedback and ecosystem needs. Despite this, there is a strong belief in delivering the points outlined above.
We’re thrilled to see what else 2023 has in store for Warp Contracts! 🎆