Thanks @jtolio, this was actually really insightful and explains several things we recently discussed here on the forums. I really appreciate that you’re taking our feedback to heart and making some changes. Like you, I believe in the future of zkSync and I mostly think it just needs some wider adoption to be a great option for everyone.
I had read it at the time. Most of the post reiterated how things are already working though. But while those of us paying attention to the pricing model changes already saw a change in node compensation coming, the changes to held amount/bonus structure mentioned are new. However, there’s basically only a one sentence mention and I’m not entirely sure how to interpret what is said. What I can say is that I’m a fan of the idea that further incentives to remain a reliable node operators don’t stop after the first 9 months. I would love to know a little more about your thoughts of what this bonus model could look like though.
Also, it was mentioned elsewhere, but where the article refers to the community earnings estimator to see potential earnings, it actually calls it the earnings calculator and links to the earnings calculator which doesn’t show potential earnings but calculates a nodes earnings based on its DB’s. I think you meant to link to this one instead. Realistic earnings estimator
When I last looked into this, it was still a manual process. It’s great to see that is no longer the case. However, this method still requires a web3 compatible wallet in order to sign the request and an ether balance on that wallet to pay for the transaction fees. The reason some node operators use an exchange address is primarily to avoid those transaction fees. All that said, I think it’s great that this step no longer requires manual forms.
This isn’t even really the case in many scenarios. This really only applies when node operators use an exchange address for payouts. Of you get the payouts in your own wallet, then moving the tokens around is going to cost you a transaction fee anyway. And you can just move them from L2 to any L1 address for practically the same fee as just moving ERC20 tokens on L1. So in most cases zkSync incurs only a negligibly higher fee to transfer tokens out. And the upside is that that fee can be paid in STORJ tokens, so you don’t have to get Ether to access your earnings. That’s a worthy tradeoff for most.
On to the changes proposed!
I’m really happy to see this. I think the old process risked you paying fees that were way too high AND paid out fewer operators than you could have. This change improves it on both ends. I made a suggestion elsewhere already to possibly further improve this by just ordering the payouts in descending payout amounts. Run the process until it hits the threshold and keep monitoring for lower fees and resume when the gas price drops. You can just keep that running until the 15th (if you want to stick to first half of the month, longer is of course possible too). That will further optimize how many payouts can be sent.
This is of course a little more tricky. I think one of the issues is that currently disqualified nodes were treated the same as gracefully exited ones. I think in case of disqualification, what you are proposing is perfectly reasonable. But in case of a node operator who has been reliable in the past and gracefully shut down their node, it is in their and your best interest to make that payout. First of all, they have to have been around and reliable for at least 6 months in order to start the graceful exit. Second, getting the held amount back is exactly the incentive for node operators to run the graceful exit. If that payout is held, that incentive goes away. And lastly, I’m willing to bet that almost all the really small amounts weren’t cases of graceful exit. I would understand if you still went in the direction you suggested, but I think treating graceful exits a little more leniently might be worth considering.
Thanks again for being transparent and having open conversations with us. It makes me feel like it’s absolutely worth taking the time to provide some in depth feedback on your ideas and keeps me a very happy node operator!
Edit: Just adding some more info. For now I’m staying on L1 payouts for a few reasons. I have notifications set up for transactions on my wallet and I’m not aware of something like that for zkSync transactions. Additionally, I would prefer not to split my tokens over 2 different places which would require 2x transaction fees to transfer. Additionally I make enough to usually be over the threshold, though not this last month. These are all just minor reasons of convenience and when exchanges adopt zkSync I will definitely switch. I believe it’s a good option for most, but just slightly inconvenient for my current situation.