DAO Baker architecture discards the concept of a single entity as a validator entirely for an on-chain smart contract. Therefore, staking validators no longer specify the reward rate nor control the reward distribution when accepting delegation. Instead, users merely delegate the funds to a staking SLOT address, and DAO Baker automates the rest, including in-protocol reward distribution. Users receive a fungible token for the supplied asset as a tokenized stake representation so that the user can withdraw the asset at any time by burning the token.

DAO Baker enables a fully permissionless on-chain staking economy that allows anyone who has XTZ to earn rewards directly from the Tezos protocol consensus staking activity securely and transparently.

The whole process takes place on-chain. Hence, this is a very simple but very different from the traditional staking validator that we are used to:

Key Components of Stake Management:👇

Account Management( VAULT)

Delegation Account

Bond Lender Account

2. Stake Management (SLOT)

SLOT ID

SLOT Ownership and Representation

3. Tokenised Stake Position (FAUCET)

Token Factory

Token Standard FA1.2 (ERC20 compatible)

VAULT: Account Management

The current design of the protocol supports delegations from VAULT via SLOTS for staking. VAULT allows the implementation of any custom logic in how funds are delegated, collected, redistributed, tokenized within the system. VAULT is an on-chain smart account management system that has composability with DeFi Dapps.

Users can make deposits and stake XTZ by simply sending XTZ to the contract, and the contract will automate the account generation and rewards allocation to that address. Account addresses are counterfactual based on the initial user deposit key and can be deployed safe by anyone using VAULT. A user can make withdrawals partially or wholly. When withdrawn altogether, the user automatically redeems and transfers the account balance XTZ to the originated address. A user may cancel a delegation should they wish to withdraw their balance with accumulated rewards.

There is also an account recovery option built-in; “Escape Hatch.” This can be used in the event if a user has lost access to their account, or the contract has been compromised. Additional features will be rolled out in phases for VAULT, such as the ability to program custom payouts and portfolio management features with role-based access control for dApps.

VAULT maximizes the potential of a staking market with transparently adjusted price risks on participation. These fall under two categories: risk tokens vs zero risk tokens, which yield independent inflationary rewards and returns that are adjusted dynamically for optimal returns and market equilibrium.

dToken — Delegations are zero risk tokens where users earn rewards from participating in the consensus process by delegating their XTZ to the desired validator address.

SLOT tokens are risk tokens where it covers the cost of security deposits (bond amount) running a validator, and 100% slashable by the Tezos Protocol for a slashing event.

SLOTS: Stake Management

SLOTS effectively simulates the Tezos protocol consensus validation reward structure within the validator asset allocation to maintain parity on reward distribution inline with its performance. SLOTS acts as a way of assembling batches for asset flow within the staking market. Records of the state of SLOTS distribution map updates every 256 blocks.

SLOTS keep a permanent record of every batch that ever took place to determine “who sent what to who”, and how their account balances have changed. The result of this process is recorded as an on-chain commit hash of what happened on the stake distribution network.

SLOTS are batches of delegations with an ID on the blockchain, and the delegations are users lending token balances from one address to another.

Tezos has only the underlying bond at stake in case of slashing. At capacity, this will be up to 1/8 of the total staked tokens. This is the base requirement to become a SLOT owner who will supply the bond collateral to sponsor a SLOT. However, it is recommended to keep an excess on the lending account as a collateralized buffer to protect rewards from any undue redelegations.

We implement the arbitrary concept of baking SLOTS for modular stake management in line with the core protocol. SLOT represents a set of XTZ delegated to a SLOT ID (key) ensured by a bond lender, aka SLOT Owner. SLOTS hold 8,000 XTZ, the same as a ROLL in the core consensus staking process; SLOTS are an abstraction of a ROLL in the Tezos core protocol.

BAKING SLOTS

Each SLOT owner has a stack of SLOTS (SLOT ID) plus an “excess,” which is always an amount smaller than 8000 XTZ. When tokens are moved from one SLOT to the other, the excess is used. If it is not enough, the SLOT needs to be “refilled,” meaning the delegated token will move from the existing group of SLOTS to open SLOTS belonging to the validator. This is done until the amount is covered, and some excess possibly remains. When the other SLOT is credited, the amount is added to the “excess.” If it becomes greater than the SLOT requirement, the SLOT is removed from the open SLOTS and allocated to the SLOT owner. If the open SLOTS are empty, a new SLOT is created. This preserves the property that if the SLOT is changed through several transactions, the SLOT assignment is preserved, even if each operation moves less than a full SLOT.

The advantage of tracking delegations in this way is that a SLOT owner creating a stake manipulation cannot easily change the SLOTS assigned to them, even if they control the underlying delegations and shuffle them around.

SLOT owners can mitigate the risk of losing rewards by leaning on fund sources to provide an overdraft mechanism to meet the refill requirement for a preserved cycle period. Stake Economics will be elaborated later in detail.

FAUCET: Tokenised Stake Position

The staking market should support multiple SLOT owners by using a SLOT token to track each SLOT share of the market. The FAUCET allows anyone to mint a custom SLOT token. Similarly, a token will be issued for a deposited user’s stake. The tokens have the right to withdraw the underlying balance and rewards. This provides staking liquidity and allows staked tokens to be traded.

Zero risk delegations (aka delegation tokens) can represent the sum of delegations distributed on multiple SLOTS within a single address.

Risk bearing delegations (aka SLOT tokens) for bond lenders are tokens with an added earning and a variable token value subject to the delegations represented.

Delegation Token: Tokenised balance of delegation

Sum of delegated XTZ + Rewards earned

SLOT Token: The tokenized value of SLOTS

(Sum of SLOT balances + Rewards collected from Protocol) x SLOTS efficiency

SLOT tokens can be associated with multiple SLOTS as long as it shares the same owner address or VAULT address.

Each SLOT has its token value, which is based on its Net Asset Value (NAV). SLOTS value is based on a dynamically adjusted tracking indicator of the risk market underpinning the staking economy.

When you have something at stake, there is always an inherent risk but usually opportunity for reward; even if there is an assumption of zero risk scenarios.

Stake Economics will be covered in future articles; stay tuned!

Meanwhile, you can find an early POC baking contract implementation here. Keep an eye on for further implementation details that will roll out in phases in the coming weeks. We would be grateful to have feedback from the community. The DAO Baker protocol is a 100% open source project and a common good.

** update made on a sentence that referred DAO Baker borrowing as a bond lender, and thanks for the community member for pointing it out.