Isang mahalagang teknikal na detalye na nakalimutan kong banggitin ay ang proyektong paglipat mula sa Casper FFG patungo sa Minimmit bilang finality gadget.
Para maipaliwanag nang maikli, ang Casper FFG ay nagbibigay ng dalawang-linggo na finality: kailangan ng bawat attester na mag-sign nang isang beses upang “justify” ang block, at muli upang “finalize” ito. Ang Minimmit ay nangangailangan lamang ng isang linggo. Sa pamalit, ang fault tolerance nito (sa aming parametrization) ay bumaba sa 17%, kumpara sa 33% ng Casper FFG.
Sa loob ng mga diskusyon sa Ethereum consensus, laging ako ang nagiging "hawk" sa mga assumptions sa seguridad: pinilit kong makamit ang teoretikal na hangganan ng 49% fault tolerance sa ilalim ng synchrony, patuloy kong sinuportahan ang pagbuo ng gadgets para sa pagbabalik mula sa 51% attack, at nilikha ko ang DAS upang gawing dishonest-majority-resistant ang data availability checks, atbp. Ngunit handa akong tanggapin ang mga katangian ng Minimmit, kahit na masaya ako sa ilang aspeto nito. Sa post na ito, ipapaliwanag ko kung bakit.
Ipakita natin ang eksaktong mga katangian sa seguridad ng parehong 3SF (hindi ang kasalukuyang beacon chain, na sobrang mahina sa maraming paraan, kundi ang ideal na 3SF) at Minimmit.
Ang "synchronous network" ay nangangahulugan ng "network latency na mas maliit sa 1/4 slot o higit pa", habang ang "asynchronous network" ay nangangahulugan ng "potensyal na sobrang mataas na latency, kahit na ilang node ay maaaring offline nang ilang oras". Ang mga porsyento ("attacker has <33%") ay tumutukoy sa porsyento ng aktibong staked ETH.
## Mga Katangian ng 3SF
Kasong synchronous network:
* Ang attacker ay may p < 33%: walang masamang mangyayari
* 33% < p < 50%: maaaring pigilan ng attacker ang finality (sa gastos ng pagkawala ng malaking halaga ng pondo sa pamamagitan ng inactivity leak), ngunit patuloy na lumalaban ang chain nang normal
* 50% < p 67%: maaaring finalize ng attacker ang anumang bagay nang libre, mas mahirap para sa mga mabuting tao na gawin ang minority soft fork
Kasong asynchronous network:
* Ang attacker ay may p 33%: maaaring revert ang finality, sa gastos ng pagkawala ng malaking halaga ng pondo sa pamamagitan ng slashing
## Mga Katangian ng Minimmit
Kasong synchronous network:
* Ang attacker ay may p < 17%: walang masamang mangyayari
* 17% < p < 50%: maaaring pigilan ng attacker ang finality (sa gastos ng pagkawala ng malaking halaga ng pondo sa pamamagitan ng inactivity leak), ngunit patuloy na lumalaban ang chain nang normal
* 50% < p 83%: maaaring finalize ng attacker ang anumang bagay nang libre, mas mahirap para sa mga mabuting tao na gawin ang minority soft fork
Kasong asynchronous network:
* Ang attacker ay may p 17%: maaaring revert ang finality, sa gastos ng pagkawala ng malaking halaga ng pondo sa pamamagitan ng slashing
Sa totoo lang, naniniwala ako na ang huli ay mas magandang tradeoff. Narito ang aking pangangatwiran:
* Ang pinakamasamang uri ng attack ay hindi ang finality reversion, kundi ang censorship. Ang dahilan ay ang finality reversion ay gumagawa ng malaking publiko available na ebidensya na maaaring gamitin upang agad na magkarga ng milyon-milyon ETH sa attacker (hal. bilyon dolyar), samantalang ang censorship ay nangangailangan ng social coordination upang maibsan ito
* Sa parehong mga kaso, kailangan ng censorship attack ang 50%
* Ang censorship attack ay naging *mas mahirap* na i-coordinate kapag ang censoring attacker ay maaaring mag-finalize nang mag-isa (hal. >67% sa 3SF, >83% sa Minimmit). Kung hindi niya kayang gawin, kapag counter-coordinate ang mga mabuting tao, magkakaroon kayo ng dalawang non-finalizing chains na magduduelo nang ilang araw, at maaari mong piliin kung alin. Kung kayang gawin niya ito, wala nang natural na schelling point upang i-coordinate ang soft-forking
* Sa kaso ng client bug, ang pinakamasamang mangyayari ay ang pag-finalize ng isang bugged na bagay. Sa 3SF, kailangan mo lang ng 67% ng mga client na magkaroon ng bug para ito ay ma-finalize, habang sa Minimmit, kailangan mo ng 83%.
Sa pangkabuuan, pinapakita ng Minimmit ang pinakamalaking set ng sitwasyon na "default to two chains dueling each other", at ito ay talagang mas malusog at mas madaling i-recover kaysa sa "nag-finalize ang tamang bagay".
Gusto naming ibigay ang ibig sabihin ng finality. Kaya sa mga sitwasyon ng kakaibahan (kung ano man ay attack o software bug), dapat tayong mas komportable na magkaroon ng mga panahon na ilang oras o araw kung де-finalized ang chain, at lumalaban lamang batay sa fork choice rule. Ito ay nagbibigay sa atin ng oras upang isipin at siguraduhin kung aling chain ang tama.
Bukod dito, naniniwala ako na ang "33% slashed to revert finality" ng 3SF ay sobra. Kung mayroon man halimbawa 15 milyon ETH na staked, iyon ay 5M ($10B) na slashed upang revert ang chain isang beses. Kung mayroon kang $10B, at handa kang mag-commit ng kasamaan na lumalabag sa maraming batas sa pag-hack ng kompyuter sa iba’t ibang bansa, mayroong MALAKING MAS MAHUSAY NA PARAAN upang gamitin ito kaysa mag-attack sa isang chain. Kahit na layunin mo ay sirain ang Ethereum, mayroong mas mahusay na attack vectors.
At kaya kung mayroon tayong baseline guarantee na >=17% slashed upang revert finality (na ibinibigay ng Minimmit), dapat nating ihambing ang dalawang sistema batay dito—at para sa mga dahilan na ipinaliwanag ko sa itaas, naniniwala akong mas mahusay ang Minimmit.