Announcing the first Coin Holder's Straw Poll!

Hey folks, you remember from Andrew Miller’s keynote at Zcon1 that he described how you could do a “coinholder petition” using signmessage? (At the end of his talk.) A “Straw Poll” is a name for a non-binding petition.

I have an idea!

There are a bunch of people who have moved their ZEC into a spending key that they can get a copy of, in order to acquire their YEC at block 570,000.

(Side note: please read this thread if you’re doing that! If you don’t do the steps in the correct order your ZEC may be at risk!)

Well, here’s my idea: if you have a spending key which did contain a lot of ZEC of yours at block 570,000, then you can — at any time later — run signmessage using that spending key and post the resulting signed message, and everyone would be able to verify that your ZEC attested to the message.

So, I propose that we run a Coin Holder’s Straw Poll by having people signmessage things using their Zcash spending key from Zcash block 570,000. Note that it is possible to run signmessage to do this after you’ve moved your ZEC out of that spending key (DC’s Step 2), so you will not be increasing risk to your ZEC by participating in the straw poll. :slight_smile:

This will be an “alpha test” of potential future Coinholder Polling processes. It will be non-binding — it is just an experiment to give information to the community about the opinions of coinholders — but it may start guiding the discussion and may lead to more formal and powerful polling processes in the future.

The opinions of Coinholders are not the only opinions which should count in the community’s collective decisions. Also the opinions of miners, entrepreneurs who use Zcash in their goods and services, advocates and educators and community members who support and promote Zcash, devs who contribute to zcashd, zebra, other open source projects that support Zcash, etc. etc. Our mission to bring economic freedom and opportunity to the whole world, not just to serve coinholders, but coinholders are excellent allies — they are here for the mission, they are have the right incentive alignment, and they are a powerful force for good. So trying to ascertain what coinholders think is not the be-all-end-all of measuring community sentiment, but it is a very valuable data point.

I propose that for the first Coin Holder’s Straw Poll we ask: “Oh Coin Holders! In your esteemed opinion, is it better for NU3 to be codenamed Bloom, Heartwood, Bamboo, Honeybee, Canopy, Vine:slight_smile:


If you are new, please don’t follow these instructions. Please follow these ones I posed and the ones @hloo is about to post on this blog.

This is essential if you intend run a full node and intend to reuse your zcash keys. My post is the correct order to do things. (not correcting you zooko, you suggest the right thing on your timeline, it is just I have put it in an newbie friendly and easy to follow format.) [I have no association with yec or zec, and currently no financial interest until after the fork]

Really cool idea. I will not be able to participate due to personal conflicts of interest, and my moral objections (I have no moral objections to YEC and will mine it after it is launched - I have a problem with chainforks when the chain is over a certain size). I will not be claiming any YEC.

I have put my voice below. fwiw.

