Glossary
Abstract syntax tree
An abstract syntax tree (AST) is a formal representation of an Approval Rule definition. This is how it's created:
- A user defines a new Approval Rule in the Intent-Specific Language.
- A tokenizer breaks the Approval Rule into tokens representing the smallest elements of the Intent-Specific Language.
- A parser validates the syntactic structure of the definition and represents it as an AST, which is stored on-chain.
Action
An Action is an on-chain action (transaction) on the Warden Protocol:
- A smart contract invocation, such as swapping ETH for MATIC on UniSwap
- A key request or a signature request
- Adding a member to a Space in SpaceWard
An Action happens after an Approval is granted according to a user-defined Approval Rule, as specified in an Intent. In the future, we're going to implement off-chain Actions, such as sending a message to a Slack channel.
AI Blockchain Interface (AIBI)
Artificial Intelligence Blockchain Interface (AIBI) brings AI on-chain with an intuitive interface for developers to integrate AI into their applications. Inspired by proof-of-computation and computational pipelines, AIBI allows inference endpoints to create cryptographic proofs that verify that an AI model produced a specific prediction. These proofs are then verified on Wardens’ blockchain through a new consensus mechanism, ensuring AI outputs are not just delivered, but can be trusted.
Approval
An Approval is a permission for an Action to be performed. Approvals are granted according to user-defined Approval Rules.
Approval Rule
An Approval Rule is a set of user-defined conditions under which an Action is performed. For example, a Rule can allow executing a transaction only if 2 of 3 approvers sign it.
You can define Approval Rules as part of Intents, using the Intent-Specific Language. Warden's Intent Engine ensures the validity of transactions by checking Rules, represented as abstract syntax trees.
Bonded validator
A bonded validator is an active validator participating in consensus (staking). Bonded validators validate transactions, propose blocks, and earn rewards for their contributions to the network.
See also: Unbonding validator, Unbonded validator.
Bridging
Bridging is a method allowing users to transfer assets across different blockchain networks. This technology utilizes cross-chain bridges – smart contracts that receive and lock tokens on the source chain and then mint a corresponding number of wrapped tokens on the destination chain. Warden currently supports bridging through Axelar.
Learn more: Bridging
Builder incentive
The Warden Protocol is open to third-party contributions: core protocol development or building Omnichain Applications in the Warden ecosystem. We'll reward both types of contributions with builder incentives in WARD. More details will be announced soon.
Delegator
A delegator is an individual or entity that participates in the staking process by delegating their WARD tokens to a validator. Delegation allows securing the network and sharing rewards with validators without the responsibility of running a node.
All delegators inherit the state from their validator: bonded, unbonding, or unbonded. To avoid risks, delegators should perform due diligence on validators and spread their stake over multiple validators. Delegators can also participate in governance.
Full node
A full node is a server running a software (binary) that maintains a complete up-to-date version of a protocol with full transaction history. You can run a full Warden Protocol node yourself.
Governance
The Warden Protocol supports on-chain governance. It's a mechanism allowing the decentralized community to update the protocol through direct voting that is recorded on-chain. Voting is available for the participants of staking: validators and delegators.
The voting power depends on the validator's weight or the amount of WARD a delegator staked. By default, delegators inherit votes of their validator. Alternatively, a delegator can cast their own vote, which will reduce the validator's voting power.
Intent
An Intent is a user-defined script specifying the following:
- An Action – any on-chain action on the Warden Protocol
- An Approval Rule – a set of conditions under which the Action is performed
After an Action is initiated, the Intent Engine checks the Approval Rule. If the conditions are met, an Approval is granted, and the Action is carried out.
Intent Engine
The Intent Engine is an immutable on-chain interpreter of the Intent-Specific Language, acting as a gatekeeper. When a user initiates a transaction (Action), the Intent Engine checks the user's Approval Rule, represented as an abstract syntax tree, and returns true
or false
– granting or not granting an Approval.
Intent-Specific Language
The Intent-Specific Language (ISL) is a language that allows users to configure Approval Rules (as part of Intents). It's composable, extensive, declarative, human-readable, and English-like. The ISL is interpreted by the Intent Engine.
Key
Keys in blockchain are paired to identify users and secure the ownership of wallets:
- Public key: A public wallet address
- Private key: A private code for signing transactions on the wallet
Warden offers Modular Key Management: you can use Keychains to generate key pairs and sign transactions. This is how it works: Key request, Signature request.
Key request
A key request is a request asking a Keychain to generate a pair of private and public keys. Keychain operators can charge key request fees for doing it. This is how such requests are processed:
- A user sends a key request with a Keychain ID identifying the preferred Keychain.
- The Intent Engine checks the user's Approval Rule, specified in an Intent.
- If the Approval Rule is met, the Keychain generates a key pair and stores the private key. A Keychain Writer publishes the public key to the Warden Protocol.
Learn more: Key request flow
Key request fee
Keychain operators can set fees in WARD for key requests. The Keychain collects fees to its ID, and then the Keychain operator can manage these funds. Key request fees are indicated in uWARD (0.000001 WARD).
Keychain
Every Omnichain Application has at least one Keychain – a custodian that generates and stores keys and signs transactions. Keychains contribute to Warden's Modular Key Management and Modular security.
The Warden Protocol allows users or external organizations to become Keychain operators. They can onboard their own Keychains and charge fees for key requests and signature requests. Note that Keychain operators typically use MPC networks to generate keys and signatures.
Learn more: Build a Keychain
Keychain ID
Keychain ID identifies a Keychain in key requests and signature requests and collects fees from users.
Keychain Writer
A Keychain Writer is an account that publishes signatures and public keys on behalf of a Keychain. It happens when the Keychain responds to a key request or a signature request. The Keychain operator can create multiple Writers, each with its own address.
Keychain SDK
The Keychain SDK is a Go SDK that abstracts the communication with Warden Protocol nodes, facilitating the development of Keychains.
Learn more: Keychain SDK
Modular Key Management
Modular Key Management is a flexible approach to managing keys in Warden. Instead of relying on a single provider for key management, users can manage different keys with different Keychains. It reduces the risk of single points of failure and gives users greater control over their keys.
Modular Security
Thanks to modularity, the same Omnichain Application can combine different security models:
- OApp users can set and manage their own application security settings with the help of Approval Rules and Keychains.
- Each OApp is collectively secured by all the tokens staked on the protocol.
By decoupling application-layer and protocol-layer security, Warden takes the best from monolithic and isolated security systems and reducing the risks of both.
Omnichain Application
An Omnichain Application (OApp) is a powerful evolution of traditional smart contracts. It allows signing transactions at any chain, while traditional smart contract applications only target users of a single chain.
Omnichain Contract
An Omnichain Contract is a smart contract that allows signing transactions and messages at any destination chain. It's the main part of any Omnichain Application.
Oracle service
An oracle is a third-party service that enables smart contracts access real-life data feeds: prices, stock marked data, weather conditions, etc. Warden is integrated with Skip:Connect – an oracle service provided by Skip Protocol and offering mostly price data. Connect's data is validated by Warden's network and written on-chain.
Learn more: Oracle services
Signature request
A signature request is a request asking a Keychain to sign a transaction with a private key. Keychain operators can charge signature request fees for doing it. This is how such requests are processed:
- A user sends a signature request with a Keychain ID identifying the preferred Keychain.
- The Intent Engine checks the user's Approval Rule, specified in an Intent.
- If the Approval Rule is met, a Keychain Writer publishes a signature to the Warden Protocol.
Learn more: Signature request flow
Signature request fee
Keychain operators can set fees in WARD for signature requests. The Keychain collects fees to its ID, and then the Keychain operator can manage these funds. Signature request fees are indicated in uWARD (0.000001 WARD).
Space
A Space is a hub allowing its owner (or multiple owners) to manage keys. Spaces aggregate accounts for different blockchains and provide access to Omnichain Applications.
SpaceWard
SpaceWard is an Omnichain Application functioning as the front-end interface for Warden. It provides a user-friendly platform where you can create Spaces, manage wallets and Intents, and interact with decentralized applications (dApps) and other components of the Web3 ecosystem.
Learn more: SpaceWard documentation
Staking
Staking is the process of participating in the proof-of-stake (POS) consensus mechanism. Validators and delegators stake their WARD tokens for a chance to validate blocks and transactions and earn staking rewards.
The consensus mechanism chooses validators based on their weight. If a validator is successful, its delegators will earn rewards too. If a validator is slashed, the delegator’s stake will be slashed. Staking also allows validators and delegators to participate in governance.
Validator
A validator is an individual or entity that participates in the staking process by running a full or pruned Warden Protocol node and validating blocks and transactions.
Validators act on behalf of their delegators and earn commissions. Each validator has a certain weight and state: bonded, unbonding, or unbonded. Validators can also participate in governance.
Validator's commission
A validator’s commission is the percentage of staking rewards earned by a validator's pool that the validator retains. The rest is distributed to delegators. Validators can configure their own commissions, but only once, when initially declaring candidacy. The following parameters are available:
- An initial commission
- A maximum daily commission change rate
- A maximum commission
Validator's weight
Each validator has its own WARD tokens and tokens bonded by its delegators. The total amount of tokens determines the validator's weight.
The consensus mechanism selects validators to propose blocks based on validators' weight, so a validator with more tokens bonded can propose blocks more frequently and generate more rewards. Weight also determines the validator's voting power in governance.
Unbonded validator
An unbonded validator is an inactive validator that isn't signing blocks. Unbonded validators can't be slashed and can’t earn rewards.
See also: Bonded validator, Unbonding validator.
Unbonding validator
An unbonding validator is a validator that is transitioning from bonded to unbonded.
Validators enter this state either when they decide to stop participating in staking or when they are slashed for misbehavior. During the unbonding period, validators aren't participating in the consensus process and aren't earning rewards.
WARD token
WARD is the native utility token integral to the Warden Protocol ecosystem. It facilitates various operations such as governance, staking, protocol fees and acts as a medium of payment for operators, such as Keychain operators.
Learn more: WARD token
Warden Protocol node
A Warden Protocol node is a server running the software (binary) of the Warden Protocol. To run a blockchain node in Warden, build and run the chain binary called wardend
. To interact with a node, use the Node API.
Reasons for running a node include the following:
- Accessing archive data
- Providing services: RPC, GRPC, API, etc.
- Becoming a validator
WARP token
WARP is a dynamic counterpart to WARD, adding liquidity and gamification to the Warden Protocol ecosystem. It fuels engagement and participation through innovative tokenomics.
Learn more: WARP token
YieldWard
YieldWard is an Omnichain Application functioning as a smart yield generator that automates and optimizes your earnings across multiple protocols. YieldWard simplifies your yield and staking experience, letting you enjoy effortless management, decentralized security, and optimal yields.
Learn more: YieldWard documentation
Coming soon
We're currently implementing a breaking update to the Warden Protocol. Omnichain Application developers will be able to build and integrate AI-driven Agents – autonomous trainable programs independently managing complex processes. Below you'll find the key terms related to this update.
Agent
An Agent is an autonomous trainable program driven by artificial intelligence. Agents execute advanced smart Workflows, seamlessly managing complex processes without the need for direct human intervention.
This is a new feature that is coming soon.
Trigger
A Trigger is an event listener that watches for a data update starting a Workflow. There are two types of Triggers:
-
On-chain Trigger: It can listen to such events as changes in a price feed from an oracle.
-
Off-chain Trigger: It can track messages in Slack, updates in a Google spreadsheet, etc. You can implement off-chain Triggers through webhooks and API calls.
This is a new feature that is coming soon.
Workflow
A Workflow is a sequence of actual steps executed by an Agent and defined by an Intent. Each Workflow includes at least one of the following steps, not necessarily coming in the same order:
This is a new feature that is coming soon.