Today we’d like to introduce a new open source project aiming to service bakers within the Tezos ecosystem. As a recipient of one of the Tezos Foundation’s recent grants, Zednode, a blockchain infrastructure company, has been able to dedicate time and resources to focus on improving the baking experience for smaller bakers.
Baking, if you aren’t familiar with the Tezos ecosystem, is the term used describe how new blocks are added to the Tezos blockchain. Naturally, the folks who participate in baking are called bakers.
As a relatively small baker ourselves, we struggled a bit to get our baking operation up and running. In addition to the technical complexity of actually operating the baker software, and managing a community, there were a lot of outstanding questions. How do we run a Tezos node? What about just trusting a public node? How much do we owe to our delegators? What’s the easiest way to do payouts?
With Gingerbread, we’re developing an open source dashboard application that makes it easier for bakers to track rewards and payout their delegators. Additionally, we decided we wanted an application that is very simple, does not require a lot of dependencies, and is easy/basically free to deploy.
“How much does a certain delegator get based on their delegated balance for a specific cycle?” is a common question that a baker must ask — and it’s not that simple. First you need to figure out the specific snapshot block 7 cycles ago and grab the balance info from there. Secondly, you need to sum up all the rewards from both baking and endorsing for the entire cycle and figure out out to divvy up the rewards. We’re hoping to make these calculations + batch payouts easier with Gingerbread. For anyone interested, you can dig into the specific details of how we do our calculations here: https://github.com/teamzednode/gingerbread/blob/master/rpc_documentation.md.
The simplest way to estimate baking rewards for a future cycle is to obtain the baking rights for the cycle, see how many blocks with priority 0 have been assigned to the delegate, and then add 16 TZ for every block. To estimate the endorsement rewards, similarly, we retrieve all the blocks where endorsing rights have been assigned to the delegate and add 2 TZ for each slot per block.
For cycles that are already baked, we can use the above strategy, except we can look at the block metadata and check if the baker is in fact the delegate that was assigned priority 0 or not.
Setting up a baking operation
Getting a baking operation started should be easy, and we’re hoping that as the minimum bond amount (currently 10k $XTZ) decreases and more tools are available, we’ll see more solo and small baker operations pop up. It’s essential that anyone in the Tezos ecosystem that wants to participate in staking/governance is able to, and that we’re not forced to delegate to larger bakers. Currently, if you have the minimum bond requirement, all you need to start a bakery is:
- A tezos node
- baking software
- software to handle administration + batch payouts to delegators
For #1 & #2, the folks over at Obsidian Systems maintain Kiln, which now has support for running a baker.
Stay tuned for a follow up blog post, where we’ll dive into configuring, deploying the app, and issuing batch payouts.