byzantine stake
Using fresh data for stakeglobal ≈ 0.00M SOL and SOL/USD = , updates every 15min.
Motivated by my participation in Turbin3 Q3 Research Cohort, and inspired by Chorus One's Alpenglow research report section 2.1.
TL;DR
Despite 5f+1 being 50% cheaper to attack than 3f+1 and 75% cheaper than 2f+1 : it's still unprofitable.
| 2f+1 | 3f+1 | 5f+1 |
|---|
| SOL cost | ≈ 0.00 M SOL | ≈ 0.00 M SOL | ≈ 0.00 M SOL |
| USD cost | $ 0 B | $ 0 B | $ 0 B |
| stakeglobal | +100% | +50% | +25% |
Assumptions
Attacker has no SOL, buys at market price, doesn't take SOL from stakeglobal, and can add stakebyzantine to stakeglobal without limitations.
In a real world scenario, an attacker could get better rates with OTC trades; steal SOL from, or collude with part of stakeglobal, and will encounter limitations when adding
stakebyzantine to stakeglobal in large amounts.
5f+1
5f+1 byzantine fault tolerance (min. 80% correct nodes) means the network can't preserve integrity if :
stakebyzantine>51(stakeglobal+stakebyzantine)
stakeb resolves to 41⋅stakeg because attacker adds stakeb to stakeg :
stakeb5⋅stakeb4⋅stakebstakeb>51(stakeg+stakeb)>stakeg+stakeb>stakeg>41⋅stakeg
In a 5f+1 setup with stakeg ≈ 0.00M SOL, attacker has to add stakeb ≈ 0.00M SOL ($ 0 B) to the network to degrade its
integrity or liveliness, resulting in a +25% change to stakeglobal.
3f+1
3f+1 byzantine fault tolerance (min. 66% correct nodes) means the network can't preserve integrity if :
stakebyzantine>31(stakeglobal+stakebyzantine)
stakeb resolves to 21⋅stakeg because attacker adds stakeb to stakeg :
stakeb3⋅stakeb2⋅stakebstakeb>31(stakeg+stakeb)>stakeg+stakeb>stakeg>21⋅stakeg
In a 3f+1 setup with stakeg ≈ 0.00M SOL, attacker has to add stakeb ≈ 0.00M SOL ($ 0 B) to the network to degrade its
integrity or liveliness, resulting in a +50% change to stakeglobal.
2f+1
2f+1 byzantine fault tolerance (min. 50% correct nodes) means the network can't preserve integrity if :
stakebyzantine>21(stakeglobal+stakebyzantine)
stakeb resolves to stakeg because attacker adds stakeb to stakeg :
stakeb2⋅stakebstakeb>21(stakeg+stakeb)>stakeg+stakeb>stakeg
In a 2f+1 setup with stakeg ≈ 0.00M SOL, attacker has to add stakeb ≈ 0.00M SOL ($ 0 B) to the network to degrade its
integrity or liveliness, resulting in a +100% change to stakeglobal.
Cost Difference
Comparing 3f+1 to 5f+1
Given 3f+1 attack threshold :
stakeb>31(stakeg+stakeb)⟹stakeb>21⋅stakeg
And 5f+1 attack threshold :
stakeb>51(stakeg+stakeb)⟹stakeb>41⋅stakeg
Δ=41stakeg between 3f+1 and 5f+1 :
Δ=21⋅stakeg−41⋅stakeg=41⋅stakeg
Translates into a 50% cost reduction :
Cost Reduction=21⋅stakegΔ=21=50%
Comparing 2f+1 to 5f+1
Given 2f+1 attack threshold:
stakeb>21(stakeg+stakeb)⇒stakeb>stakeg
And 5f+1 attack threshold:
stakeb>51(stakeg+stakeb)⇒stakeb>41⋅stakeg
Δ=43⋅stakeg between 2f+1 and 5f+1 :
Δ=stakeg−41⋅stakeg=43⋅stakeg
Translates into a 75% cost reduction :
Cost Reduction=stakegΔ=43=75%
Analysis
Despite 5f+1 being 50% cheaper to attack than 3f+1 and 75% cheaper than 2f+1 : it's still unprofitable, and a very costly endeavor.
However, a sharp decrease of stakeglobal, SOL/USD, or increase of Solana TVL could make it profitable.