Good luck with you poll though. (and thanks for putting the link to heartwood. It is objectively the best name :smiley: (like tardigrades was, I mean c’mon zebras?)


Wait, this doesn’t mean you can’t participate in the Zcash Coin Holder’s Straw Poll! Just signmessage a message saying “I :heart: Heartwood” using your Zcash spending key that has some ZEC at block 570,000!

1 Like

I have converted all my zec into xmr until the fork is complete. I don’t own any zec. So I cant sign anything with a key at block 570,000

I will be back to having a position in zec after the fork though.

LOL. Why did you do this “until the fork is complete”? If you can figure out a way to signmessage a vote for the Zcash NU3 mascot using your XMR, I’d love to know what XMR coin-holders think. :laughing:

P.S. If the reason that you did it “until the fork is complete” is for financial reasons, that’s fine and I don’t have any opinion about your choices there, although I’m curious. If you did it for technical reasons, I’m dying to know what they are.

1 Like

Moral reasons.

To be clear I have no moral issue with YEC. I will be mining I after the fork. (with 2 gpus) I have moral issues with forks, especially after the chain has reached a certain size. I don’t think this thread needs my morality laid out. so I will leave it there.

If you really want my view on the technical stance I have PM’d it to you.

1 Like

Instead of posting the signed message to the forum (which would associated the forum user with the given address used for voting), would it be possible to instead “post” the message to a single “vote tally” Sapling address via the encrypted memo field?

(But this would limit the voting to Sapling addresses.)


The way to make this work using Sapling (I think!) would be to transfer funds into a single-purpose (never previously used) Sapling address, and then submit a transaction with an expiry of block 570,000 (being the last block to be mined in) and selecting an anchor from block 569,999, which sends a zero-value output to the target recipient, and all funds out of the Sapling address (to a second single-purpose address). Then reveal the full viewing key (or possibly just the outgoing viewing key) for the first single-purpose address (not the second, for privacy). The block height window restriction (the transaction can only be mined in a single block) prevents people from creating multiple votes (because they can’t double-spend their funds within a single block), and using a fresh address (which should only be used for public-intended voting) means that only the transaction information for that usage is revealed. The downside to this is that if the transaction doesn’t get mined in the intended block, the vote doesn’t get counted.

Another alternative would be to create such a transaction, but not mine it, instead sending the transaction off-chain directly to some tally service (or posting it in the forum, or…). The fund-sending output would be sent like a change output (going back to the single-use address itself), eliminating the need for managing two such addresses. Using both an anchor and expiry of 570,000 would prevent the transaction from being mined, and would prove existence of the funds at that height. It would also reveal the nullifier corresponding to those funds, which would both ensure the funds were unspent at that height, and prevent a “double-spend” vote (because you’d see two votes with the same nullifier(s) being revealed). This also means that the nullifier could be detected later in chain when the funds are moved away from the address, but that’s not a terrible privacy leak if the tooling for doing this (wallets etc) move the funds out of the single-purpose address shortly after the vote. This could also be done after-the-fact without requiring the user to be online at the exact target block height (as long as the funds were moved into a “voting address” before the target block height), and in fact could be created after the funds have already been moved out of the voting address post-target height.


Taking this in the spirit I think you intended, that of jest and light heartedness.

I now have a 15% bigger position in zec from opting out of the YEC fork. :laughing:

(This was in no way my intention, just happened by complete luck hence the spirit of jesting)


Okay, this process of experimenting and iterating has already delivered its first lesson! I forgot that the simple signmessage approach only works for taddrs, and all my ZEC was in zaddrs as of block 570,000, so now I can’t vote with it. :thinking:

Okay, I have to either wait for a future block, and I’ll unshield some of my ZEC then to vote in the straw poll, or else someone has to implement str4d’s idea for shielded signmessage.

Is anyone else gonna cast their Coin Holder’s Straw Poll vote for a codename for NU3?


I’d be happy to participate. To do this I’ll need a step by step guide on how to make the voting right and not F it up - you also mentioned in your previous post that if done incorrectly it might put the coins at risk.

If anyone has the time to write a guide or a short instruction on how to do the pooling that would be great. If it also contains things we should avoid while following the steps - even better! :slight_smile:

1 Like

Haven’t claimed any ycash

You don’t need to claim any Ycash. The point is many people will have a copy of the ZEC private key used for signing messages for an address at the fork point so they could claim them either now or later.

It’s pretty straightforward to sign a message and see the post here from Andrew Miller Coinholder Petitions using t-Addresses. If you are using zcashd then the format is simply (from the RPC help

zcash-cli signmessage "t14oHp2v54vfmdgQ3v3SNuQga8JKHTNi2a1" "my message"

With Trezor you can sign a message for an address in the wallet interface. I don’t think that’s currently possible with Ledger Live.

Of course, if you simply say publish this to your forum profile you’ll be revealing your balance.


./zcash-cli verifymessage t1QfpmMdnZXG42Gw9VSgUiiKVyZen4HJpT4 IG2wgAEU7iTeYmGay44n+G15OjRmBN8kfM8wcEfPlNIlZ9+qiFgB2VDPUs1g/NeyeR6fa1/uAUa3bU5bqmfDxEU= “I think Bloom is probably the best choice :)”`

(this is a vote, formatted for easy verification!)


Someone sent me a shielded memo and requested that I post this here:

“NU3 should be named Bloom” t1eRojqxyDqyDHZ7VJsZvzkBmqaf32wmpQw ILe94I/pcj2VVmBOfPRypo7l8A10Uvr2SDRN79UpAdNrSmqZQAr1lBECkZizqtN5Y6aMDfNiBrTBOjoDQmDVi8w=

1 Like

So far it looks like two out of two Coin Holders are in favor of Bloom! Looking at and that’s two coin-holders with a total of almost 1500 ZEC!?

I hereby declare that the first Zcash Coin-Holder’s Straw Poll will be over a week from tomorrow — Friday July 2!

I request that Nathan — or whoever is making the decision about what ECC calls NU3 — accept the preference of the Zcash Coin Holders unless they think they really need to over-ride it for some reason!

Nathan: do you agree to do that?


Does the amount of zec make a difference?

I was clearing out some old USB sticks and found 4 separate private keys with virtually no balance. but they do have some balance (on change address so its very very low amounts. does that get me 4 votes for heartwood? or because of the low balance it isn’t as relevant? (I doubt this is the case, but if I only have to beat two votes…)

They are effectively 4 different account at the time of the fork, so 4 votes right?

Out of interest is it the amount of zec in the poll or the number of addresses that participate that is used to form a quorum? (yes I know its a straw poll)

heck, I just realised my brother has like 8 different zaccounts that all had balances at the fork. so is that 12 votes I can cast now?

1 Like

Yes the amounts make a difference as creating addresses is essentially free.

It would be good if there was a Sapling address to send the signed message in a memo too like but that doesn’t seem to exist anymore.


EDIT: wait a tick, so 1 address with 1.5k coins has more or less weight in votes than 1.5k addresses all with 1 coin? ( I cant see a difference) and creating addresses might be free, but putting a balance on them isn’t. can I person who puts 1.6k coins out rank 1.5k people who all put up 1 coin?

I cant create a prefork address tho, or one that had a balance at the time of the fork. but seeing as money matters more I wont bother “voting”. (and zooko you might have to deshiled more of your zec if you want your vote to count.)

that one person who wanted bloom with 1500 zec looks like they have bought their position. Well done them.

Isn’t polling great, yet pointless at the same time.

I don’t like this idea. Can you please qualify what counts as a quorum for this and the zec/account ratio for something to count. It sets a bad precedent. (I know this is a fun thing, but I really don’t like the way it looks)

I am happy with a monarchy,
I am happy with a benevolent dictator,
I am happy with a tyranny of the majority (voting)
but tyranny of the wealthy? isn’t that what we are trying to avoid?


This only works for T addresses correct? So users like me who hold the majority of thier Zcash in a private addresses would not be able to participate?