@solostaker:
- Could you expand on the future plans for the VAT? As I understand it SIMD-0257 proposed removing vote fees entirely, greatly reducing the fixed cost for validator operators. Is such a thing possible under the VAT scheme?
We don’t have a concrete plan for VAT in the future. We discussed a few alternatives, and also another post higher up suggests a future VAT plan. We will try to come up with a proposal for a more dynamic VAT, however, that will come completely with its own SIMD. (This is the Alpenglow SIMD, not the “change the economics” SIMD.)
- What is the replacement for blockhash now that PoH is gone? As an ecosystem observer this seems like the biggest double spend attack vector, do we still have the guarantee that transactions cannot be spoofed or resubmitted under the new schema?
We will still have a blockhash, and (unless we write another SIMD about this) we will keep the 150 slot replay security. We we also still have slot numbers. Nothing is changing regarding this.
- Could you expand on Definition 17 from the paper, specifically what is Δtimeout? I see that is is 1Δ + 2Δ, what does this mean in ms? Does Timeout correspond to 400ms as in leader will have less time to build the block? Are there expected changes to Jito auction because of Δtimeout?
We will start with the timeouts exactly defined as in the white paper, i.e. all the Δ = 400 ms, and the timeout being computed accordingly. However, during testing, we might set the timeout a bit lower. We will always make sure that the timeouts are generous enough even in the most far away geographic location.
- What happens to unstaked nodes under Alpenglow? I see in the SIMD you specified that all validators are staked - will unstaked validators still be able to participate to send txs and run RPC queries?
Let us postpone this discussion to the Rotor SIMD. For the moment, nothing changes still we will still operate with Turbine. So unstaked nodes can still get their shreds from Turbine.
- How does section 2.7 work for transactions? “In this case, slices 1,…,t - 1 are ignored for the purpose of execution” - how should I alter my user workflow if this happens? If my user submits a tx and it ends up getting ignored will it be retried? Or should we ask them to resign the tx?
Section 2.7 should not affect your workflow. Section 2.7 makes sure that we can change leaders as efficiently as possible. In 99% of the cases, the leader will anticipate the parent block correctly. Only if the parent changes while sending out the block, the leader will basically restart the block. While technically we do something more advanced, think of it as the leader just scratching whatever they have been doing, and sending out a new block. In other words, if your tx was in the scratched part of the block and it is still valid with the new parent, the leader will just send it out again (in the same position).
- Finally my boomer question, what is the motivation? is it not possible to speed up TowerBFT? Or is there some fundamental flaw in Solana that requires us to switch? I welcome the speedup but this seems like a really risky upgrade that opens us up to a lot of FUD, could you provide some context on why this is necessary - especially now in a bull market with so many eyes on us.
a) There is no security proof for TowerBFT. It’s nice that it works, but Solana needs a protocol which is secure.
b) Alpenglow makes Solana 100x faster (regarding finalization). It is very important that Solana has the best protocol in the market, and Alpenglow will achieve that goal. Ultimately the protocol with the highest adoption (most apps, most txs), the highest security, the highest performance will win. With Alpenglow, Solana will be the top chain in all three metrics.
- To add on to the previous point, what steps are we taking to test this change? It seems on par with The Merge, will there be a parallel chain or will this take place all at once? Are there any auditors that have signed off on this change? Are there any eyes on loss of funds attacks?
We are currently writing a doc how to change from Tower to Alpenglow. We call this AlpenSwitch. We will test this switch extensively. In fact, we plan to switch back and forth between Tower and Alpenglow 1000x on the Testnet before we go to Main. I agree with you that this is similar to Ethereum’s “Merge”, but we plan to not have a parallel chain. We simply switch. We have made an audit on Alpenglow, but not yet on AlpenSwitch.
Thanks for these good questions!