# New TZIP draft: testnet admin key

**URL:** https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340
**Category:** TZIP
**Created:** [February 23, 2022, 12:19am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340 "2022-02-23T00:19:45Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![nicolasochem](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/nicolasochem/32/544_2.png) [@nicolasochem](https://forum.tezosagora.org/u/nicolasochem)
#### Post date: [February 23, 2022, 12:19am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/1 "2022-02-23T00:19:45Z")

</div>

Request for comments for the TZIP draft: [Testnet admin key](https://gitlab.com/tezos/tzip/-/merge_requests/178).

In this TZIP, we propose a protocol amendment where, for any chain other than Tezos mainnet, a chosen “dictator key” may force a protocol upgrade. The chain automatically upgrades to this protocol at the end of the voting period.

The rendered TZIP text can be found [here](https://gitlab.com/Ochem/tzip/-/blob/09915f4f0b4a422c9704e3f97a92ac0ffb791060/drafts/current/draft-testnet-admin-key.md)

Please note that an implementation proposal associated with this TZIP does not exist yet.

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [February 23, 2022, 7:02pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/2 "2022-02-23T19:02:51Z")

</div>

This is a wonderful idea and incredibly necessary!

I’ll start a bounty on this out at 200 xtz. I will add to that number as I can.

---

<div class="post-metadata">

### Author: ![G\_B\_Fefe](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/g/57b2e6/32.png) [@G\_B\_Fefe](https://forum.tezosagora.org/u/G_B_Fefe)
#### Post date: [February 24, 2022, 12:40am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/3 "2022-02-24T00:40:18Z")

</div>

I suspect the TZIP author have a WIP implementation already, but if not I started a draft implementation (totally untested yet). If it lightens the workload for the TZIP authors, I will be happy to continue working on it, and grab or share the bounty 🙂

> **[DRAFT: for TZIP "testnet admin key" (!4547) · Merge requests · Tezos / tezos](https://gitlab.com/tezos/tezos/-/merge_requests/4547)**
>
> This is a draft for tzip!178

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [February 24, 2022, 5:21am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/4 "2022-02-24T05:21:03Z")

</div>

Help me get a working perpetual testchain up and I’m happy to pay out the bounty. 🙂

> <https://twitter.com/j84woodard/status/1496396244008292352>
>
> Tezos Agora @TezosAgora

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [February 25, 2022, 1:03am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/5 "2022-02-25T01:03:06Z")

</div>

Upping my bounty from 200 xtz to 250 xtz or $1000 worth of xtz, whichever is greater at the time.

Please ask publicly or privately for details.

---

<div class="post-metadata">

### Author: ![elric1](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/elric1/32/1510_2.png) [@elric1](https://forum.tezosagora.org/u/elric1)
#### Post date: [February 25, 2022, 5:38pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/6 "2022-02-25T17:38:36Z")

</div>

I agree that this proposal will improve the testnets. I would like to make a small suggestion, though, of naming conventions. I don’t think that this feature is limited in use to test networks. I think that a company that deploys a private chain might also use this feature. As such, I would suggest that the “testnet\_” prefix should be removed from the parameter name.

---

<div class="post-metadata">

### Author: ![sophia](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/sophia/32/981_2.png) [@sophia](https://forum.tezosagora.org/u/sophia)
#### Post date: [March 2, 2022, 5:29pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/7 "2022-03-02T17:29:49Z")

</div>

Your implementation differs from this part of the specification in the TZIP:

> The protocol where this mechanism is injected contains special constant migration code, which sets the dictator key to a key managed by Oxhead Alpha when the chain identifier is `NetXnHfVqm9iesp`, the chain id of Ithacanet (or, if this proposal is accepted later, the relevant network at the time). For mainnet and any other chain, this variable remains unset. This special constant migration code can be removed in future protocols.

Instead, you set the dictator key to `None` in migration. I think this is preferable because on top of checking the chain\_id it’s impossible for mainnet to even have a dictator key set. However, it would require restarting a testnet with this protocol and the dictator key in the `parameters.json`.

---

<div class="post-metadata">

### Author: ![nicolasochem](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/nicolasochem/32/544_2.png) [@nicolasochem](https://forum.tezosagora.org/u/nicolasochem)
#### Post date: [March 10, 2022, 5:58am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/8 "2022-03-10T05:58:43Z")

</div>

@G_B_Fefe there is no other implementation. I am using your implementation as a basis for this proposal.

I had a chance to build and test the most recent commit from your branch and it appears to work. [Here is my writeup on the tests that I ran](https://gist.github.com/nicolasochem/28eed695ec9b20bf45dd8a0395477ef3)

I have updated the tzip to [version 1](https://gitlab.com/tezos/tzip/-/blob/eadba95eaf488606ee918c746d9a10c0b2892acd/drafts/current/draft-testnet-admin-key.md) with the following changes:

- clarify that the goal of the improvement is to prevent the testnet tokens from having value
- rename `testnet_governance_dictator_source` to just `governance_dictator_source` per @elric1 , since this mechanism may be useful to private chains as well as testnets
- reference the current implementation and tests
- add oxhead’s public key hash for ithacanet migration
- add a new security consideration per feedback

@sophia wrote:

> Your implementation differs from this part of the specification in the TZIP:  
> Instead, you set the dictator key to `None` in migration. I think this is preferable because on top of checking the chain\_id it’s impossible for mainnet to even have a dictator key set. However, it would require restarting a testnet with this protocol and the dictator key in the `parameters.json` .

@sophia you are right, we would have to start a testnet if we don’t write migration code for testnets that already exist. Let’s not forget that we always start the testnet for protocol N with protocol N-1 in order to test migration, so it would be prohibitively long to wait for this permanent testnet to exist in the absence of migration code.

@G_B_Fefe The migration logic is now clearly specified in the new version of the TZIP. May I ask you to implement it? I have specified the public key hash for the ithacanet dictator key. Also, in your implementation, please change the parameter to the new name `governance_dictator_source`

Regarding the question on whether the “if not mainnet” logic is useful as a second security layer, I am in favor of keeping it (since you already wrote it) hence I left it in the tzip v1.

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [March 22, 2022, 5:23am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/9 "2022-03-22T05:23:50Z")

</div>

@G_B_Fefe when the merge is accepted I am happy to pay out the bounty in full, to you. Currently that is 250 Tez.

Thank you for the work you have put in thus far.

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [March 23, 2022, 4:15pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/10 "2022-03-23T16:15:47Z")

</div>

@G_B_Fefe

[![](https://forum.tezosagora.org/uploads/default/original/2X/0/0f2484e9e97da5f33d9135e7890731c4f8017d8f.jpeg "PLAYER "BABY COME BACK" 1977") ](https://www.youtube.com/watch?v=f4uSzrsOQr8)

---

<div class="post-metadata">

### Author: ![G\_B\_Fefe](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/g/57b2e6/32.png) [@G\_B\_Fefe](https://forum.tezosagora.org/u/G_B_Fefe)
#### Post date: [April 4, 2022, 5:46pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/11 "2022-04-04T17:46:37Z")

</div>

@JarrodWoodard

[![](https://forum.tezosagora.org/uploads/default/original/2X/1/1894d61701bb9bd2aabd0f710956bfcedeac4104.jpeg "Mariah Carey Never Too Far Away") ](https://www.youtube.com/watch?v=MWoIO_hjvos)

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [July 18, 2022, 4:19pm UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/12 "2022-07-18T16:19:27Z")

</div>

My dear @G_B_Fefe I owe you some Tezos. Would you be okay sharing an address publicly so I can prove I honored my bounty? You’re welcome to message me in private with an address if you’d prefer, if so, I would appreciate it if you’d confirm here that I have paid out the bounty.

Thank you for your hard work!!!

---

<div class="post-metadata">

### Author: ![JarrodWoodard](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/j/c6cbf5/32.png) [@JarrodWoodard](https://forum.tezosagora.org/u/JarrodWoodard)
#### Post date: [July 22, 2022, 10:02am UTC](https://forum.tezosagora.org/t/new-tzip-draft-testnet-admin-key/4340/13 "2022-07-22T10:02:47Z")

</div>

@G_B_Fefe it has been brought to my attention that you included the address ‘tz1X81bCXPtMiHu1d4UZF4GPhMPkvkp56ssb’ as an invoice address on one of your merge requests.

I will pay the bounty out to that address.

Done — [tz1X81bC..p56ssb on tzkt.io](https://tzkt.io/tz1X81bCXPtMiHu1d4UZF4GPhMPkvkp56ssb/operations/)
