byzantine stake

Using fresh data for stakeglobalstake_{global}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+15f+1 being 50% cheaper to attack than 3f+13f+1 and 75% cheaper than 2f+12f+1 : it's still unprofitable.

2f+13f+15f+1
SOL cost0.00 M SOL0.00 M SOL0.00 M SOL
USD cost$ 0 B$ 0 B$ 0 B
stakeglobalstake_{global}+100%+50%+25%

Assumptions

Attacker has no SOL, buys at market price, doesn't take SOL from stakeglobalstake_{global}, and can add stakebyzantinestake_{byzantine} to stakeglobalstake_{global} without limitations.

In a real world scenario, an attacker could get better rates with OTC trades; steal SOL from, or collude with part of stakeglobalstake_{global}, and will encounter limitations when adding stakebyzantinestake_{byzantine} to stakeglobalstake_{global} in large amounts.

5f+15f+1

5f+15f+1 byzantine fault tolerance (min. 80% correct nodes) means the network can't preserve integrity if :

stakebyzantine>15(stakeglobal+stakebyzantine)stake_{byzantine} > \frac{1}{5}(stake_{global} + stake_{byzantine})

stakebstake_{b} resolves to 14stakeg\frac{1}{4} \cdot stake_{g} because attacker adds stakebstake_{b} to stakegstake_{g} :

stakeb>15(stakeg+stakeb)5stakeb>stakeg+stakeb4stakeb>stakegstakeb>14stakeg\begin{align*} stake_{b} &> \frac{1}{5}(stake_{g} + stake_{b}) \\ 5 \cdot stake_{b} &> stake_{g} + stake_{b} \\ 4 \cdot stake_{b} &> stake_{g} \\ stake_{b} &> \frac{1}{4} \cdot stake_{g} \end{align*}

In a 5f+15f+1 setup with stakegstake_{g}0.00M SOL, attacker has to add stakebstake_{b}0.00M SOL ($ 0 B) to the network to degrade its integrity or liveliness, resulting in a +25% change to stakeglobalstake_{global}.

3f+13f+1

3f+13f+1 byzantine fault tolerance (min. 66% correct nodes) means the network can't preserve integrity if :

stakebyzantine>13(stakeglobal+stakebyzantine)stake_{byzantine} > \frac{1}{3}(stake_{global} + stake_{byzantine})

stakebstake_{b} resolves to 12stakeg\frac{1}{2} \cdot stake_{g} because attacker adds stakebstake_{b} to stakegstake_{g} :

stakeb>13(stakeg+stakeb)3stakeb>stakeg+stakeb2stakeb>stakegstakeb>12stakeg\begin{align*} stake_{b} &> \frac{1}{3}(stake_{g} + stake_{b}) \\ 3 \cdot stake_{b} &> stake_{g} + stake_{b} \\ 2 \cdot stake_{b} &> stake_{g} \\ stake_{b} &> \frac{1}{2} \cdot stake_{g} \\ \end{align*}

In a 3f+13f+1 setup with stakegstake_{g}0.00M SOL, attacker has to add stakebstake_{b}0.00M SOL ($ 0 B) to the network to degrade its integrity or liveliness, resulting in a +50% change to stakeglobalstake_{global}.

2f+12f+1

2f+12f+1 byzantine fault tolerance (min. 50% correct nodes) means the network can't preserve integrity if :

stakebyzantine>12(stakeglobal+stakebyzantine)stake_{byzantine} > \frac{1}{2}(stake_{global} + stake_{byzantine})

stakebstake_{b} resolves to stakegstake_{g} because attacker adds stakebstake_{b} to stakegstake_{g} :

stakeb>12(stakeg+stakeb)2stakeb>stakeg+stakebstakeb>stakeg\begin{align*} \text{stake}_b &> \frac{1}{2} (\text{stake}_g + \text{stake}_b) \\ 2 \cdot \text{stake}_b &> \text{stake}_g + \text{stake}_b \\ \text{stake}_b &> \text{stake}_g \end{align*}

In a 2f+12f+1 setup with stakegstake_{g}0.00M SOL, attacker has to add stakebstake_{b}0.00M SOL ($ 0 B) to the network to degrade its integrity or liveliness, resulting in a +100% change to stakeglobalstake_{global}.

Cost Difference

Comparing 3f+13f+1 to 5f+15f+1

Given 3f+13f+1 attack threshold :

stakeb>13(stakeg+stakeb)stakeb>12stakegstake_{b} > \frac{1}{3}(stake_{g} + stake_{b}) ⟹ stake_{b} > \frac{1}{2} \cdot stake_{g}

And 5f+15f+1 attack threshold :

stakeb>15(stakeg+stakeb)stakeb>14stakegstake_{b} > \frac{1}{5}(stake_{g} + stake_{b}) ⟹ stake_{b} > \frac{1}{4} \cdot stake_{g}

Δ=14stakeg\Delta = \frac{1}{4}stake_{g} between 3f+13f+1 and 5f+15f+1 :

Δ=12stakeg14stakeg=14stakeg\Delta = \frac{1}{2} \cdot stake_{g} - \frac{1}{4} \cdot stake_{g} = \frac{1}{4} \cdot stake_{g}

Translates into a 50% cost reduction :

Cost Reduction=Δ12stakeg=12=50%\text{Cost Reduction} = \frac{\Delta}{\frac{1}{2} \cdot stake_{g}} = \frac{1}{2} = 50\%

Comparing 2f+12f+1 to 5f+15f+1

Given 2f+12f+1 attack threshold:

stakeb>12(stakeg+stakeb)stakeb>stakeg\text{stake}_b > \frac{1}{2}(\text{stake}_g + \text{stake}_b) \Rightarrow \text{stake}_b > \text{stake}_g

And 5f+15f+1 attack threshold:

stakeb>15(stakeg+stakeb)stakeb>14stakeg\text{stake}_b > \frac{1}{5}(\text{stake}_g + \text{stake}_b) \Rightarrow \text{stake}_b > \frac{1}{4} \cdot \text{stake}_g

Δ=34stakeg\Delta = \frac{3}{4} \cdot stake_{g} between 2f+12f+1 and 5f+15f+1 :

Δ=stakeg14stakeg=34stakeg\Delta = \text{stake}_g - \frac{1}{4} \cdot \text{stake}_g = \frac{3}{4} \cdot \text{stake}_g

Translates into a 75% cost reduction :

Cost Reduction=Δstakeg=34=75%\text{Cost Reduction} = \frac{\Delta}{\text{stake}_g} = \frac{3}{4} = 75\%

Analysis

Despite 5f+15f+1 being 50% cheaper to attack than 3f+13f+1 and 75% cheaper than 2f+12f+1 : it's still unprofitable, and a very costly endeavor.

However, a sharp decrease of stakeglobalstake_{global}, SOL/USD, or increase of Solana TVL could make it profitable.