Babylon [ /ĖbƦbÉĖlÉn/ ] is the current version release of the Radix network that debuted smart contracts and the Radix Engine execution environment. The migration from the Alexandria release occurred at epoch 32717 on the 28th September 2023.
- Features
- Native Assets
- Smart Accounts
- Account Abstraction
- Radix Wallet
- Personas
- Transaction Manifests
- Delegated Fees
- Radix Connect
- Ledger-Enforced Royalties
- Radix Web UI SDK
- Gateway SDK
- Radix Engine Toolkit
- Liquid Staking Units
- Token Types
- Soulbound tokens
- Recallable Token Types
- Test Networks
- RCNet v1
- RCnet v2
- RCNet v3
DEVELOPMENT | |
Launch Date | |
Antecedent | |
Postcedent | |
License | |
LEDGER | |
State Model | |
Shard Groups | |
Sybil Protection | |
Consensus Protocol | |
Execution Environment | Radix Engine v2 |
Programming Language | |
Networking | |
Validator Node Cap | 100 |
Features
Native Assets
Assets like tokens being ānativeā means that they are in-built, first-order functions of the language, rather than being second-order prescriptions of a smart contract. Tokens, NFTs, badges, and pool units are all āresourcesā in this paradigm, as understood by the Radix Engine.
Native assets offer benefits for both ease and security of dApp development and improved user experience in the Radix Wallet.
Each asset's unique behaviour and data are expressed in the resource configuration rather than complex smart contract code, allowing the Radix Wallet to display all necessary information in a clear, human-readable way.
In the future, physical scanning of Native Assets through NFC technology will also be possible. All Native Assets are held in user Smart Accounts, which include the ability to prove control through a signed challenge.
Smart Accounts
A smart account is a component on the Radix ledger that can hold assets and allow logical operations on those assets. This includes multi-factor authentication and gated deposits. Smart accounts can be created āvirtuallyā without a transaction and are easily configured via the Radix Wallet.
Account Abstraction
The Babylon release will introduce account abstraction, simplifying user interactions with the Radix platform and providing an improved experience compared to Ethereum's EIP-4337. This feature will be more easily updated and adopted across the ecosystem.
Radix Wallet
The Radix Wallet is an iOS / Android application built specifically for Radixās Babylon release and designed for native DeFi and web3 use. The wallet will replace the current Radix desktop wallet and is expected to offer improved security and user experience, allowing users to import their Olympia JSON files and passwords without entering seed phrases online. This feature is designed to protect users from keylogger attacks.
Personas
A persona is a set of user data that resides in the Radix Wallet. Personas may be tailored to contain web3 information such as a wallet address as well as personal information such as an email address, phone number and address. The information is stored on-chain, reducing the burden of data liability and risk of theft. Personas can be selectively hidden and revealed when interacting with decentralized applications (dApps), which also enables password-less login on web3 websites, verified by a cryptographic āchallengeā.
Transaction Manifests
Transaction manifests are a feature of the Radix Wallet that provides the user with a human-readable summary of every operation within an atomic transaction before it is signed.
Additionally, transaction manifests can include authorization using badges, payment of transaction fees, and validation of resource amounts to ensure guaranteed outcomes for users.
These manifests are human-readable, so developers and clients of his software can easily understand what they are signing. The final transaction is created by converting the manifest into a binary representation and cryptographically signing it.
This allows them to be efficiently sent over the network and processed by the Radix Engine.
Delegated Fees
Once blueprints and components are live, the Radix Engine will enable transaction fees to be born by applications rather than users.
Radix Connect
Radix Connect is an encrypted method to securely link a Radix Wallet on a mobile phone to a desktop instance by scanning a QR code on a browser extension called Radix Connector.
Radix Connect is a technology that enables users to access DeFi and Web3.0 dApp sites on their desktops while having a mobile-first experience on their Radix wallet.
As a user, you can link your Radix Wallet on your mobile phone to your desktop browser in a one-time setup process. The Radix Connector browser extension for desktop displays a QR code that the Radix mobile wallet scans to enable automatic connection when a dApp website attempts to connect to the wallet.
Connections are fully encrypted end-to-end and peer-to-peer, ensuring message security and eliminating the need for central servers. Radix Connect uses WebRTC and special communication protocols for efficient transactions and wallet data transfers, even if the devices are on different networks.
Additionally, the Radix wallet can connect to mobile websites via "deep linking" by passing messages directly between the wallet app, the mobile browser app, and the dApp running on top of it.
Ledger-Enforced Royalties
The Babylon release aims to improve the functionality of the Radix platform for developers. One of its key features is the ability for developers to add a small fee to every transaction that uses their blueprints or components and have them enforced automatically by the Radix Engine.
Radix Web UI SDK
The Radix Web UI SDK is a software development kit that allows developers to create user interfaces for decentralized applications on the Radix platform. It provides a set of tools and libraries for building web-based frontends that interact with the Radix Engine and the Radix Wallet. This allows developers to create custom interfaces for their dApps that are tailored to their specific needs and design requirements.
Gateway SDK
The Radix Gateway SDK is a software development kit that enables developers to create applications that interact with external systems and blockchains. This allows developers to connect their decentralized applications to other networks and services, such as payment gateways, data feeds, and identity providers. The Gateway SDK provides a set of tools and libraries for building custom gateways that interface with the Radix Engine and the Radix Wallet, allowing developers to create dApps that can interact with the broader ecosystem of blockchain and web3 technologies.
Radix Engine Toolkit
The Radix Engine Toolkit is a set of tools and libraries that developers can use to build custom extensions for the Radix Engine. These extensions can include custom transaction types, smart contracts, and other features that are not available in the core engine. The toolkit provides developers with a framework for building decentralized applications on the Radix platform.
Liquid Staking Units
Liquid Staking Units (LSUs) are a key feature of the upcoming Babylon update to the Radix distributed ledger. LSUs function as special tokens that users receive in exchange for staking XRD on the Radix network. The introduction of LSUs will change the way decentralized applications (dApps) interface with staking, simplifying the process for users and developers alike.
When a user issues a stake request, they receive an LSU, which represents a claim on a percentage of the total amount of staked XRD held by the validator they staked with. Each LSU has a specific cost basis, depending on the price of XRD when the dApp executed the stake. To unstake all or part of an LSU, the dApp calls the unstake() function, passing the fraction of the LSU the user wants to unstake. Users receive their original XRD amount back, along with any staking emissions earned.
One potential issue with this model is that users who frequently stake and unstake or dollar-cost average (DCA) may accumulate numerous LSU tokens in their wallet, each with a separate RSI. To solve this problem, a new component will be introduced to provide a simple interface for staking and unstaking. This new component will allow users to think of the LSU pool token as a single entity, abstracting away the underlying complexity.
Additionally, the new component will implement a smart algorithm associated with the unstaking process, which will choose the most tax-efficient way to perform withdrawals. For most countries, this will likely be LIFO (last in, first out) to maximize the tax treatment for long-term capital gains.
Token Types
Soulbound tokens
āSoulboundā tokens cannot be transferred to another address so are useful for assets that shouldnāt be shared or sold on, such as concert tickets.
Recallable Token Types
Babylon will enable tokens to be leant and recalled after a set time.
Test Networks
RCNet v1
Radix Babylon RCnet v1 was a test network developed by RDX Works and release on the 31st March, 2023 after a series of Betanet versions. RCnet aimed to provide a comprehensive set of tools and features for developers, early integrators, and exchanges.
Transaction Review within the Wallet
The latest iOS Wallet preview build released with RCnet allows users to review transactions. While the functionality is still under development, users can monitor their accounts' activities, badges, application interactions, and deposits. Future updates plan to include:
- User-customizable guarantees on deposits
- Special views for specific transaction types
- Advanced view for scrutinizing transaction manifests
- Metadata-defined icons for applications, components, and resources
Core API
RCnet's Core API is designed to cater to key integrators like exchanges. Unlike traditional crypto transaction models that follow a "sender-recipient" pattern, Babylon uses a more complex system. The Core API aims to simplify the Babylon integration path for exchanges and third parties.
Personas and Off-ledger Data Sharing
Personas in the Wallet preview facilitate data sharing between users and dApps. This feature allows dApps to request personal data fields directly from the Radix Wallet, making the user experience more streamlined.
Radix dApp Toolkit
Formerly the Radix Connect Button, the Radix dApp Toolkit provides a unified interface for frontend developers. It allows automatic session management, data caching, and notifications about transactions and requests.
Metadata Standards
RCnet introduces a preliminary set of metadata standards for better integration between on- and off-ledger systems. This enables better information presentation to users and offers a defense against copycat dApps.
Radix Engine Toolkit
Aimed at developer community feedback, the Radix Engine Toolkit is slated to include:
- A TypeScript target for frontend developers
- Command-line version for Scrypto developers
- New layer of functions for transaction building & signing
Roadblocks
- The Gateway API has yet to achieve a stable state.
- Radix Off-Ledger Authentication (ROLA) tooling remains incomplete.
- Fee table adjustments are still under research.
RCnet v2
Babylon RCnet v2 was a test network launched on July 6, 2023, as a precursor to the Babylon mainnet upgrade. The release primarily focused on Scrypto, the scripting language for decentralized applications on the network, and the Radix Engine. RCnet v2 was released in two phases, with the first phase featuring "low-level" components such as nodes and the Radix Engine, and the second phase rolling out updated versions of additional tools and services.
Developer Tools
RCnet v2 brought several updates to developer interfaces and tools:
- Redesigned authentication developer interface: The new system improves how developers specify authentication for their applications.
- Native pools and pool units: A system for creating liquidity pools was introduced, which allows Radix Wallet to recognize "pool units" or liquidity provider tokens.
- Better handling for referencing blueprints, components, and resources: The new syntax makes it easier to interact with different components and resources.
- Fee table adjustments: The fee structure was revamped to reflect real-world computational costs more accurately.
Scrypto Development
With the release of RCnet v2, Scrypto became feature-complete for the Babylon mainnet upgrade. The scripting language underwent several enhancements:
- Improved authentication methods: The new system simplifies the process of specifying roles and permissions.
- Native liquidity pool blueprints: New blueprints were introduced for creating various types of liquidity pools.
- Syntax and Error Handling: Syntax has been revised to make development more intuitive, and custom error messages were added to aid development.
RCNet v3
Babylon RCnet v3 is a test network released on August 31, 2023, serving as the last major test network version before the Babylon mainnet upgrade. Developed to provide a stable environment for developers to build and test applications, the test network focuses on stability and minor improvements, assuring developers that applications compatible with RCnet v3 will function as expected on the Babylon mainnet.
Babylon RCnet v3 has made a number of advancements primarily in areas of system stability and developer tools. This aims to assist developers in building and testing their applications more efficiently and effectively.
Developer Tools
Alongside the RCnet v3 release, various tools have been updated or introduced to aid developers in building and testing applications. These include:
- Radix Wallet Preview & Connector Extension
- Radix dApp Toolkit
- Radix Engine Toolkit
- Gateway API
- Dashboard
Scrypto Development
In response to community feedback, an entirely new unit testing framework has been developed, enabling faster and more targeted testing. Additionally, decimal-related types for fixed precision math have been revised to address more real-world scenarios and to allow the compiler to enforce proper handling of potential overflow scenarios.