ЕИП-7503: Црвоточине са нултим знањем је предлог за побољшање Етхереума (ЕИП) који уводи механизам за обављање трансфера који чувају приватност на Етхереум-у. Иако смо видели многе напоре да се трансфери на ланцу учине приватним, укључујући мешаче криптовалута као што је Торнадо Цасх, ЕИП-7503 је решење на нивоу протокола које Етхереум подразумевано чини приватним .
Ово је важно разматрање: приступи приватности на нивоу апликације, као што је Торнадо Цасх, су „опт-ин“, што често има негативне импликације за кориснике. Апликације фокусиране на приватност такође су подложније цензури; на пример, многи корисници (посебно грађани САД) нису били у могућности да комуницирају са Торнадо Цасх-ом након што је Канцеларија за контролу стране имовине (ОФАЦ) ставила на црну листу уговорне адресе протокола 2022. године .
Упркос санкцијама ОФАЦ-а, Торнадо Цасх и даље ради из неколико разлога:
Горе наведени фактори значе да су људи и данас у могућности да користе Торнадо Цасх, чак и ако аналитика сугерише да произвођачи блокова на Етхереум-у одбацују трансакције које су у интеракцији са уговорима протокола . Међутим, баш као у данима пре ОФАЦ санкција, није свака трансакција усмерена преко Торнадо Цасх миксер протокола била легитимна. Илустрације ради, чланак Аркхам Интеллигенце-а сугерише да су најмање два напада високог профила у 2023. (експлоатација Еулер Финанце-а од 197 милиона долара и Анубис ДАО-ово повлачење тепиха од 60 милиона долара) била или финансирана средствима повученим из Торнадо Цасх-а, или су украдени миксер користили за лаундер средства и прикривају одлазне трансфере.
С обзиром на то да Торнадо Цасх није решио проблем лоших актера који злоупотребљавају приватност на ланцу, зашто бисмо желели да имплементирамо функцију за обављање приватних трансфера на нивоу протокола? Зар то није ризично ? Зашто је уопште потребно имати приватне трансакције? Нису ли блокчејнови попут Етхереума већ анонимни и „нема у траговима“?
Ово су сва легитимна питања, о којима ћемо расправљати у овом чланку. Пружићемо преглед на високом нивоу о важности финансијске приватности и истражити зашто јавни блок ланци као што је Етхереум не могу гарантовати приватност без уношења измена. Затим ћемо анализирати приступ ЕИП-7503 омогућавању приватних плаћања на Етхереум-у и разговарати о потенцијалним предностима и недостацима усвајања ЕИП-7503.
Хајде да заронимо!
Када говоримо о „приватним трансакцијама“ или „анонимним трансакцијама“ у контексту електронских пеер-то-пеер (П2П) плаћања, описујемо два квалитета: немогућност праћења и неповезаност . Оба квалитета је изнео Ницолас ван Саберхаген у ЦриптоНоте белој књизи :
Не може се ући у траг : трансакцији се не може ући у траг ако спољни посматрач не може поуздано да идентификује пошиљаоца. Претпоставимо да је Алиса пријатељица са Бобом и Керол и Алис прима два токена путем трансфера—немогућност праћења значи да нико не може да каже ко је (Боб или Керол) послао токене Алиси.
Унлинкабле : Трансакција је неповезана ако спољни посматрач не може поуздано да идентификује примаоца. Ако Боб и Керол шаљу токене Алиси у одвојеним трансакцијама, неповезаност значи да нико не може да каже да ли су Боб и Керол послали токене истој особи.
Већина (ако не и сва) решења за приватност на ланцу може се категорисати на основу тога које од горе наведених захтева задовољавају. Миксери криптовалута , ЦоинЈоин и прстенасти потписи првенствено се баве прикривањем информација о адресама за слање и омогућавањем да се средства не уђу у траг. Идентитет пошиљаоца је заштићен коришћењем различитих механизама, али свако може да види ко је примио средства.
За поређење, протоколи усмерени на приватност као што су Монеро , Зцасх , Ликуид Нетворк и Азтец в1 нуде варијанте „заштићених“ или „поверљивих“ трансакција и гарантују неповезаност трансакција. Заштићену или поверљиву трансакцију је тешко повезати са одређеним примаоцем јер се детаљи о адреси примаоца (као и количина и тип пренетог токена) чувају у тајности. Стеалтх адресе су још један приступ очувању неповезаности: корисници генеришу ефемерну (краткотрајну) адресу депозита, блокирајући покушаје повезивања два трансфера на исту адресу.
Горе поменути приступи побољшању приватности трансакција имају јединствене предности и слабости, које ћемо касније укратко истражити. Али, за сада ћемо скренути пажњу на основно питање: „Зашто је финансијска приватност уопште важна?“ Пошто посвећујемо време и труд анализирању предлога за довођење приватних и анонимних трансакција у Етхереум, могли бисмо и да изнесемо образложење за омогућавање приватности трансакција на Етхереум-у.
Финансијска приватност је важна јер је приватност основно људско право . Право на приватност даје сваком појединцу моћ да одлучи које информације жели да дели јавно и задржи контролу над начином, када и где се деле информације које могу да идентификују (ПИИ). „Информације које могу да идентификују особу“ су широка категорија која укључује све информације које се могу користити за откривање идентитета појединца—укључујући детаље о финансијским активностима (нпр. историја куповине, електронски трансфери и зараде).
Испод су неки примери како појединци могу да остваре своја права на (финансијску) приватност:
Ови примери пружају практичне случајеве употребе финансијске приватности, али такође наглашавају детаљ који критичари права приватности често не признају: приватност није нешто што верујемо да нам треба док не буде прекасно. Уобичајено "шта кријеш?" реторт не признаје одређене ситуације у којима укључене стране желе да процуре мало или нимало информација о финансијској трансакцији. Па чак и ако су људи хтели да сакрију ствари из произвољних разлога, зашто им сметати, под условом да њихова жеља за тајношћу не угрожава јавно здравље и безбедност?
Боље је имати, а не требати, него требати, а не имати. ― Франц Кафка
Супротно раним описима заговорника и критичара, јавни блок ланци као што су Етхереум и Битцоин далеко су од анонимних или приватних. Ова два појма се често мешају, али значе две различите ствари:
Приватност значи да се ваше тајне радње могу пратити до вашег јавног идентитета, али су детаљи о вашим радњама скривени. Претпоставимо да шаљете шифровану е-пошту користећи ПГП ( Прилично добра приватност ) алатку: сервери е-поште знају да сте послали е-пошту другој страни (коју се може идентификовати), али не могу да прочитају садржај е-поште. Ово је тајна радња јер нико други не зна да сте послали е-пошту, осим примаоца.
Анонимност значи да су ваше јавне акције одвојене од вашег јавног идентитета. Да користимо претходни пример: хипотетички, пеер-то-пеер анонимни сервис е-поште могао би да прикрије порекло и одредиште шифроване е-поште, истовремено одржавајући јавну евиденцију свих е-порука рутираних кроз мрежу. Ово је јавна акција јер је запис о томе да неко шаље е-пошту видљив сваком учеснику на мрежи, али адресе е-поште су хеш низови ( 0xdeadbeef
), а не имена ( алице@гмаил.цом ).
Етхереум није приватан јер блоцкцхаин одржава евиденцију за сваку трансакцију, укључујући колико је пренесено и које радње на ланцу трансакција је извршила. Етхереум такође није анониман, јер су информације о налозима који обављају трансакције на блокчејну (идентификовани према адресама ) јавне. Можда не користите право име као што је „Алице Хопкинс“ за свој Етхереум налог, али коришћење исте адресе за сваку трансакцију омогућава форензици блокчејна да повеже трансакције са вашим идентитетом у стварном свету – користећи технике као што су праћење ИП адреса , груписање адреса и графикон анализа .
Етхереум је стога тачно описан као псеудоним и не може гарантовати анонимност или приватност. Што је лоше за платформу за коју се очекује да постане слој поравнања за будући Интернет вредности. За контекст, банке већ пружају одређени ниво приватности корисницима тако што чувају финансијске податке у централизованим базама података са строгим механизмима контроле приступа како би се спречио неовлашћени приступ.
Ово је „псеудо-приватност“ пошто банка и провајдер инфраструктуре базе података имају приступ овим информацијама и могу да раде шта год желе са њима (нпр. замрзавање плаћања одређеним земљама ради усклађивања са санкцијама на основу анализе одредишта трансфера). Али у класичном случају „изабрања између ђавола и дубоког плавог мора“, просечан појединац ће вероватно изабрати неку приватност, а не приватност, што искључује отварање Етхереум налога и да свака акција на ланцу буде видљива свету.
Многи су препознали овај проблем, посебно зато што кориснике удаљава од децентрализованих технологија попут Етхереума ка централизованим решењима која нуде нешто боље гаранције приватности на рачун отпора цензури и транспарентности (између осталог). На пример, Виталикова три транзиције пружају одличан аргумент за важност приватности за изгледе Етхереума за масовно усвајање:
Без трећег [прелаза на трансфере који чувају приватност], Етхереум не успева јер је јавно доступност свих трансакција (и ПОАП-ова, итд.) за буквално свако да их види превише велика жртва приватности за многе кориснике, и сви прелазе на централизована решења која бар донекле сакријте своје податке. — Виталик Бутерин
ЕИП-7503 је покушај да се отклоне неки од претходно описаних проблема, посебно недостатак анонимности за пошиљаоце трансакција. Предлог уводи начин да адресе намерно униште Етер (ЕТХ) слањем средстава на непотрошну адресу и генеришу ЗК-СНАРК доказ за аутентификацију депозита на непотрошној адреси. Ако овај доказ прође верификацију, количина ЕТХ токена (једнака са стањем непотрошне адресе) се искује на нову адресу коју одабере корисник – прекидајући везу између адресе за слање и примања која је укључена у трансфер средстава.
ЕИП-7503 позајмљује идеје из постојећих протокола приватности да би омогућио трансакције које чувају приватност на Етхереум-у. На пример, предлог отежава праћење средстава примљених у трансакцији ковања до одређеног извора претварањем читавог скупа Етхереум адреса са ЕТХ салдом и нула одлазних трансакција у скуп анонимности . Не можете лако да идентификујете адресу А која је одговорна за спаљивање ЕТХ-а коју је адреса Б поново исковала у следећој трансакцији: А може бити једна од милиона адреса које имају стање различито од нуле, али нису покренуле Етхереум трансакцију.
Ово је слично идеји мешања средстава из различитих извора у један фонд и омогућавања депонентима да повуку средства из групе користећи другу адресу. Међутим, ЕИП-7503 има предност у поређењу са миксерима криптовалута као што је Торнадо Цасх јер пружа уверљиво порицање . Веродостојно порицање је концепт који ћемо касније истражити, али све што за сада треба да знате је да вам омогућава (кориснику који спроводи приватни трансфер ЕИП-7503) да можете да порекнете да сте икада спровели приватну трансакцију.
Уверљиво порицање је важна карактеристика ЕИП-7503 која спречава спољне посматраче да деанонимизирају пошиљаоце приватних трансакција. Ово може да спречи понављање фијаска Торнадо Цасх-а у којем су одређене адресе стављене на црну листу и ограничен приступ дапп-овима, разменама и ДеФи протоколима јер је форензика на ланцу открила историјске интеракције са Торнадо Цасх-ом — чак и ако су неки од тих налога били у интеракцији са Торнадо Цасх-ом из бенигних разлога (нпр. давање приватних донација).
ЕИП-7503 такође позајмљује од других протокола усмерених на приватност као што су Зцасх и Азтец в1 користећи криптографске доказе за валидацију трансакција без откривања детаља трансакције. Валидација трансакција на начин који чува приватност осигурава да Етхереум може безбедно да подржи приватне трансфере без подривања постојећег безбедносног модела који зависи од дистрибуиране мреже чворова који поново извршавају сваку трансакцију како би потврдили њену исправност. Истражићемо детаље о томе како ЕИП-7503 користи ЗК-СНАРК-ове испод хаубе да подржи безбедно извршење приватних трансфера на Етхереум-у у наредним одељцима (између осталог).
Упозорење *: Упркос разликовању приватности од анонимности, користићу „приватно“ и „анонимно“ наизменично у овом чланку како би ствари биле једноставне и избегао забуну за читаоце који су навикли да ова два концепта мисле као један те исти. Штавише, ЕИП-7503 укључује елементе анонимности (прекидање веза између пошиљалаца и прималаца) и приватности (предложено проширење тренутног предлога ће омогућити корисницима да прикрију износе депозита и повлачења).*
На високом нивоу, ЕИП-7503 ради на следећи начин:
Адреса се не може потрошити ако нико нема приступ приватном кључу потребном за потписивање (важеће) трансакције која се троши из стања. Ово је слично слању средстава на нулту адресу : рачун нема приватни кључ, због чега је свако средство које добије неопозиво или „спаљено“.
Нулта адреса је најбогатији рачун у Етхереуму са више од 280 милиона долара у токенима. Осим неколико несрећних корисника који случајно шаљу средства на нулту адресу, велика већина корисника који шаљу токене послате на нулту адресу или креирају уговор (који захтева постављање нулте адресе као примаоца) или намерно узимају те токене ван промета.
Оригинални стандард ЕРЦ-20 токена не наводи функције за смањење залиха токена, што значи да старији токени као што је ВЕТХ (упаковани етер) немају начина да осигурају да корисници повуку упаковану имовину из оптицаја пре него што повуку оригинални депозит. Међутим, слање ВЕТХ токена на нулту адресу их чини непотрошним и симулира смањење опскрбе ВЕТХ у оптицају сваки пут када се ЕТХ повуче из ВЕТХ уговора омотача. Ако се питате како ВЕТХ одржава однос 1:1 са природним ЕТХ, ту је ваш одговор.
ЕИП-7503 користи сличан механизам како би омогућио корисницима да спаљују ЕТХ и испоручују токене на другу адресу на Етхереум-у са малим заокретом. Уместо да тражи од корисника да пошаљу средства на једну адресу за снимање, ЕИП-7503 захтева од корисника да генеришу јединствену адресу за нарезивање за сваку трансакцију пре него што ископају ЕТХ на другу адресу.
Слање средстава на адресу за спаљивање (креирано према спецификацији ЕИП-7503) је еквивалент бацању готовине у црвоточину — никада се не може повратити. Али можете доказати знање о нечему што је послато у црвоточину користећи ЗК-СНАРК ( З еро- К новледге С уццинцт А ргумент оф К новледге); отуда и термин „црвоточине без знања“.
Доказ о сагоревању је приватан јер корисник само треба да докаже да је послао токене на неупотребљиву адресу А без откривања А у отвореном тексту. Генерисање доказа сагоревања захтева доказивање да је адреса сагоревања заиста непотрошња. Зашто? Тражење од корисника да спале изворни ЕТХ пре ковања нових ЕТХ токена на адресу примаоца обезбеђује паритет (у вредности и заменљивости) обе врсте средстава, ако корисници касније могу да повуку средства са адресе за нарезивање, 1:1 веза између изворног ЕТХ и искованог ЕТХ токени би престали да постоје.
ЕИП-7503 уводи нови тип трансакције у ЕВМ (Етхереум виртуелну машину) који прихвата доказ о сагоревању и примаоца као улазе и кује нове ЕТХ токене на адресу за слање ако је доказ успешно верификован. Да би се спречило ковање ЕТХ двапут за исту трансакцију нарезивања, посебна вредност „нулификатора“ је придодата сваком доказу о сагоревању да би се пратило коришћење адресе.
Ако се ЕТХ послат на непотрошну адресу успешно поново искује, поништавач спречава непоштеног корисника да генерише нови важећи доказ о сагоревању за средства која су претходно послата на адресу (тј. напади двоструког ковања). Важно је да поништавач идентификује коришћену адресу без цурења информација о адреси у отвореном тексту.
Са овим уводом на високом нивоу, сада можемо заронити у детаље ниског нивоа имплементације ЕИП-7503. У наредним одељцима ће се расправљати о кључним детаљима имплементације ЕИП-7503 као што су:
Обична Етхереум адреса је првих 20 бајтова Кеццак256 хеша јавног кључа генерисаног из приватног кључа налога (приватни кључ је цео број генерисан из мнемоничке или почетне фразе). И приватни кључеви и јавни кључеви се генеришу коришћењем алгоритма дигиталног потписа елиптичне криве (ЕЦДСА). ЕЦДСА је сложена тема („сложено“ је мој омиљени еуфемизам за „има пуно математике“), али ево неколико ресурса – рангираних од почетника до стручњака за ову тему:
Јавни кључ се добија множењем приватног кључа (који се скраћено назива тајна или с ) посебном вредношћу „генератора“ Г да би се произвела нова вредност у облику pubKey = privKey * G
Адреса се генерише покретањем јавног кључа кроз Кеццак256 хеш функцију и узимањем првих 20 бајтова хеш низа. У псеудо-математичкој нотацији, операција изгледа овако: A = K(s * G)
, где је А адреса, с је тајни или приватни кључ, а Г је тачка генератора на елиптичкој кривој.
Адреса, јавни кључ и приватни кључ служе веома различитим сврхама:
Последња ставка на листи указује на суптилан детаљ: могуће је потрошити средства која се шаљу на адресу само ако контролишете приватни кључ – то јест, знате приватни кључ који је коришћен за генерисање јавног кључа, из којег адреса је изведена. Ако не знате приватни кључ за адресу или приватни кључ контролише неко други, не можете трошити средства са те адресе.
Како знамо да ли је стање на адреси A
непотрошиво? Можемо почети тако што ћемо насумично изабрати 20-бајтну вредност за A
и искористити посебно својство криптографских хеш** функција познатих као отпор предслика . Једноставно речено, отпор предслика значи да не можемо пронаћи вредност x
тако да је H(x)
(хеш од x
) исти као A
ако је A
изабрано насумично. У псеудо-математичкој нотацији, ово тврђење је облика: H(x) ≠ A
.
A
је слика хеш (излаз хеш функције) и x
је предслика хеш функције (улаз у хеш функцију). Проналажење вредности x
за H(x) = A
је тешко због (а) великог броја могућих целих бројева (б) начина на који се хеш функција манипулише улазима да би се произвео излаз. Дакле, једини начин на који можете да „погодите“ вредност за x
која резултира са A
је ако имате огромну количину рачунарске снаге и довољно времена да прођете кроз огроман број прорачуна да бисте пронашли H(x) = A
Иако ово није ваша класа Цриптограпхи 101, претходно објашњење обухвата кључну особину савремених система криптографије. Својство отпорности предслике хеш функција такође игра кључну улогу у ЕИП-7503: ако је A
насумична вредност од 20 бајтова, имамо разумно уверење да корисник не може да изведе приватни кључ с нема начина да потроши средства са адресе. То јест, немогуће је израчунати A = H(h(s * G)
, где је А адреса снимања, с је приватни кључ или тајна, а Г је тачка генератора (мала напомена: k(s * G)
је еквивалентно x
из претходног става).
Али, ова стратегија није потпуно сигурна. На пример, како можемо да утврдимо да је A
заиста насумичан и да није резултат израчунавања s * G
? Ако корисник бира A
независно, морамо или да верујемо кориснику или да изградимо сложене процедуре за проверу да је A
изабран насумично; ако бирамо A
, не морамо да верујемо кориснику — али постоји занемарљива вероватноћа да ће неко имати среће и тачно погодити x
. Пошто је x = s * G
, ово знање може омогућити кориснику да изведе приватни кључ s
и потроши са адресе која се наводно не може потрошити.
Ово је очигледно неоптимално и наглашава потребу за сигурнијим механизмом за генерисање неупотребљивих адреса. На срећу, криптографске хеш функције имају још једно својство које можемо искористити: отпорност на колизију . Једноставно речено, отпорност на колизију значи да не можете пронаћи H(x) = H(y)
, где су x
и y
различити улази—то јест, израчунавање хешева за различите улазне вредности не може да се „судари“ и да произведе исти резултат.
Отпорност на колизију је важна за спречавање фалсификовања (између осталог): две особе које хеширају два различита улаза увек ће имати различите хеш низове и не може се тврдити да поседује улаз који је познат само другој особи. Друга верзија отпорности на колизију је да не можете пронаћи H1(x) = H2(x)
, где су H1
и H2
из различитих породица хеш функција. Другим речима, израчунавање хеш- x
коришћењем различитих алгоритама хеширања не може да се „судари” и дође до истог излаза.
Да бисмо разумели зашто је то могуће, направићемо један измишљен пример да објаснимо како следеће функције хеш функционишу.
Користићемо измишљен пример да објаснимо како функционишу криптографске хеш функције и колико су важна својства као што су отпорност на колизију и отпорност на нападе пре слике загарантована. Ово објашњење превише поједностављује одређене концепте ради краткоће и приступачности, међутим (прочитајте рад о хеш функцијама ако сте криптограф који тежи):
Алис, Боб, Шерил и Макс припадају ривалским политичким партијама: Алис и Боб су чланови Плаве странке, док Шерил и Макс припадају Црвеној странци. Присталице Плаве странке и Црвене странке желе да деле информације међу собом, а да не одају осетљиве детаље члановима ривалске странке и независно осмисле различите кодове за шифровање порука.
Код Плаве странке познат је као алгоритам са двоструким словом, док Ред Парти користи варијанту која се зове троструки алгоритам. Код је веома једноставан: замењујемо абецеде бројевима када пишемо поруке—сваки број у низу поруке се односи на слово на одређеној позицији абецеде. Бит „шифровања“ долази од начина на који бирамо бројеве за представљање алфабета:
4-30-50
: 4/2 = 2 („Б“ је 2. слово абецеде); 30/2 = 15 („О“ је 15. слово абецеде); 50/2 је 25 („И“ је 25. слово абецеде).6-45-=75
: 6/3 = 2 („Б“ је 2. слово абецеде); 45/3 = 15 („О“ је 15. слово абецеде); 75/3 = 25 („И“ је 25. слово абецеде).
Овај пример користи шифровање за исту поруку, али можемо очекивати да ће људи из Плаве и Црвене странке у пракси размењивати различите поруке (нпр. „Макс је кретен“ (Алице → Боб) и „Чланови Плаве странке су губитници“ ( Шерил → Макс) итд.). Ипак, шифровање исте поруке различитим кодовима је корисно за објашњење отпорности на колизију у криптографским хеш функцијама:
Када је „БОИ“ шифрован коришћењем алгоритма „Доубле Леттер“ Блуе Парти и алгоритма „Трипле Леттер“ Ред Парти, резултати су веома различити ( 4-30-50
и 6-45-75
, респективно). Члан Плаве странке не може да генерише 6-45-75
, осим што користи алгоритам за шифровање Ред Парти; нити члан Црвене странке може произвести 4-30-50
као стринг поруке, осим што користи алгоритам за шифровање Плаве странке. Пошто свака страна чува детаље алгоритма за шифровање, знамо да члан ривалске странке не може да дешифрује поруку која није била намењена њима.
Криптографске хеш функције се разликују од алгоритама за шифровање: хеш функције су једносмерне и немају начин да изводе улазе из излаза, док алгоритми за шифровање попут оних из примера имају кључ за дешифровање улаза у функцију шифровања. Али хеш функције и алгоритми шифровања имају сличности, посебно у области отпорности на колизију. Баш као што нисмо могли да пронађемо исти излаз (шифровану поруку) за један улаз користећи различите алгоритме шифровања, не можемо пронаћи исти излаз (хеш) за један улаз користећи различите функције хеширања.
Можемо да искористимо отпорност на колизију хеш функција да генеришемо доказиво непотрошне адресе за спаљивање средстава како то захтева ЕИП-7503. Прво, тражимо од корисника да изаберу тајну вредност с (приватни кључ за Етхереум налог), израчунају Кеццак256 хеш од s * G
да би добили јавни кључ и хеширали јавни кључ да би добили адресу А. Затим тражимо од корисника да генерише нову адресу Б тако што ће хеширати тајну вредност с другом хеш функцијом означеном као Х и узимајући првих 20 бајтова излаза као адресу.
Наш циљ? Желимо да завршимо са K(x) ≠ H(x)
, где К представља Кеццак256 хеш функцију, а Х представља хеш функцију из друге породице хеш функција. Из разлога перформанси, желимо да Х буде „пријатан за ЗК“ (тј. провера резултата H(x)
унутар кола треба да буде јефтина и брза).
Не можемо знати јавни кључ за Б јер је адреса генерисана насумично уместо да се израчуна Кеццак256 хеш од s * G
(приватни кључ помножен са генератором), што значи да је приватни кључ за Б такође непознат. Ако не знамо приватни кључ за Б , не можемо произвести валидне потписе за поруку која троши остатак Б. Уз доказиво насумичан процес за генерисање непотрошних адреса, сада имамо начин да корисници спале ЕТХ пре поновног ковања средстава.
Како можемо доказати да је одређени корисник послао ЕТХ на адресу која се не може потрошити и да је тај корисник креирао непотрошну адресу? Прва провера је неопходна да би се избегло лажно ковање ЕТХ (не кујемо нове ЕТХ токене осим ако немамо доказ да је корисник претходно спалио ЕТХ), али друга провера је такође важна: морамо да знамо да је адреса креирана од стране корисник—у супротном, захтевали бисмо део информације (нпр. хеш трансакције снимања) да бисмо потврдили да корисник не покушава да затражи депозит друге особе.
Пошто желимо да избегнемо цурење информација о корисниковом учешћу у протоколу приватности, дозвољавамо корисницима да уместо тога креирају доказ без знања који доказује знање о с (тајна вредност хеширана за добијање адресе нарезивања) без јавног објављивања с . Доказ без знања потврђује корисниково знање о адреси Б која је изведена из резултата H(s)
: пошто је с изабран тајно, друга особа не може да израчуна другачију вредност H(x)
тако да је H(s) = H(s)
. Ово је због својства отпорности на колизију хеш функција описаних раније.
Сакривање с спречава злонамерне актере да искористе кориснички депозит тако што подносе доказ који потврђује знање о тајном с (који се користи за генерисање адресе која се не може потрошити) верификатору ЕИП-7503. Овај одељак прикрива зашто смо у могућности да креирамо доказ без знања који доказује H(s) = A
без потребе да верификатор независно израчуна H(s)
. Али можете прочитати Виталикове Квадратне аритметичке програме: од нула до хероја и мој чланак о ЗК-ЕВМ- има за неку позадину о коришћењу ЗК-СНАРК-а за доказивање ваљаности израчунавања без откривања улаза.
Доказ без знања који потврђује корисников трансфер средстава на адресу која се не може потрошити (тзв. адреса сагоревања ) описујемо као „доказ о сагоревању“ или „признаницу о сагоревању“. Доказ опекотина доказује следеће тврдње:
Корисник зна адресу А и тајну вредност с која је хеширана да се изведе А (тј. H(s) = A
). Ово је провера да ли је адреса неупотребљива тако што се потврђује да је А резултат хеширања с са (ЗК-пријатељском) хеш функцијом различитом од Кеццак256 хеш функције која се користи за генерисање трошних Етхереум адреса.
Адреса А има позитиван ЕТХ салдо једнак или већи од б ( b ≥ b'
). Ово је провера да ли је износ који корисник покушава да убаци на адресу примаоца исти као и износ депонован на непотрошној адреси.
Док је доказивање #1 релативно једноставно, доказивање #2 захтева тврдњу одређених ствари о стању Етхереума. Конкретно, морамо доказати да (а) адреса која се не може потрошити постоји у канонском покушају стања Етхереум и (б) да се тражено стање непотрошне адресе подудара са стањем повезаним са адресом у покушају стања. Ово захтева пролазак Меркле доказа за адресу А као улаз у коло које генерише доказ сагоревања.
Мерклеов доказ се састоји од листова Меркле Патрициа Трие (МПТ) потребних за израчунавање путање од листа који покушавамо да докажемо (адреса А ) до корена Меркле покушаја (трие корен је такође део Меркле доказ). Потребан нам је доказ да је корен стања – који се користи за верификацију Мерклеовог доказа – такође канонски, тако да захтевамо од корисника да проследи заглавље блока Б као додатни улаз у коло. Овај скуп информација омогућава верификатору са ограниченим ресурсима да ефикасно провери да ли укључивање адресе А у стање покушава и потврди равнотежу б од А.
Напомена *: Спецификација ЕИП-7503 препоручује извођење Меркле доказа потребног за доказивање укључивања адресе нарезивања у покушај стања и валидацију равнотеже адресе путем* етх_гетПрооф ЈСОН-РПЦ методе уведене у ЕИП-1186 .
Још један улаз у ЗК-СНАРК коло који генерише доказ депозита на непотрошну адресу је поништавач . Нулификатор је вредност која спречава корисника да користи исти доказ о сагоревању да би двапут исковао ЕТХ. Без поништавача, ништа не спречава паметног корисника да поново користи прооф-оф-бурн да повуче ЕТХ више пута: из перспективе чвора који обрађује приватне трансфере ЕИП-7503, ова повлачења су важећа јер се стање непотрошне адресе никада не смањује ( може само да се повећа).
Нулификатор се прослеђује као улаз у коло за доказивање ЗК-СНАРК тако да доказ сагоревања постаје неважећи када се успешно верификује. Ово својство постижемо тако што извлачимо (коришћени) нулификатор из доказа и чувамо га у Спарсе Меркле Трее (СМТ). За разлику од регуларних Меркле стабала која могу ефикасно доказати укључивање елемената, Спарсе Меркле стабла су ефикасна за доказивање неукључивања елемената. Дискусија о СМТ-овима је ван оквира, али претходно повезани чланак пружа одличан преглед за заинтересоване читаоце.
СМТ је користан у овом случају јер ЗК-СНАРК верификациони поступак само треба да провери да ли СМТ искључује поништај који је приложен новом доказу. Ако поништавач није присутан у Спарсе Меркле Трее-у, знамо да корисник није раније користио овај доказ о сагоревању и да повлачи доказиво свеж депозит. Додамо коришћени нулификатор СМТ-у да бисмо пратили адресу нарезивања која се користи за поновно ковање ЕТХ-а без јавног излагања адресе снимања.
Шта би се десило ако бисмо једноставно ускладиштили адресе за нарезивање у Меркле дрво и проверили да адреса из новог доказа о сагоревању није део стабла приликом обраде новог повлачења?
Коришћење обичне адресе за нарезивање као поништавача омогућава спољним посматрачима да потенцијално разоткрију пошиљаоца нарезане трансакције унакрсном провером историје трансакција адресе у односу на листу адреса нарезивања ускладиштених у ланцу. Једном када се адреса сагоревања (неизбежно) појави као прималац у једној од трансакција које је покренуо пошиљалац, свако може да докаже да је особа која контролише налог спалила и поново исковала ЕТХ.
Коришћење хеш адресе спаљене (непотрошње) отежава, али не и неизводљиво, приватно сазнање пренетих средстава. Ово захтева груби напад који израчунава хеш сваке Етхереум адресе која тренутно постоји све док се један од хешова не поклопи са нулификатором ускладиштеним у СМТ-у. Када се открије предслика хеш поништавача (тј. адреса која се не може потрошити), претходно описани кораци могу се применити како би се пратио рачун који је послао средства на дотичну адресу која се не може потрошити.
Овај проблем можемо решити проналажењем сигурнијег механизма за генерисање поништаваца. Стратегија усвојена у тренутној ЕИП-7503 спецификацији је коришћење исте (ЗК-пријатељске) хеш функције за генерисање поништавача Н хеширањем адресе нарезивања са тајном вредношћу с . У псеудо-математичкој нотацији, ово изгледа овако: N = H(A,s)
, где је А адреса која се не може потрошити, а с је тајна вредност која је првобитно генерисала А.
Тајна вредност с је у овом случају описана као со . Ова вредност соли у суштини повећава потешкоће у издвајању информација о адресама сагоревања из поништавача: ако је с било познато, посматрач би могао да изврши напад грубом силом и покрене све могуће комбинације hash(burnaddress,secret)
које производе поништавач N
похрањен на- ланац. Али корисник држи у тајности, што ефективно елиминише могућност проналажења одговарајуће адресе нарезивања за коришћени поништавач.
Сада када знамо које изјаве доказ о спаљивању покушава да докаже, имамо поштену идеју о томе како функционише верификација доказа. За прву изјаву ( h(s) = A
), верификатор треба да „разуме“ логику хеш функције која се користи за генерисање адресе А — тако да зна да је H(s)
заиста једнако А. Кодирање логике хеш функције у верификационом колу такође намеће захтев да се А не може генерисати помоћу хеш функције Кеццак256.
За другу изјаву ( А има позитиван салдо б од ЕТХ), верификатор мора да верификује Меркле доказ који доказује укључивање А у стање Етхереума и потврђује податке налога. Верификатор кола такође проверава да ли је заглавље блока Б из канонског ланца—пре издвајања корена стања—позивањем BLOCKHASH
опкода са улазним block.blockHash(blockNumber)
, где се blockNumber
односи на заглавље блока Б. Ако је Б део канонског Етхереум ланца, hash
који враћа BLOCKHASH
опкод треба да одговара хешу заглавља блока Б.
Поред тога, коло верификатора потврђује аутентичност поништавача укљученог у ЗК-СНАРК доказ корисника и потврђује да поништавач није раније коришћен. Отпорност на колизију хеш функција овде игра помоћну улогу јер спречава покушаје да се генеришу два различита хеша за поништавање Н1 и Н2 за исту комбинацију burn address <> secret value
. Ако корисник може да генерише различите поништаваче за исту адресу, може да удвостручи ЕТХ—без обзира на то да ли Спарсе Меркле Трее чува поништавач за ту адресу или не.
Да би се осигурало да докази сагоревања могу бити верификовани од стране предлагача блокова, ЕИП-7503 предлаже модификацију ЕВМ-а за имплементацију подршке за верификацију ЗК-СНАРК доказа. Аутори ЕИП-7503 су тестирали одрживост имплементације ин-ЕВМ верификације доказа сагоревања креирањем верзије ЕВМ-а са омогућеном ЕИП7503 коришћењем Поларис ЕВМ оквира. Можете посетити ГитХуб спремиште посвећено пројекту за више детаља о дизајну протокола.
ЕИП-7503 уводи нови тип трансакције који кује ЕТХ за корисника који успешно докаже да је депоновао одређени износ на адресу која се не може потрошити. Пошиљалац трансакције подноси ЗК-СНАРК доказ (заједно са поништачем), а мрежа врши прелаз стања који ажурира стање адресе за повлачење (након верификације доказа о сагоревању).
Иако ЕИП-7503 пружа веродостојно порицање, корисници се подстичу да избегавају плаћање за трансакције ковања средстава са исте адресе која је послала ЕТХ на адресу за снимање. Ако Алиса пошаље ЕТХ на адресу 0xm00la
која се не може потрошити и касније пошаље трансакцију у којој се плаћа исти износ ЕТХ који ће бити искована на посебан рачун, Боб не мора да буде Џими Неутрон да би повезао Алису са оригиналном трансакцијом снимања.
Претходни одељци то не помињу, али требамо да корисници укључе другу адресу Б (која ће примити ЕТХ од трансакције ковања) као јавни улаз у коло провера ЗК-СНАРК. Ово спречава потенцијалне крајње случајеве да поштени корисници добију предност док трансакције ковања чекају у мемпулу.
Подсетимо се да верификатор не проверава идентитет адресе за слање и намерно избегава захтев да зна да ли иста адреса на којој је спаљен ЕТХ такође откупљује ЕТХ у трансакцији ковања. Ово је сјајно из перспективе приватности јер значи да корисници могу поново да испоручују ЕТХ са свеже генерисаном адресом — али повећава ризик од напада испред себе. Пошто доказ кодира све неопходне информације потребне за пролазак верификације (укључујући познавање тајне вредности с ), свако може послати копију трансакције ковања која има исти доказ, али другачију адресу за примање искованог ЕТХ-а.
Срећом, можемо да захтевамо да доказ о спаљивању референцира адресу за повлачење Б и примени правило у облику: „трансакција ковања може само исковати ЕТХ на адресу екстраховану из прооф-оф-бурн“. Еквивалентност између адресе прослеђене као јавни улаз у ЗК-СНАРК коло и адресе наведене у трансакцији ковања проверава верификатор. На тај начин, сваки корисник је сигуран да нико не може подићи њихову трансакцију са доказом из мемпула и украсти њихово повлачење.
ЕИП-7503 пружа једноставан начин за кориснике Етхереума да померају средства без (ненамерног) стварања везе између адресе за слање и примање. Можете послати ЕТХ из једног новчаника на новогенерисану адресу која се не може потрошити и повући у други новчаник тако што ћете обезбедити доказ о сагоревању и поништај у сврху верификације. За спољног посматрача, постоји тачно нула корелација између ЕТХ налога који сагорева и ЕТХ налога.
Ивица се може појавити ако корисник спали ЕТХ у једној трансакцији и одмах унесе ЕТХ на нову адресу: стручњак за анализу на ланцу може брзо закључити да иста особа мора да контролише обе адресе. Међутим, ЕИП-7503 има моћну функцију за спречавање деанонимизације: веродостојно порицање . Ево дефиниције уверљивог порицања из Политичког речника :
Веродостојно порицање је могућност порицања било каквог учешћа у незаконитим или неетичким активностима, јер не постоје јасни докази који би доказали умешаност. Недостатак доказа чини порицање веродостојним или уверљивим. — Политички речник
Уверљиво порицање је потекло из мрачног света операција ЦИА, где би званичници порицали да су унапред знали о акцијама које су извели подређени. Недостатак папирног трага – јавно доступног записа догађаја – значио је да су се високи званичници могли одрећи теренских оперативаца и избјећи одговорност за исходе акција оперативаца (избјегавајући масовне ПР катастрофе).
Уверљиво порицање има слично значење у контексту обављања приватних трансфера коришћењем ЕИП-7503. Претпоставимо да ваш „главни новчаник“ сагоријева 1.365 ЕТХ, а ваш „секундарни новчаник“ убрзо након тога кује 1.365 ЕТХ. Ако ваша операција привуче пажњу претераних трагача на ланцу, можете само да тврдите да је неко други ковао 1.365 ЕТХ да би изгледало као да завршавате приватни трансфер.
А шта ако вам се постави питање попут: „Зашто бисте слали ЕТХ на адресу без намере да тајно преносите новац?“ Можете тврдити да се трансакција догодила грешком — на крају крајева, нико не може порећи да су људи који праве грешке у куцању на адресама примаоца изгубили страшну количину ЕТХ (чак сам и ја направио ту грешку). Ово окреће цео разговор наопачке, јер ко други осим појединца хладног срца не би саосећао са губитком велике количине ЕТХ?
Ово је помало тривијалан пример који показује важност ЕИП-7503: веродостојно порицање осигурава да редовни корисници Етхереума могу да изврше приватне трансфере без откривања било каквих конкретних информација које би могле да сугеришу умешаност у протокол о приватности. За разлику од протокола приватности на нивоу апликације, ЕИП-7503 избегава чување трагова трансакција у ланцу и отежава повезивање трансакција нарезивања и наношења података са стварним идентитетима.
ЕИП-7503 не пружа потпуну анонимност и приватност јер се информације о преносу средстава на адресу за спаљивање—укључујући пренете износе—бележе на ланцу. Али могућност да се прекине веза између адреса за слање и примање у трансакцији је прилично моћна и смањује забринутост око поновне употребе адресе.
Уместо да користи исту адресу за примање уплата, корисник може да генерише нову адресу и тражи да се средства пошаљу на ову адресу. Пошто корисник зна о тајној вредности с , може да генерише важећи доказ о сагоревању који демонстрира контролу над креирањем адресе нарезивања верификатору на ланцу и „повуче“ депозит тако што ће унети ЕТХ на другу адресу . Ово је прилично слично концепту генерисања скривене адресе за примање трансфера и смањује шансе за повезивање различитих трансакција са истим ентитетом.
Можемо видети како приватни трансфери у стилу ЕИП7503 могу бити корисни у другим сценаријима:
ЕИП-7503 се такође може користити из разлога који нису везани за приватност :
ЕИП-7503 пружа једноставан пут ка очувању приватности трансакција на Етхереум-у без потребе за опсежним модификацијама протокола. Конкретно, ЕИП-7503 ће омогућити Етхереуму да понуди приватност трансакција без суочавања са проблемима који се суочавају са другим блоцкцхаин-овима који су фокусирани на приватност као што су Зцасх и Монеро.
Иако сам раније писао у одбрану кованица за приватност , није потребно много да се види да кованице приватности као што су ЗЕЦ (Зцасх) и МНР (Монеро) не могу постићи циљ увођења децентрализованог, приватног и употребљивог новца у глобалну економију . Са регулаторним притисцима који присиљавају берзе да уклоне кованице приватности, власницима ће бити све теже да искористе предност приватности коју нуде Зцасх, Монеро и други протоколи који су експлицитно дизајнирани да сакрију информације о трансакцијама у стварном свету. Овај одломак из Хасееба КуресхијаЗашто кованице за приватност нису скинуле пружа добар увод у изазове са којима се данас суочавају „хардцоре“ пројекти приватности:
Кованице за приватност су увек биле прва мета за регулаторне инквизиције. Када се регулаторима налаже да „немоју само да стоје ту, већ да ураде нешто“, најлакши боогеиман је тајни новчић за приватност. Што се тиче регулаторне стране, видели смо мноштво укидања кованица због приватности у Јужној Кореји , Јапану , Великој Британији . и САД . Владе непрестано покушавају да стегну омчу на кованицама приватности (погледајте овде , овде и овде ).
Крипто лобији су постали већи; огроман део малопродаје и многе институције сада поседују БТЦ и ЕТХ. Али врло мало институција је спремно да стане у одбрану кованица приватности. Уместо да допусте да цела индустрија буде окаљана, многи су задовољни тиме што ће кованице за приватност допустити да постану жртвено јагње. — Хасееб Куресхи ( Зашто кованице за приватност нису полетеле )
ЕИП-7503 се осећа као да је дошао у правом тренутку у еволуцији Етхереума: са више корисника од било ког блоцкцхаина и великом количином институционалних улагања, мање је вероватно да ће Етхереум доживети исту судбину као и други пројекти који су покушали да обезбеде функционалност приватног плаћања у прошлости. Да ли ће неколико берзи ограничити трговање Етером ако почну да круже приватно исковани ЕТХ токени? Можда. Али десетак других размена би било веома срећно да преузму ту одговорност - тако изгледају јаки мрежни ефекти .
Зашто кажем да је ЕИП-7503 стигао у право време? Било је времена у историји Етхереума када је подршка приватности на основном слоју била нешто што су сви сматрали да треба одмах учинити. Али други у заједници (с правом) су истакли потенцијалне крајње случајеве повезане са промовисањем Етхереума као „технологије приватности“. Ево одломака из старе теме на форуму Етхереум Магицианс у којој се расправља о потреби за повећаном приватношћу на Етхереуму:
Грифитове интуиције су углавном биле тачне у наредним годинама, при чему су се многе криптовалуте са подразумеваном приватношћу суочиле са изгледом да постану маргиналне валуте које користе само тврдолинијашки шиферпанкери (група која чини мање од 0,00001% светске популације). За поређење, вредност и свеприсутност Етера (ЕТХ) само су порасли до тачке у којој је „гурање ка технологији приватности“ усвајањем ЕИП-7503 мање ризично него пре пет година.
Ако имплементирате надоградњу за подршку приватним трансферима—можда да бисте избегли обрнуто регулаторно хватање или минимизирали сложеност основног слоја. Погодна алтернатива је да се одговорност за имплементацију ЕИП-7503 пренесе на Етхереум Л2с и Л3с. С обзиром на Етхереум -ову мапу пута која је усредсређена на збирни пакет , имплементација ЕИП-7503 на збирни пакет има смисла и још увек чува циљ заштите приватности у Етхереум-у (нпр. слично збирним пакетима који примењују ЕРЦ-4337 за апстракцију матичног налога).
Овај приступ имплементацији ЕИП-7503 је лакши јер сваки Л2 ланац већ има уговор о премошћивању који испоручује ЕТХ за кориснике на Л2. Са механизмом за ковање ЕТХ токена на месту, збирни пакети треба да додају само компоненте за складиштење поништаваца у ланцу и генерисање/верификацију доказа сагоревања да би подржали приватне трансфере у стилу ЕИП7503. Пример ланца слоја 2 (Л2) са плановима за интеграцију ЕИП-7503 у своју инфраструктуру је Таико као што је описано у овом Захтеву за коментар (РФЦ).
Овде видимо да протокол као што је Таико може да понуди приватност трансакција - без обимних размена у својој инфраструктури - усвајањем ЕИП-7503. Ово има кључну предност за протоколарне тимове који не желе да изграде Л2 у пуној мери фокусиран на приватност (а ла Азтец в2 ), али желе да корисницима пруже основну немогућност праћења и неповезивања. Предлог Нетхерминд тима за имплементацију ЕИП-7503 на Таико вреди прочитати да бисте стекли представу о томе како ЕИП-7503 може да се имплементира помоћу Етхереум Л2.
ЕИП-7503 такође балансира потребу за приватношћу са усклађеношћу са прописима, што је у складу са циљем Етхереум-овог покрета „приватност 2.0“: чување приватности корисника, истовремено осигуравајући да лоши актери не могу да искористе инфраструктуру приватности у зле сврхе. Према имплементацији ЕИП-7503 описаној у Етхереум Ресеарцх-у, збирни пакети који усвајају ЕИП-7503 могу спречити понављање проблема Торнадо Цасх тако што селективно забрањују познатим хакерима и преварантима да перу средства користећи приватне трансфере.
Да бисмо постигли ово својство, захтевамо од корисника да проследе листу адреса са црне листе ( blacklist[]
) као улаз у коло које генерише ЗК-СНАРК доказе о трансакцијама сагоревања. Коло проверава да адреса корисника који прима ЕТХ није део адреса ускладиштених на црној листи када генерише доказ о спаљивању—пренос на адресу на црној листи аутоматски неће успети јер коло не може да генерише доказ ако је улаз не испуњава све услове ваљаности.
Одржавање регистра адреса са црне листе уводи степен централизације и потенцијалне векторе цензуре. Али ако прихватимо да је саморегулација вођена од стране заједнице боља од централизоване регулације одозго на доле, такви уређаји да би се осигурала усклађеност са прописима могу бити неопходни.
Транспарентност је један од камена темељаца ДАО (децентрализованих аутономних организација): за разлику од традиционалних организација где су детаљи о финансијској накнади сакривени од инвеститора и заинтересованих страна, уплате доприноса у ДАО се јавно евидентирају у ланцу. Овај ревизијски траг на ланцу пружа значајну количину одговорности и у великој мери смањује асиметрију информација која може довести до лошег финансијског управљања од стране ДАО администратора.
Међутим, ДАО ће неизбежно сазрети и почети да функционишу као корпорације (у добру и злу) – у том тренутку ствари попут чувања детаља о надокнади доприноса приватним могу постати пожељне. ЕИП-7503 обезбеђује инфраструктуру која је потребна за ДАО да почну да врше приватне исплате главним даваоцима, програмерима и независним уговарачима. У свим случајевима, прималац треба само да генерише адресу за снимање да би примио уплате и повукао на изабрану адресу.
Како ће чланови ДАО-а држати администраторе одговорним ако се спроводе плаћања приватних доприносиоца/извођача? Ово зависи од нивоа приватности који ДАО тражи и који ниво прикривања чланови ДАО-а могу толерисати. На пример, да би доказала да је АлицеДАО заиста исплатила 20 ЕТХ Алиси за ДАО рад и да новац није употребљен у алтернативне сврхе, Алице може да пружи доказ који показује да је генерисала адресу која се не може потрошити.
На пример, Алиса може открити приватни кључ који се користи за креирање адресе која се не може потрошити. Пошто је адреса која се не може потрошити поништена након операције ковања, Алиса може открити с без икаквог ризика. Верификатор треће стране ће извести адресу која се не може потрошити хеширањем с користећи исту криптографску хеш функцију коју је Алиса у почетку користила и упоредиће обе адресе. Ако се подударају, верификатор зна да је Алиса имала приступ адреси за снимање у време када је трансакција послата. Међутим, не зна коју адресу је Алиса користила за примање искованих ЕТХ токена (чувајући Алисину приватност у извесној мери).
Коришћење миксера као што је Торнадо Цасх за прекидање веза између адреса новчаника је проблематично јер ствара облик кривице по удруживању . Имајте на уму да миксери обезбеђују анонимност мешањем средстава која су депоновали различити корисници у један фонд из којег свако може да се повуче без потребе да пружи било коју другу информацију осим доказа за потврду аутентичности историјског депозита.
Што је више средстава распоређено у фонд за приватност, спољном посматрачу је теже да закључи ко је шта власник; ако се лоши актери придруже групи, поштени учесници можда несвесно помажу криминалцима да перу новац доприносећи постављању анонимности протокола. Ово је вероватно разлог зашто су се ОФАЦ-ове санкције прошириле (и још увек се проширују) на адресе које су биле у интеракцији са Торнадо Цасх-ом, чак и ако те адресе нису повезане са познатим лошим актерима (нпр. пхисхинг банде, хакери које спонзорише национална држава и црни шешир експлоататори).
Миксери попут Торнадо Цасх-а такође стварају проблем са заменљивошћу: жетони повучени из миксера могу постати „упрљани“ и немогући за коришћење или размену 1:1 са „чистим“ токенима који нису прошли кроз миксер. Постоји сјајна тема на Реддиту која детаљније расправља о проблему оштећених средстава, коју препоручујем да прочитате. Ево неких просветљујућих коментара из те теме:
Ово може имати последице у стварном свету: на пример, многи појединци високог профила у Етхереум заједници нису у могућности да комуницирају са неким дапп фронтендовима након што су њиховим новчаницима послате нежељене количине ЕТХ из Торнадо Цасх фонда. ЕИП-7503 је описан као „без уговорни миксер“ и заобилази горе поменуте проблеме коришћењем редовних ЕОА-то-ЕОА трансфера за сагоревање ЕТХ-а и увођењем директног ковања да би се олакшало повлачење из скупа анонимности (у односу на коришћење паметног уговора).
Још једна предност миксера без уговора је величина скупа анонимности. Са Торнадо Цасх-ом (и сличним протоколима као што је Раилгун ), скуп анонимности је мањи — у корелацији са бројем учесника — и временом се смањује. Насупрот томе, ЕИП-7503 претвара цео скуп адреса које се могу потрошити и које се не могу потрошити на Етхереум-у у скуп анонимности. С обзиром на велики адресни простор, са сигурношћу се може рећи да истражитељи у ланцу који намеравају да сазнају одакле долази ЕТХ послат примаоцу приватног трансфера имају тежак посао пред собом.
Испод су неки потенцијални недостаци имплементације ЕИП-7503:
Иако претходне анализе сугеришу да је мало вероватно да ће Етхереум доживети исту судбину као Монеро и Зцасх ако почне да подржава приватне трансфере, немогуће је заправо предвидети шта ће се догодити ако се ЕИП-7503 активира. Ево коментара учесника на нити Етхереум Магицианс који расправља о импликацијама за регулаторе:
Иако је природно решење за приватност за Етхереум, заједница почиње да признаје важност ходања по конопцу између приватности/анонимности и усклађености са прописима након последица санкција усмерених на Торнадо Цасх. Ова идеја посебно утиче на дизајн нове генерације протокола приватности као што су Приваци Поолс и Ноцтурне :
Пулови приватности омогућавају корисницима да генеришу „доказ невиности“ који потврђује искључење њиховог депозита из скупа који чува депозите лоших актера. Другим речима, корисник може да ступи у интеракцију са миксером и каже „Не помажем криминалцима и терористима да перу новац.“
Ноцтурне планира да пређе на протокол за доказ невиности, али тренутно примењује неколико заштитних ограда како би гарантовао поштовање . Ово укључује филтрирање депозита, кашњења у обради депозита, ограничења стопе по адреси и глобално ограничење стопе које ограничава укупну вредност депозита које протокол може да обради у једном дану.
Паметна решења за приватност заснована на уговорима као што су Ноцтурне и Приваци Поолс су способна да имплементирају детаљне контроле и селективно искључују кориснике за које се сматра да су укључени у незаконите активности. Решења за приватност унутар протокола као што је ЕИП-7503 су недискриминаторна — пожељна карактеристика која би, међутим, могла да створи проблеме и отвори врата лошим актерима да злоупотребе функционалност приватних трансакција.
(теоретски) је могуће побољшати ЕИП-7503 додавањем гаџета за црну листу који је претходно описан, али ово ће вероватно отворити Пандорину кутију проблема:
blacklistedAddresses
?blacklistedAddresses
? Или оснивачки тим уговара услуге форензичких компанија као што су Цхаиналисис, Еллиптиц и ТРМ Лабс како би пружио информације о томе на којим адресама би требало ограничити примање приватних трансфера? Који проблеми се могу појавити ако профитна компанија одлучи шта се дешава на основном слоју скупа?
Ово је само неколико питања на која ће бити потребно одговорити пре него што Етхереум (или Етхереум Л2) усвоји ЕИП-7503. Крипто је још увек у непознатим водама, али помаже да се изврши много Мурпхијитсу-а , размишљајући унапред о потенцијалним крајњим случајевима, када се доносе одлуке које имају значајне импликације на дугорочни опстанак протокола.
Несрећа највише оптерећује оне који не очекују ништа осим среће. — Сенеца
Имплементација ЕИП-7503 захтева надоградњу на ЕВМ да би подржала нови тип трансакције који прихвата потврду о нарезивању и кредитира салдо примаоца са ЕТХ спаљеним у претходној трансакцији. Клијенти за извршење ће такође морати да се надограде да би подржали Спарсе Меркле Трее (СМТ) за складиштење поништавача и имплементацију кола ван ланца за генерисање и верификацију доказа о сагоревању у име корисника.
Схватајући да надоградња може бити неизводљива, аутори ЕИП-7503 имају алтернативни предлог за имплементацију ЕИП-7503 користећи ЕРЦ-20 уговор са токеном . Корисници одржавају исти ток рада описан у претходним одељцима (слање средстава на адресу која се не може потрошити и генерисање поништавача), али испоручују ЕРЦ-20 токене након што поднесу доказ о сагоревању уместо да примају ЕТХ токене. ЕРЦ-20 уговор се интегрише са посебним ЕИП-7503 уговором за верификацију који верификује доказе сагоревања на ланцу (ЕРЦ-20 уговор такође може да имплементира коло за верификацију).
Док ЕРЦ-20 уговор поједностављује имплементацију ЕИП-7503, овај приступ поново уводи проблем централизације и цензуре. Можемо учинити да ЕРЦ-20 токен није надоградив и којим се не може управљати, као што је омотани етер (ВЕТХ) да бисмо елиминисали векторе централизације, али то не може помоћи у проблемима као што су размене које уклањају токен.
Такође, треба да приметимо да је форензичарима на ланцу лакше да идентификују налоге који су у интеракцији са ЕРЦ-20 уговором и ставе те адресе на црну листу—ако регулатори одлуче да крену за криптовалутама које више воде рачуна о приватности које круже Етхереум-ом. Пошто је ово проблем који је ЕИП-7503 дизајниран да реши, може бити тешко видети како је предлог за креирање „приватног ЕРЦ-20 токена“ побољшање.
Са друге стране, ЕРЦ-20 токен ће олакшати имплементацију функције скрининга преноса која блокира трансфере на адресе са црне листе. Програмер може једноставно да ускладишти blacklist[]
у уговору и модификује transfer()
да укључи проверу идентитета адресе која прима токене у трансакцији. Ово је, међутим, карактеристика коју не можемо да применимо на нивоу протокола без увођења неких веома јаких претпоставки о поверењу.
ЕИП-7503 долази са захтевом за изградњу, тестирање, ревизију и одржавање сложене, најсавременије криптографске инфраструктуре потребне за подршку анонимним и приватним трансакцијама. Барем, Нетхерминдов опис Л2 имплементације ЕИП-7503 и Нобитек Лабс ЕИП-7503 Цхаин прооф-оф-цонцепт концепта сугеришу да ће пристојна количина инжењерских напора бити усмерена на стварање ЗК-СНАРК кола за генерисање и верификацију ЕИП-7503 доказа .
Такође је важно напоменути да криптографски примитиви попут ЗК-СНАРК-а тек треба да буду довољно тестирани како би програмери протокола могли да их имплементирају са апсолутним поверењем. Илустрације ради, Зцасх је закрпио грешку која би омогућила непоштеном кориснику да пружи лажне доказе о власништву над имовином и кује бесконачну количину токена у 2018. Такође сам говорио о уском бекству Торнадо Цасх тима од потенцијалног експлоатације у 2019.
Грешка у имплементацији ЕИП-7503 на Етхереум ће имати нетривијалан утицај. На пример, корисник који случајно открије грешку која дозвољава заобилажење критичних провера које спроводи коло које верификује доказ о сагоревању (нпр. баланс адреса сагоревања и употреба поништавача) може искористити знање да искова бесконачне количине етра и срушити тржишну вредност ЕТХ.
Друга област сложености произилази из захтева да верификатор ЕИП-7503 верификује заглавље блока Б укључено у доказ који је направио корисник. ЕВМ складишти хешеве последњих 128-256 блокова, тако да верификатор на ланцу не може без поверења да верификује заглавља блока из већег опсега.
За верификацију корена стања из старијих блокова, ЕИП-210 ће морати да се имплементира. ЕИП-210 предлаже креирање паметног уговора на нивоу система који складишти историјске хешове блокова и рефакторише BLOCKHASH
опкод како би се клијентима омогућило да прочитају уговор.
ЕИП-210 није стриктно неопходан јер корисници имају најмање један сат ( 14 seconds * 256 blocks
) да генеришу и поднесу доказ који може да се провери помоћу ЕВМ-а. Ипак, давање корисницима слободе да одлажу исплату депозита послатих на адресу за нарезивање побољшава УКС и чини процес повлачења отпорнијим на груписање адреса и сличне технике анализе.
Алтернатива је да се интегрише уговор пророчанства који захтева (подстакнуте) актере да предају историјска заглавља блокова у уговор на ланцу. Ово је лакше имплементирати него креирати паметни уговор на нивоу система и рефакторисати операцијски код, али захтева од поверљивих оператора Орацлеа да (а) објаве исправна заглавља блока (б) да одмах пошаљу заглавља блока. Ако обе ове претпоставке не успеју да се одрже, поштени корисници можда неће моћи да искористе депозите, а лоши актери би могли да објаве нетачна заглавља блока како би верификовали Меркле доказе за непостојеће трансакције сагоревања.
У тренутку када је ЕИП-7503 активиран, анонимност постављена за корисника који кује ЕТХ у блоку #11000 ће укључивати све Етхереум ЕОА са позитивним ЕТХ салдом и нула одлазних трансакција. Ово је кључно за својство неследљивости анонимних трансакција: ако трансакција спаљује ЕТХ, немогуће је препознати је као трансакцију нарезивања јер адреса која се не може потрошити изгледа као обична Етхереум адреса.
Међутим, број адреса на којима стање на рачуну остаје статично и ниједна трансакција се не шаље смањиће се до тачке у којој ће само нарезане адресе чинити скуп анонимности. Тако скуп анонимности почиње да личи на скупове анонимности миксера заснованих на уговору као што је Торнадо Цасх и алата за приватност нове генерације као што су Приваци Поолс и Раилгун (што подразумева постепено смањење гаранција приватности ЕИП-7503).
Једини изузетак су они налози који примају ЕТХ јер је пошиљалац случајно пренео средства на непостојећу адресу, такви налози ће остати у ЕИП-7503 постављеној анонимности заувек. Можда бисмо желели да размотримо адресе на којима власник губи приватни кључ као део скупа анонимности, али то се (на срећу и несрећу) ретко дешава и ти налози обично имају најмање једну или више одлазних трансакција. (Тешко је замислити да најслађи корисник изгуби приватне кључеве пре него што изврши било какву трансакцију.)
Без обзира на смањење скупа анонимности, ЕИП-7503 је и даље користан због могућег порицања које нуди. Претпоставимо да неко направи олују на крипто-Твитеру и оптужи Алису да намерно спаљује ЕТХ (слањем на непотрошну адресу) са намером да касније повуче средства на нову адресу. Алице има уверљиво порицање и може да се супротстави наводима тврдећи:
Ове тврдње можда неће успети да убеде, али тако изгледа уверљиво порицање у контексту стварног света. Правни речник то каже овако:
„Вјероватно не значи поуздано, могуће или чак вјероватно. Уверљиво значи да можете закључити да нешто може или не мора бити могуће. Али обично теоретски, површно или сумњиво. Ни то не мора нужно да буде „разуман“ закључак. У свом најширем смислу, термин обично указује на недостатак доказа. На крају крајева, невин док се не докаже кривица је окосница нашег правног система.
Дакле, ако нема доказа, могуће је да би то могли порећи. У суштини, све незаконито или неетичко што се може објаснити под невиним и вероватним маском – истинито или не – потпада под уверљиво порицање. Чак и ако је веродостојност порицања сумњива.”
Једини пут када се корисник може коначно повезати са ЕИП-7503 приватним трансфером је у тренутку обраде трансфера на адресу примаоца. Корисници, међутим, могу да предузму кораке да смање или потпуно елиминишу могућност да спољни посматрачи повезују трансакцију повлачења са трансакцијом сагоревања:
Напомена : Друга техника је предложено проширење за ЕИП-7503 и чини се да није изводљива са тренутним дизајном. Да би корисници поделили исплате, неопходна је функција за раздвајање поништавача тако да nullifier 1
даје право да се ископа део салда сагорене адресе, nullifier 2
даје право да се искује још један део салда, итд.
ЕИП-7503 је решење за један од најпотцењенијих проблема Етхереума: недостатак финансијске приватности. Ако ће Етхереум једног дана заменити банке, потребно је да обезбеди ниво приватности једнак ономе који корисници тренутно уживају у статусу кво. Ништа мање, и Етхереум не постиже масовно усвајање јер је одустајање од приватности — чак и због предности избегавања цензуре — жртва коју већина појединаца не може поднети.
ЕИП-7503 је још увек у фази прегледа и вероватно ће претрпети промене и побољшања перформанси. Поред будуће подршке за повлачење делимичних износа, корисна функција омогућава корисницима да рекурзивно комбинују више доказа сагоревања у један СНАРК који верификује депозите на различите адресе сагоревања у једној трансакцији верификације. Ова функција додатно побољшава привлачност ЕИП-7503 за ЦЕКС-ове и трговце који желе да задрже једну адресу по корисничком депозиту без потребе да појединачно подносе доказ о сагоревању за (потенцијално стотине или хиљаде) адреса за снимање.
Редовни корисници такође могу имати користи од слања токена на више адреса за нарезивање (уместо слања на једну адресу која се не може потрошити) и слања збирног доказа и скупа поништавача за завршетак приватног преноса. Користећи више од једне адресе за нарезивање, пошиљаоци могу даље насумично да рандомизирају активност трансакција и одуговлаче покушаје да се трансакције нарезивања повуку на једну особу. Ово допуњује главне предности које ЕИП-7503 већ пружа, као што су приватни самотрансфери, приватне пеер-то-пеер донације/плаћања и приватно управљање платним списком за ДАО-ове на ланцу.
Ако сте уживали у читању овог чланка, размислите о томе да га поделите са неким коме би то могло бити информативно и претплатите се на билтен 2077 Ресеарцх да бисте сазнали детаљније о предлозима који долазе из ЕИП екосистема. Наставићемо да се фокусирамо на решења за приватност у Етхереуму и планирамо да објавимо дубоки преглед ЕРЦ-5564 (стандард за генерисање скривених адреса и слање трансакција скривених адреса на Етхереум-у).
Останите са нама!
Напомена аутора: Овај чланак је такође објављен овде .