Launching Tezos Bounty
By: Phil Champagne
Tags: Cryptocurrency, Tezos, Hayek Lab Announcements, Blockchain, Smart Contracts

Photo by William Bayreuther on Unsplash

A few months ago, I wrote an article about the case of a bakery being sold and the issues related to the private key and the management of the KT addresses delegation.

https://medium.com/hayek-lab/the-tezos-donuts-bakery-inc-case-study-cb8cde5c5916

The fact that delegation can be done anonymously means delegators do not have to reveal their identity or email address. This is certainly a nice feature for a cryptocurrency to have. However, one major downside is the impossibility for a baker to contact their delegators to inform them of important changes related to their baking service. Such important changes can include the need for a baker to move their tz1 address to another one for either security reasons, a merger, an acquisition, or the closing of their business without the need for its delegators to have to constantly keep an eye on official announcements.

The Proposal: a New Smart Contract for Delegation

Currently, only the owner of the KT address (the one who owns its private key) is allowed to change a delegation to a new address. I’d like to propose that a new KT address (Smart Contract for Delegation) be created that allows either the owner of the KT address or the delegate themselves (the baker) to change the tz1 address of a delegation. This means that from the moment you create a KT address (Smart Contract for Delegation) and assign a delegate, your chosen delegate would also be given the power to move your delegation to a new tz1 address whenever needed, just as you can yourself. In a situation (if your baker is ceasing operations for example) where your delegation needs to be moved to a new tz1 address by either yourself (the owner of the KT1 address) or the delegate (baker), then this transferring power would follow and will also be transferred to your new delegate (baker).

Of course, there is a trust component involved. You, as a delegator are trusting your chosen bakery not to point your KT delegation to some no man’s land. But after all, since you already have to trust a bakery, based on their efficiency and reputation, for proper handling of your staking and paying out your corresponding rewards back to you (assuming you have chosen a serious company); this extra layer of trust is minor compared to the benefits it brings. In addition, there could be a 3rd party service that offers an email notification whenever your KT address has been moved to a new delegate. We at Hayek Lab are already considering providing a transaction notification service to our delegators free of charge (if they are interested and willing to provide us with an email address), adding a delegation moving event as well would be a given.

Let’s review with an example:

Imagine John Investor owns KT1John47829 which has selected tz1Bobbaker633 as his delegate (baker) using such New Smart Contract Delegation. A few months later, Bob Baker decides to merge with Alice’s bakery. The tz address of her bakery is tz1Alice4SweetBake7uf8. After the official announcement of the merger, John should go on his tezos wallet and proceed to change his delegation address from tz1Bobbaker633 to tz1Alice4SweetBake7uf8, however John is currently on a boat trip without any internet access. But the good news is that John is using the new smart contract for its delegation. This means since John’s KT address currently has Bob’s tz1Bobbaker633 set as the delegate, Bob also has the transfering power to move John’s KT address to Alice’s bakery. Bob uses his private key associated with tz1Bobbaker633 to change the delegate of John’s KT address to the one of Alice’s bakery. Now that Alice is John’s new delegate, she now has the power to make such a transfer while Bob does not anymore. When John comes back from his trip, he might realize his delegate has changed and then finds out about the announcement. If he doesn’t like Alice’s service, he can then move his delegation to another baker. But at least this way, his KT1 address has always been delegating, even if Bob’s bakery shut down or moved while he was on vacation.

The new delegation smart contract could also begin with “KT1” or it could begin with “KT2”. By default, tezos wallets would ideally use the new KT contract when someone creates a KT address to delegate.

The Reality

With the recent closure of iBakeTezos and its bond pool moving to Hayek Lab, iBakeTezos is currently facing the hard reality of not being able to reach some of the delegators to notify them of these important changes. The use of a New Delegation Smart Contract would have been ideal in this case, preventing the loss of income for the unaware delegators. We can only hope that this important news will reach them in one way or another. Below is the recent article we wrote on this.

====== update ====

I have been made aware that a new protocol upgrade called Burebrot will provide this functionality I am talking about: (Just published a few hours after my article)

Just a heads up, there a 2 ways to fix this situation:

Giving the ability — which requires a protocol upgrade — for baker to change the tz address without affecting existing delegators. This is what Burebrot intends to do. A new KT contract for delegation is created that allows a 1 out of 2 signature to change the delegate, where either the manager of the KT or the delegate itself would be allowed. This is the proposal listed here.

I have been confirmed by Arthur Breitman that this KT contract is feasible. It would have been a quick and easy way to resolved this issue and I wish I had thought about it a few months ago. However, using it would be more a burden to the baker as it would require to make one transaction (with fees) on the blockchain for every delegators it has. So a baker with 200 delegators would have to make 200 such transactions. Although more difficult as it require a protocol upgrade, the first solution is better. We will have to be patient as it will take a few months before it is available through Tezos governance.

===============

Developers Call-To-Action

For that purpose, we at Hayek Lab will be creating a new webpage called TezosBounty.Design that will accept donations to incentivize developers in creating projects.

http://tezosbounty.design/

This website has been created to incentivize developers in creating new Tezos smart contract or new features to be incorporated via Tezos Governance built-in protocol. This will allow for XTZ owners, promoters as well as bakers to fund an account with XTZ that will serve as a bounty or donation to the developer of a specific project.

We will be launching this website within the next few days and will be accepting donations for the “Delegation Smart Contract project” to this tz1 address:

tz1WvPcd8Y5gUdN4K5JTpvUgjnXc3crZWtx2

https://tzscan.io/tz1WvPcd8Y5gUdN4K5JTpvUgjnXc3crZWtx2

The first developer to provide a fully functioning Delegation Smart Contract will be granted the reward. We understand that the built-in Tezos governance provides rewards to developers but this does not apply to smart contracts. Even if this feature was via the governance mechanism, a higher financial incentive will be valuable as the payout might be more satisfying.

I will personally contribute 500 XTZ to this account.

We will require the Delegation Smart Contract to be reviewed for accuracy by experts. Upon satisfaction from code review (remember Michelson is a functional programming language and enables formal verification) and testing, we will then transfer the XTZ in this account to the developer’s account who will be the first to successfully provide this feature.

Stay tuned to this exciting world of Tezos

Regards

Phil Champagne,

Hayek Lab, Inc.