Гарантыі бяспекі
Гэтая старонка дакладна апісвае, што PiNS гарантуе, а што — не. Дакладнасць тут карысней за супакойлівыя фармулёўкі: моцныя бакі сапраўды моцныя, а разуменне межаў — гэта якраз тое, што дазваляе на іх спадзявацца.
Уласцівасць сістэмы: парушэнні відавочныя
PiNS валодае ўласцівасцю відавочнасці парушэнняў (fraud-evident). Любое парушэнне правілаў альбо ў прынцыпе немагчыма даказаць, альбо публічна бачна кожнаму, хто паглядзіць, — а даныя, патрэбныя каб паглядзець, апублікаваныя, так што для гэтага не патрабуецца ні дазволу, ні садзейнічання аператара.
Варта разумець розніцу паміж дзвюма паловамі сістэмы. Валоданне і пераходы стану забяспечваюцца крыптаграфіяй і проста не могуць быць парушаныя. Усё астатняе ўстанаўліваецца незалежным прайграваннем, дзе адхіленне абвяргаецца адразу ўсімі рэплікамі. Абодва механізмы моцныя — але моцныя па-рознаму, і гэтая старонка прама кажа, дзе дзейнічае які.
Што немагчыма ў прынцыпе
Гэта забяспечваецца матэматыкай. Ніякія дзеянні аператара гэтага не абыдуць.
- Дамен нельга адабраць ва ўладальніка. Любое змяненне стану патрабуе подпісу Ed25519 тым ключом, якога патрабуе аперацыя, і правяраецца ўнутры схемы строгай верыфікацыяй. Рэгістратар не захоўвае ваш ключ і не можа яго падрабіць.
- Імя нельга зарэгістраваць двойчы.
REGпатрабуе доказу адсутнасці, а ўжо існуючае імя такога доказу даць не можа. - Продаж немагчымы па цане, якую прадавец не падпісваў.
BUYпатрабуе, каб заплачаная цана раўнялася выстаўленай, а тая зафіксаваная ў дрэве падпісанай прадаўцом камандайLST. - Корань стану нельга замацаваць без карэктнага доказу. Якарны кантракт у BNB Smart Chain правярае кожны
доказ адносна
programVkey, перш чым прыняць корань. Некарэктны пераход проста немагчыма даказаць. - Схему нельга падмяніць незаўважна.
programVkeyфіксуе канкрэтную скампіляваную праграму. Змяненне аднаго радка мяняе ключ, а змена ключа ў блокчэйне — двухбаковае дзеянне, якое патрабуе ўдзелу і сэквенсара, і ўладальніка.
Што правяраецца назіраннем, а не схемай
Некаторыя ўласцівасці не забяспечваюцца ўнутры доказу, а ўстанаўліваюцца любым, хто прайграе публічныя даныя. Гэта іншы механізм, але не больш слабы вынік: такія ўласцівасці можа праверыць любы назіральнік без усялякага дазволу, і адхіленне бачна адразу ўсім, а не выбраным.
- Уключэнне каманд і іх парадак. Пакеты збірае рэгістратар, значыць, менавіта ён расстаўляе каманды па парадку. Але паколькі пратакольны адрас і ключ прагляду апублікаваныя, кожны незалежны індэксатар выводзіць той жа парадак з самога ланцужка і вылічвае той жа корань. Прапушчаная ці пераастаўленая каманда дае корань, які абвяргаецца ўсімі рэплікамі — адразу і без таго, каб хтосьці спецыяльна яго шукаў.
- Значэнне
end_block_height, якое паведамляе пакет. Яно перадаецца ў публічныя выходныя даныя, а не абмяжоўваецца ўнутры схемы, таму што прайграванне ўжо яго ўстанаўлівае: індэксатар, які прайгравае ланцужок, ведае, які блок пакрываў пакет, так што няправільная вышыня выяўляецца гэтак жа, як любое іншае адхіленне. - Адрасы прызначэння пры вывадзе сродкаў. Сумы выплат, камісіі і абавязкі цалкам правяральныя па апублікаваным ключы прагляду: кожная выплата забяспечана memo з указаннем акаўнта, па якім яна праводзіцца, так што рэестр балансаў можа аднавіць хто заўгодна. Чаго няма ў публічным запісе, дык гэта адраса прызначэння, які ўказаў карыстальнік, — гэты запыт робіцца на сайце. Гэтую частку пацвярджае сам атрымальнік, у якога застаецца падпісаны ім запыт. Гл. Давер і прыватнасць.
Чаму сапраўдная гарантыя — гэта прайграванне
ZK-доказ адказвае на пытанне: пры гэтых уваходных даных — ці былі выкананыя правілы?
Прайграванне адказвае на пытанне: а ці былі гэта сапраўдныя ўваходныя даныя?
На практыцы важнейшае другое пытанне, і крыптаграфія на яго не адказвае — на яго адказвае тое, што рэгістратар публікуе свой пратакольны адрас і ключ прагляду да яго. Дзякуючы гэтаму любы можа расшыфраваць усю гісторыю каманд з самага пачатку, прайграць яе праз індэксатар з адкрытым зыходным кодам і параўнаць карані. Рэгістратар, які адхіліцца ад правілаў, атрымае корань, які абвяргаецца кожнай незалежнай рэплікай.
Менавіта таму публічнасць ключа прагляду — не дэталь. Гэта і ёсць механізм.
Суверэнны rollup, калі казаць дакладна
Структурна PiNS — гэта ZK-rollup:
- Даступнасць даных — кожная каманда жыве ў полі memo транзакцыі PIVX, а плацёж знаходзіцца ў той жа экранаванай ноце, так што намер і аплата звязаныя непарыўна.
- Выкананне — па-за блокчэйнам, у SP1 zkVM.
- Разлікі — BNB Smart Chain захоўвае замацаваны корань і правярае доказы за секунды.
Ад тыповага rollup гэта адрозніваецца тым, што слоем даступнасці даных служыць прыватны ланцужок, таму фраза «уваходныя даныя можа прачытаць любы» патрабуе публікацыі ключа прагляду — што і зроблена.
Як праверыць гэта самастойна
Нішто са сказанага вышэй не трэба прымаць на веру:
- Прайграйце
programVkey, скампіляваўшы генератар доказаў і параўнаўшы вынік з кантрактам. - Прайграйце ланцужок з апублікаваным ключом прагляду праз уласны індэксатар і параўнайце карані.
- Праверце любое асобнае вырашэнне імя доказам Меркла плюс зверкай кораня ў блокчэйне — гл. Праверка доказаў.