paint-brush
EIP-7503: Эфирийн хувийн гүйлгээнд зориулсан тэг мэдлэгтэй өт нүхby@2077research
471 уншилтууд
471 уншилтууд

EIP-7503: Эфирийн хувийн гүйлгээнд зориулсан тэг мэдлэгтэй өт нүх

by 2077 Research44m2024/12/16
Read on Terminal Reader

Хэтэрхий урт; Унших

EIP-7503 нь Ethereum сүлжээний хувийн сүлжээнд гинжин дамжуулалт хийхэд зориулагдсан протокол давхаргын шийдэл юм. EIP-7503 нь Tornado Cash гэх мэт хэрэглээний түвшний нууцлалын шийдлүүдээс ялгаатай бөгөөд Ethereum хэрэглэгчдэд илүү найдвартай үгүйсгэх, цензурын эсэргүүцэл, жинхэнэ нууцлалыг санал болгодог.
featured image - EIP-7503: Эфирийн хувийн гүйлгээнд зориулсан тэг мэдлэгтэй өт нүх
2077 Research HackerNoon profile picture

EIP-7503: Zero-Knowledge Wormholes нь Ethereum дээр нууцлалыг хадгалсан шилжүүлэг хийх механизмыг нэвтрүүлсэн Ethereum сайжруулах санал (EIP) юм. Tornado Cash зэрэг криптовалютын холигч зэрэг сүлжээн дэх шилжүүлгийг хувийн болгох олон хүчин чармайлтыг бид харсан ч EIP-7503 нь анхдагч байдлаар Ethereum-ийг хувийн болгодог протоколын түвшний шийдэл юм.


Энэ бол чухал анхаарах зүйл юм: Tornado Cash гэх мэт хувийн нууцад зориулсан хэрэглээний түвшний хандлагууд нь хэрэглэгчдэд сөрөг нөлөө үзүүлдэг. Нууцлалд төвлөрсөн програмууд бас цензурд илүү өртөмтгий байдаг; жишээлбэл, Гадаад хөрөнгийн хяналтын алба (OFAC) 2022 онд протоколын гэрээний хаягийг хар жагсаалтад оруулсны дараа олон хэрэглэгчид (ялангуяа АНУ-ын иргэд) Tornado Cash-тай харилцах боломжгүй болсон.


OFAC-ийн хоригийг үл харгалзан Tornado Cash хэд хэдэн шалтгааны улмаас ажиллаж байна.

  1. Tornado Cash-ийн хөрөнгийг холих функцийг хэрэгжүүлдэг үндсэн гэрээнүүд нь өөрчлөгддөггүй бөгөөд сүлжээнд байнга хадгалагддаг. Голоос хойш tornado.cash вэбсайт офлайн болсон, бие даасан төслүүд анхны Tornado Cash хэрэгжүүлэлтийн гэрээний кодыг дахин ашигласан гэх мэт шинэ хувилбаруудыг бий болгосон. Торнадо Кэш Нова .
  2. Tornado Cash протокол нь ихэвчлэн "захирагдах боломжгүй" байдаг. Торнадо Кэшийн үүсгэн байгуулагч баг дараа нь захиргааны хяналтыг устгасан яаралтай шинэчлэлт хийж байна Хуурамч хадгаламжийн талаар хүчинтэй нотлох баримтуудыг бий болгож, (хууль ёсны дагуу байршуулсан) хөрөнгийг зайлуулах боломжийг халдагчдад олгосон алдааг засах. Тиймээс үүсгэн байгуулагч баг нь дангаараа killswitch-ийг идэвхжүүлж чадахгүй байсан ч протоколыг "унтраах" шахалтад автсан. 2023 онд баривчлах .


Дээр дурдсан хүчин зүйлүүд нь Ethereum дээрх блок үйлдвэрлэгчид протоколын гэрээнүүдтэй харьцах гүйлгээг зогсоож байна гэж аналитик харуулж байсан ч хүмүүс өнөөдөр Tornado Cash ашиглах боломжтой хэвээр байна гэсэн үг юм. Гэсэн хэдий ч, OFAC хориг арга хэмжээ авахаас өмнөх өдрүүдийн нэгэн адил Tornado Cash холигч протоколоор дамжсан гүйлгээ бүр хууль ёсны биш байсан. Тодруулбал, Arkham Intelligence-ийн нийтлэлд 2023 онд дор хаяж хоёр томоохон халдлага (Euler Finance-ийн 197 сая долларын мөлжлөг, Анубис DAO-ийн 60 сая долларын хивс) нь Tornado Cash-аас татсан хөрөнгөөр санхүүжсэн, эсвэл хутгагчийг ашиглан хулгайлсан мөнгө угаасан болохыг харуулж байна. санхүүжүүлж, гарч буй шилжүүлгийг нуун дарагдуулна.


Tornado Cash нь гинжин хэлхээний нууцлалыг урвуулан ашигласан муу жүжигчдийн асуудлыг шийдэж чадаагүй байгаа тул бид яагаад протоколын түвшинд хувийн шилжүүлэг хийх боломжийг хэрэгжүүлэхийг хүсч байна вэ? Энэ эрсдэлтэй биш гэж үү? Яагаад заавал хувийн гүйлгээ хийх ёстой гэж? Ethereum шиг блокчэйн нь хэдийнэ нэргүй, "мөшгих боломжгүй" биш гэж үү?


Эдгээр нь бүгд хууль ёсны асуултууд бөгөөд бид бүгдийг энэ нийтлэлд авч үзэх болно. Бид санхүүгийн нууцлалын ач холбогдлын талаарх өндөр түвшний тоймыг өгч, Ethereum зэрэг олон нийтийн блокчейнүүд яагаад өөрчлөлт хийхгүйгээр нууцлалыг баталгаажуулж чадахгүй байгааг судлах болно. Дараа нь бид Ethereum дээр хувийн төлбөр хийх боломжийг олгох EIP-7503-ийн арга барилд дүн шинжилгээ хийж, EIP-7503-ийг нэвтрүүлэх боломжит давуу болон сул талуудын талаар ярилцах болно.


Усанд орцгооё!

Үе шат: Бид яагаад сүлжээн дэх хувийн нууцад санаа тавих ёстой вэ?

Бид "хувийн гүйлгээ" эсвэл "нэргүй гүйлгээ"-ийн тухай цахим peer-to-peer (P2P) төлбөрийн хүрээнд ярихдаа бид хоёр чанарыг тайлбарлаж байна: хянах боломжгүй ба холболтгүй . Энэ хоёр чанарыг Николас ван Саберхаген CryptoNote цахим хуудсанд тодорхойлсон:

  • Мөрдөх боломжгүй : Гадаад ажиглагч илгээгчийг найдвартай тодорхойлж чадахгүй бол гүйлгээг хянах боломжгүй. Алис Боб, Кэрол хоёртой найзууд бөгөөд Алис шилжүүлгээр хоёр жетон хүлээн авсан гэж бодъё—хөшөө авах боломжгүй гэдэг нь хэн ч (Боб эсвэл Кэрол) Алис руу жетон илгээсэн гэдгийг хэн ч хэлж чадахгүй гэсэн үг.

  • Unlinkable : Хэрэв хүлээн авагчийг гадны ажиглагч найдвартай тодорхойлж чадахгүй бол гүйлгээг салгах боломжгүй. Хэрэв Боб, Кэрол хоёр Алиса руу тус тусын гүйлгээгээр жетон илгээдэг бол холболтыг салгах чадвар нь Боб, Кэрол хоёр нэг хүнд жетон илгээсэн эсэхийг хэн ч хэлж чадахгүй гэсэн үг.


Ихэнх (бүгд биш бол) сүлжээн дэх нууцлалын шийдлүүдийг дээр дурдсан шаардлагуудын алинд нь нийцэж байгаагаар нь ангилж болно. Cryptocurrency холигч , CoinJoin болон ринг гарын үсэг нь юуны түрүүнд хаяг илгээх талаарх мэдээллийг нуун дарагдуулж, мөнгийг хянах боломжгүй болгодог. Илгээгчийн хувийн мэдээллийг янз бүрийн механизм ашиглан хамгаалдаг боловч хэн мөнгө хүлээн авсан болохыг хэн ч харж болно.


Харьцуулбал, Monero , Zcash , Liquid Network , Aztec v1 зэрэг нууцлалд төвлөрсөн протоколууд нь "хамгаалагдсан" эсвэл "нууц" гүйлгээний хувилбаруудыг санал болгож, гүйлгээг салгах боломжгүйг баталгаажуулдаг. Хүлээн авагчийн хаягийн дэлгэрэнгүй мэдээллийг (түүнчлэн шилжүүлсэн жетоны хэмжээ, төрөл) нууцалдаг тул хамгаалагдсан эсвэл нууцлагдсан гүйлгээг тодорхой хүлээн авагчтай холбоход хэцүү байдаг. Үл мэдэгдэх хаягууд нь салангид байдлыг хадгалах өөр нэг арга юм: хэрэглэгчид хадгаламж руу түр зуурын (богино хугацааны) хаяг үүсгэж, нэг хаяг руу хоёр шилжүүлгийг холбох оролдлогыг хаадаг.


Гүйлгээний нууцлалыг сайжруулах дээр дурдсан аргууд нь өвөрмөц давуу болон сул талуудтай бөгөөд бид үүнийг дараа нь товч авч үзэх болно. Гэхдээ одоохондоо бид “Яагаад санхүүгийн нууцлал чухал вэ?” гэсэн үндсэн асуултад анхаарлаа хандуулах болно. Бид Ethereum-д хувийн болон нэргүй гүйлгээ хийх саналд дүн шинжилгээ хийхэд цаг хугацаа, хүчин чармайлтаа зориулж байгаа тул Ethereum дээр гүйлгээний нууцлалыг идэвхжүүлэх үндэслэлийг гаргаж болно.


Хувийн нууц нь хүний үндсэн эрх учраас санхүүгийн нууцлал чухал. Хувийн нууцлалыг хамгаалах эрх нь хувь хүн бүрт ямар мэдээллээ олон нийтэд хуваалцахыг хүсч байгаагаа шийдэж, хувийн мэдээллийг (PII) хэрхэн, хэзээ, хаана хуваалцахыг хянах эрхийг олгодог. “Хувь хүний таних мэдээлэл” гэдэг нь санхүүгийн үйл ажиллагааны дэлгэрэнгүй мэдээлэл (жишээ нь, худалдан авалтын түүх, цахим шилжүүлэг, орлого) зэрэг тухайн хүний хувийн байдлыг илрүүлэхэд ашиглаж болох аливаа мэдээллийг багтаасан өргөн хүрээний ангилал юм.


Хувь хүмүүс (санхүүгийн) нууцлалыг хамгаалах эрхээ хэрхэн хэрэгжүүлж болох зарим жишээг доор харуулав.

  • Ирэх жилийн Талархлын баяраар яагаад хүн амын тоог нэмэгдүүлэхийг хүсэхгүй байна гэж гэр бүлээсээ асуухгүйгээр онлайнаар жирэмслэхээс хамгаалах эм худалдаж аваарай. Банкууд онлайн гүйлгээний талаар мэдээлэл гаргасан гээд бод доо. Бүх зүйл хэр эвгүй болох вэ?
  • Хэр их хандивласан, эсвэл огт хандивласан эсэхээ задлахгүйгээр буяны байгууллагад хандивлах. Хэрэв та тодорхой хүрээнийхний анхаарлыг татсан буяны үйлсэд хандив өгч байгаа бол эсвэл үзүүлбэр үзүүлж, буяны үйлсдээ (шаардлагагүй) анхаарлыг татахыг үзэн яддаг бол энэ нь чухал юм.
  • Олон нийтэд танигдахыг хүсэхгүй байгаа улс төрийн үйл хэрэгт хандивлах. Жишээлбэл, Виталик Бутерин (орос гаралтай) Оросын түрэмгийллийн эсрэг тэмцэж буй Украины хүчинд хандив өгч буйг авч үзье - Виталикийн харьяаллыг харгалзан үзвэл олон нийтийн хандив нь шаардлагагүй PR хямралыг өдөөх байсан тул Tornado Cash-аар дамжуулан мөнгө илгээсэн .
  • Муу жүжигчдэд санхүүгийн байдлаа харуулахгүйгээр төлбөр хийх. Хэн нэгэн таныг өнгөрсөн жил X долларын нийт орлого олсон гэдгийг мэдэхийг хүсэхгүй байгаа бөгөөд энэ нь тэдэнд мөнгө хулгайлах төлөвлөгөө гаргахад хангалттай мэдээлэл өгдөг (жишээ нь, заль мэх болон бусад нийгмийн инженерийн тактикаар).
  • Ажилчдын орлогын талаархи мэдээллийг задруулахгүйгээр ажилчдад цалин өгөх. Магадгүй та компанийхаа санхүүгийн үйл ажиллагааны талаарх дэлгэрэнгүй мэдээллийг нууцлахыг илүүд үзэж болох юм уу, эсвэл танай ажилтнууд энэ мэдээллийг нууцлахыг хүсч байгаа байх.

Эдгээр жишээнүүд нь санхүүгийн нууцлалыг ашиглах практик тохиолдлуудыг өгдөг боловч хувийн нууцын эрхийн талаар шүүмжлэгчид ихэвчлэн хүлээн зөвшөөрдөггүй нарийн ширийн зүйлийг онцлон тэмдэглэдэг: нууцлал бол хэтэрхий оройтсон үед бидэнд хэрэгтэй зүйл биш гэж үздэг. Ердийн "Чи юу нуугаад байгаа юм бэ?" Оролцогч талууд санхүүгийн гүйлгээний талаар бага ба ямар ч мэдээлэл гаргахыг хүсдэг зарим нөхцөл байдлыг хүлээн зөвшөөрч чадахгүй. Хэдийгээр хүмүүс дур зоргоороо юмаа нуухыг хүссэн ч тэдний нууцыг хадгалах хүсэл нь нийгмийн эрүүл мэнд, аюулгүй байдалд аюул учруулахгүй бол яагаад тэднийг зовоодог юм бэ?


Хэрэгтэй, байхгүй байснаас байх нь дээр. - Франц Кафка

Ethereum-ийн нууцлалын асуудлыг EIP-7503 ашиглан шийдвэрлэх

Өмгөөлөгчид болон шүүмжлэгчдийн эрт үеийн тайлбараас ялгаатай нь Ethereum, Bitcoin зэрэг олон нийтийн блокчэйн нь нэрээ нууцлах эсвэл нууцлахаас хол байдаг. Эдгээр хоёр нэр томъёо нь ихэвчлэн хоорондоо нийлдэг боловч хоёр өөр утгатай:

  • Нууцлал гэдэг нь таны нууц үйлдлүүдийг олон нийтэд таниулах боломжтой боловч таны үйлдлийн дэлгэрэнгүй мэдээллийг нуусан гэсэн үг юм. Та PGP ( Petty Good Privacy ) хэрэглүүрийг ашиглан шифрлэгдсэн имэйл илгээсэн гэж бодъё: шуудангийн серверүүд таныг өөр (тодорхойлох) тал руу имэйл илгээсэн гэдгийг мэдэж байгаа боловч имэйлийн агуулгыг уншиж чадахгүй байна. Таныг имэйл илгээсэн гэдгийг хүлээн авагчаас өөр хэн ч мэдэхгүй тул энэ нь нууц үйлдэл юм.

  • Нэрээ нууцлах нь таны олон нийтийн үйлдлүүдийг олон нийтэд таниулах онцлогоос салгаж байна гэсэн үг. Өмнөх жишээг ашиглавал: төсөөлөлтэй, нэрээ нууцалсан цахим шуудангийн үйлчилгээ нь сүлжээгээр дамжуулж буй бүх имэйлийн олон нийтийн бүртгэлийг хадгалахын зэрэгцээ шифрлэгдсэн имэйлийн гарал үүсэл, очих газрыг бүдгэрүүлж болзошгүй юм. Энэ нь хэн нэгний имэйл илгээж байгаа бичлэг нь сүлжээн дэх бүх оролцогчдод харагдах боловч имэйл хаягууд нь нэр биш ( [email protected] ) хэш тэмдэгт ( 0xdeadbeef ) байдаг тул энэ нь олон нийтэд нээлттэй үйлдэл юм.


Блокчэйн нь гүйлгээ бүрт хэр их мөнгө шилжүүлсэн, гүйлгээг гүйцэтгэсэн гинжин хэлхээ зэрэг бүртгэлийг хөтөлдөг тул Ethereum нь хувийн биш юм. Blockchain дээр гүйлгээ хийж буй дансны талаарх мэдээлэл ( хаягаар тодорхойлогддог) олон нийтэд нээлттэй байдаг тул Ethereum нь нэргүй биш юм. Та Ethereum дансандаа "Алис Хопкинс" гэх мэт жинхэнэ нэрийг ашиглахгүй байж болох ч гүйлгээ бүрт ижил хаяг ашиглах нь IP хаягийн хяналт , хаягийн кластер , график зэрэг аргуудыг ашиглан гүйлгээг таны бодит байдалтай уялдуулах боломжийг блокчэйн криминалистикт олгодог. шинжилгээ .


Bored Ape Yacht Club (BAYC) NFT төслийн үүсгэн байгуулагчид 2022 онд BuzzFeed-ээр шалгагдсан.


Тиймээс Ethereum нь нууц нэрээр тодорхойлогдсон бөгөөд нэрээ нууцлах эсвэл нууцлалыг баталгаажуулж чадахгүй. Энэ нь ирээдүйн үнэ цэнийн интернетийн тооцооны давхарга болох платформд муу юм. Нөхцөл байдлын хувьд банкууд санхүүгийн мэдээллийг төвлөрсөн мэдээллийн санд хадгалах замаар хэрэглэгчдэд тодорхой хэмжээний нууцлалыг аль хэдийн хангасан бөгөөд зөвшөөрөлгүй хандалтаас урьдчилан сэргийлэхийн тулд хандалтын хяналтын хатуу механизмтай байдаг.


Банк болон өгөгдлийн сангийн дэд бүтцийн үйлчилгээ үзүүлэгч эдгээр мэдээлэлд хандах боломжтой бөгөөд түүгээр хүссэн бүхнээ хийх боломжтой (жишээ нь, шилжүүлгийн очих газрын дүн шинжилгээнд үндэслэн хориг арга хэмжээг дагаж мөрдөхийн тулд зарим улс руу хийх төлбөрийг царцаах) энэ нь "хуурамч нууцлал" юм. Гэхдээ "чөтгөр ба гүн цэнхэр тэнгисийн хооронд сонголт хийх" сонгодог тохиолдолд энгийн хүн хувийн нууцыг үл тоомсорлохоос илүү хувийн нууцыг сонгох магадлалтай бөгөөд энэ нь Ethereum данс нээлгэх, гинжин хэлхээний үйлдэл бүрийг дэлхийд харуулахыг хориглодог.


Энэ нь хэрэглэгчдийг Ethereum гэх мэт төвлөрсөн бус технологиос холдуулж, цензур, ил тод байдлыг эсэргүүцэх зардлаар бага зэрэг илүү сайн нууцлалын баталгааг санал болгодог төвлөрсөн шийдэл рүү хөтөлж байгаа тул олон хүн энэ асуудлыг хүлээн зөвшөөрсөн. Жишээлбэл, Виталикийн "Гурван шилжилт" нь Ethereum-ийг олноор нэвтрүүлэх хэтийн төлөвт хувийн нууцлалын ач холбогдлын талаар гайхалтай аргументуудыг өгдөг.


Гурав дахь нь [нууцлалыг хамгаалах шилжүүлэгт шилжих]гүйгээр Ethereum бүтэлгүйтдэг, учир нь бүх гүйлгээг (болон POAP гэх мэт) хэн ч үзэх боломжтой байх нь олон хэрэглэгчдийн хувьд хувийн нууцын золиослолоос хамаагүй өндөр бөгөөд хүн бүр төвлөрсөн шийдлүүд рүү шилждэг. ядаж өгөгдлөө нуух хэрэгтэй. - Виталик Бутерин


EIP-7503 нь өмнө дурдсан зарим асуудлууд, ялангуяа гүйлгээ илгээгчдийн нэрээ нууцлахгүй байх зэрэг асуудлуудыг арилгах хүчин чармайлт юм. Санал нь зарцуулагдах боломжгүй хаяг руу мөнгө илгээх замаар Эфирийг (ETH) зориудаар устгах хаягуудыг танилцуулж, зарцуулагдах боломжгүй хаяг руу хадгаламжийг баталгаажуулах ZK-SNARK нотлох баримтыг бий болгодог. Хэрэв энэ нотлох баримт нь шалгалтанд тэнцвэл ETH жетоныг (зарцуулах боломжгүй хаягийн үлдэгдэлтэй тэнцэхүйц) хэрэглэгчийн сонгосон шинэ хаяг руу цутгаж, мөнгө шилжүүлэхэд оролцсон илгээх болон хүлээн авах хаягуудын хоорондын холбоосыг таслана.


EIP-7503 нь одоо байгаа нууцлалын протоколуудаас Ethereum дээрх нууцлалыг хамгаалах гүйлгээг идэвхжүүлэх санааг авдаг. Жишээлбэл, энэ санал нь ETH-ийн үлдэгдэлтэй Ethereum хаягуудыг бүхэлд нь нэрээ нууцалсан гүйлгээ болгон хувиргаснаар гүйлгээний гүйлгээгээр хүлээн авсан мөнгийг тодорхой эх сурвалж руу чиглүүлэхэд хүндрэл учруулж байна. Та дараагийн гүйлгээнд дахин оруулсан B хаягийн ETH-г шатаах үүрэгтэй А хаягийг хялбархан тодорхойлох боломжгүй: А нь тэгээс өөр үлдэгдэлтэй боловч Ethereum гүйлгээг эхлүүлээгүй сая сая хаягуудын нэг байж болно.


Энэ нь өөр өөр эх үүсвэрээс байгаа хөрөнгийг нэг санд нийлүүлж, хадгаламж эзэмшигчид өөр хаяг ашиглан уг сангаас мөнгөө авах боломжийг олгохтой төстэй юм. Гэсэн хэдий ч EIP-7503 нь Tornado Cash гэх мэт криптовалютын холигчтой харьцуулахад маш сайн байдаг, учир нь энэ нь үгүйсгэх боломжтой юм. Үнэмшилтэй үгүйсгэх гэдэг нь бидний дараа судлах ойлголт боловч одоохондоо та мэдэхэд л хангалттай бөгөөд энэ нь танд (EIP-7503 хувийн шилжүүлгийг хийж байгаа хэрэглэгч) хэзээ ч хувийн гүйлгээ хийхээс татгалзах боломжтой юм.


Үнэмлэхүйц үгүйсгэх нь EIP-7503-ын чухал шинж чанар бөгөөд гадны ажиглагчид хувийн гүйлгээ илгээгчийг нууцлахаас сэргийлдэг. Энэ нь зарим хаягуудыг хар жагсаалтад оруулж, дапп, солилцоо, DeFi протоколд хандахыг хязгаарласан Торнадо Кэшийн тасалдал давтагдахаас сэргийлж болно, учир нь гинжин шүүх шинжилгээгээр Tornado Cash-тай түүхэн харилцан үйлчлэл тогтоогдсон, тэр ч байтугай зарим данс нь Tornado Cash-тай харилцаж байсан ч гэсэн. хор хөнөөлгүй шалтгаанаар (жишээлбэл, хувийн хандив өгөх).


EIP-7503 нь Zcash болон Aztec v1 зэрэг нууцлалд суурилсан бусад протоколуудаас гүйлгээний дэлгэрэнгүй мэдээллийг ил гаргахгүйгээр гүйлгээг баталгаажуулахын тулд криптограф нотолгоог ашиглан зээлдэг. Гүйлгээг нууцлалыг хамгаалсан байдлаар баталгаажуулах нь Ethereum нь гүйлгээ бүрийг дахин гүйцэтгэхийн тулд гүйлгээ бүрийг дахин гүйцэтгэх зангилааны тархсан сүлжээнээс хамаарах одоо байгаа аюулгүй байдлын загварыг алдагдуулахгүйгээр хувийн шилжүүлгийг найдвартай дэмжиж чадна. Бид EIP-7503 нь Ethereum дээр хувийн шилжүүлгийг найдвартай гүйцэтгэхэд туслах зорилгоор ZK-SNARK-ийг хэрхэн ашигладаг талаар дэлгэрэнгүйг дараагийн хэсгүүдэд (бусад зүйлсийн дотор) судлах болно.


Анхааруулга *: Хувийн нууцыг нэрээ нууцлахаас ялгаж байгаа хэдий ч би энэ нийтлэлийн туршид энгийн бөгөөд хоёр ойлголтыг нэг ижил зүйл гэж ойлгодог байсан уншигчдад төөрөгдөл үүсгэхгүйн тулд "хувийн" болон "нэргүй" гэсэн үгийг сольж ашиглах болно. Түүнчлэн, EIP-7503 нь нэрээ нууцлах (илгээгч болон хүлээн авагчийн хоорондох холбоосыг таслах) болон нууцлалын (одоогийн санал болгож буй өргөтгөл нь хэрэглэгчдэд мөнгө байршуулах болон гарах дүнг нуух боломжийг олгоно) элементүүдийг агуулдаг.*

EIP-7503-ийн тойм: Тэг мэдлэгийн өт нүхнүүд

EIP-7503-аар тодорхойлогдсон хувийн шилжүүлгийн ажлын урсгал. (эх сурвалж)


Өндөр түвшинд EIP-7503 дараах байдлаар ажилладаг.

1. Хэрэглэгчид ETH-ийг үлдэгдэл нь зарцуулагдах боломжгүй хаяг руу илгээх замаар "шатаах"

Үлдэгдлээс зарцуулсан (хүчин төгөлдөр) гүйлгээнд гарын үсэг зурахад шаардлагатай хувийн түлхүүрт хэн ч хандах эрхгүй бол хаягийг зарцуулах боломжгүй болно. Энэ нь тэг хаяг руу мөнгө илгээхтэй адил юм: данс нь хувийн түлхүүргүй тул хүлээн авсан аливаа хөрөнгийг буцаах боломжгүй эсвэл "шатсан" болгодог.


Тэг хаяг нь Ethereum дахь 280 сая доллараас дээш токен эзэмшдэг хамгийн баян данс юм. Санамсаргүй байдлаар тэг хаяг руу мөнгө илгээдэг цөөн хэдэн харамсалтай хэрэглэгчдийг эс тооцвол тэг хаяг руу илгээсэн жетон илгээдэг хэрэглэгчдийн дийлэнх нь гэрээ байгуулж (тэг хаягийг хүлээн авагчаар тохируулах шаардлагатай) эсвэл эдгээр жетонуудыг зориудаар авч байна. эргэлтээс гарсан.


Анхны ERC-20 жетон стандарт нь жетоны нийлүүлэлтийг багасгах функцийг заагаагүй бөгөөд энэ нь WETH (боосон эфир) гэх мэт хуучин жетонууд нь анхны хадгаламжаа буцааж авахаасаа өмнө боодолтой хөрөнгийг эргэлтээс гаргах боломжгүй гэсэн үг юм. Гэсэн хэдий ч WETH жетоныг тэг хаяг руу илгээх нь тэдгээрийг зарцуулах боломжгүй болгож, ETH-ийг WETH боодолтой гэрээнээс эргүүлэн татах бүрт WETH-ийн эргэлтийн нийлүүлэлт буурч байгааг дуурайдаг. Хэрэв та WETH нь төрөлх ETH-тэй 1:1 харьцааг хэрхэн хадгалж байгааг гайхаж байгаа бол таны хариулт байна.


EIP-7503 нь ижил төстэй механизмыг ашиглан хэрэглэгчдэд ETH болон гаа токенуудыг Ethereum дээр өөр хаяг руу бага зэрэг эргүүлэх боломжийг олгодог. EIP-7503 нь хэрэглэгчдээс нэг хаяг руу мөнгө илгээхийг хүсэхийн оронд ETH-ийг өөр хаяг руу шилжүүлэхээс өмнө гүйлгээ бүрд өвөрмөц хаяг үүсгэхийг шаарддаг.

2. Хэрэглэгчид өмнөх гүйлгээний явцад тодорхой хэмжээний ETH шатаасан болохыг нотлох хувийн шаталтын баримт буюу "шатаах баримт" үүсгэнэ.

Түлэнхийн хаяг руу мөнгө илгээх нь (EIP-7503 стандартын дагуу бий болсон) нь өтний нүх рүү бэлэн мөнгө чихэхтэй адил бөгөөд үүнийг хэзээ ч нөхөж чадахгүй. Гэхдээ та ZK-SNARK ( Z ero- K nowledge S uccinct A argument of K nowledge) ашиглан өтний нүх рүү илгээсэн зүйлийн талаарх мэдлэгээ баталж чадна ; Тиймээс "тэг мэдлэгийн өтний нүх" гэсэн нэр томъёо гарч ирэв.


Хэрэглэгч зөвхөн А-г ил тод бичвэрээр ил гаргахгүйгээр зарцуулагдах боломжгүй А хаяг руу жетон илгээснээ нотлох ёстой тул шаталтын нотлох баримт нь хувийнх юм. Түлэгдсэнийг нотлох баримт бүрдүүлэхийн тулд түлэгдэлтийн хаягийг үнэхээр зарцуулах боломжгүй гэдгийг нотлох шаардлагатай. Яагаад? Хүлээн авагчийн хаяг руу шинэ ETH жетон гаргахаас өмнө хэрэглэгчдээс төрөлх ETH-г шатаахыг хүсэх нь хоёр төрлийн хөрөнгийн тэнцвэрийг (үнэ цэнэ ба хөгц байдлын хувьд) баталгаажуулдаг, хэрвээ хэрэглэгчид дараа нь шатаасан хаягаас мөнгөө авах боломжтой бол уугуул ETH болон мөнгөн тэмдэгтийн хооронд 1:1 харьцаатай байна. ETH токенууд оршин тогтнохоо болино.

3. Хэрэглэгчид шатсан хаяг руу шилжүүлсэн хадгаламжтай тэнцэх хэмжээний төлбөрийг хэрэглэгчдэд олгох бүрэн зангилаанд хувийн нотолгоог илгээх замаар ETH жетон гээсэн.

EIP-7503 нь EVM (Ethereum Virtual Machine)-д шинэ гүйлгээний төрлийг нэвтрүүлсэн бөгөөд энэ нь шатсаны нотлох баримт болон хүлээн авагчийг оролт болгон хүлээн авч, нотлох баримт амжилттай баталгаажсан тохиолдолд илгээх хаяг руу шинэ ETH токенуудыг шиддэг. Ижил шаталтын гүйлгээнд ETH-г хоёр удаа гаргахаас сэргийлэхийн тулд хаягийн ашиглалтыг хянах зорилгоор шаталтын нотлох баримт бүрт тусгай "үгүйцүүлэгч" утгыг хавсаргасан болно.


Хэрэв зарцуулагдах боломжгүй хаяг руу илгээсэн ETH-г амжилттай дахин цохих юм бол хүчингүй болгогч нь шударга бус хэрэглэгчийг өмнө нь тухайн хаяг руу илгээсэн хөрөнгөө шатаасан шинэ нотлох баримт үүсгэхээс сэргийлдэг (жишээ нь, давхар цохилтын халдлага). Хамгийн чухал нь, хүчингүй болгогч нь хаягийн талаарх мэдээллийг энгийн текстээр задруулахгүйгээр ашигласан хаягийг тодорхойлдог.


Энэхүү өндөр түвшний танилцуулгатай бол бид одоо EIP-7503-ийн хэрэгжилтийн доод түвшний нарийн ширийн зүйлийг үзэж болно. Дараагийн хэсгүүдэд EIP-7503-ийг хэрэгжүүлэх гол нарийн ширийн зүйлийг авч үзэх болно, тухайлбал:

  • Зарагдах боломжгүй хаягийг бий болгох
  • Түлэгдэлтийн хувийн нотлох баримтыг бий болгох
  • Хувийн түлэгдэлтийн нотолгоог баталгаажуулах
  • Хувийн шилжүүлгийг хүлээн авагчдад зориулж ETH-ийг гаргах

Хэрэглэх боломжгүй хаягийг үүсгэж байна

Энгийн Ethereum хаяг нь акаунтын хувийн түлхүүрээс үүсгэсэн нийтийн түлхүүрийн Keccak256 хэшийн эхний 20 байт (хувийн түлхүүр нь мнемоник буюу үрийн өгүүлбэрээс үүссэн бүхэл тоо юм). Хувийн түлхүүр болон нийтийн түлхүүрийг хоёуланг нь Elliptic Curve Digital Signature Algorithm (ECDSA) ашиглан үүсгэнэ. ECDSA бол нарийн төвөгтэй сэдэв юм ("цогцолбор" гэдэг нь "математикийн мэдлэг ихтэй" гэсэн миний илүүд үздэг эвфемизм юм), гэхдээ энэ сэдвээр анхан шатнаас мэргэжилтэн хүртэл эрэмбэлсэн цөөн хэдэн эх сурвалжууд энд байна:



pubKey = privKey * G маягтын шинэ утгыг үүсгэхийн тулд хувийн түлхүүрийг (нууц эсвэл товчоор s гэж нэрлэдэг) тусгай "үүсгүүр" G утгыг үржүүлснээр нийтийн түлхүүр үүсдэг. Keccak256 хэш функцээр дамжуулан нийтийн түлхүүрийг ажиллуулж, хэш мөрийн эхний 20 байтыг авах замаар хаягийг үүсгэнэ. Псевдо-математик тэмдэглэгээнд үйлдэл нь дараах байдалтай харагдана: A = K(s * G) , энд A нь хаяг, s нь нууц эсвэл хувийн түлхүүр, G нь зууван муруй дээрх генераторын цэг юм.


Хаяг, нийтийн түлхүүр, хувийн түлхүүр нь маш өөр зорилготой:

  • Хаяг нь нийтэд нээлттэй бөгөөд гүйлгээнд шилжүүлсэн мөнгийг хүлээн авах дансыг тодорхойлдог.
  • Хувийн түлхүүр нь хаягийн үлдэгдлээс жетон шилжүүлэхийг сүлжээнд зааварласан зурваст гарын үсэг зурахад ашиглагддаг бөгөөд нууц байх ёстой.
  • Нийтийн түлхүүр нь гүйлгээний гарын үсгийг холбогдох хувийн түлхүүрээр үүсгэсэн эсэхийг шалгах боломжийг олгодог.


Жагсаалтын сүүлийн зүйл нь нарийн ширийн зүйлийг онцолж байна: хэрэв та хувийн түлхүүрийг удирдаж байгаа бол л хаяг руу илгээсэн мөнгийг зарцуулах боломжтой, өөрөөр хэлбэл та нийтийн түлхүүр үүсгэхэд ашиглагдаж байсан хувийн түлхүүрийг мэддэг. хаягийг гаргаж авсан. Хэрэв та хаягийн хувийн түлхүүрийг мэдэхгүй эсвэл хувийн түлхүүрийг өөр хэн нэгэн удирддаг бол тухайн хаягаас мөнгө зарцуулах боломжгүй.


A хаягийн үлдэгдэл зарцуулагдах боломжгүй эсэхийг бид яаж мэдэх вэ? Бид A д санамсаргүй байдлаар 20 байт утгыг сонгож, урьдчилан дүрсний эсэргүүцэл гэж нэрлэгддэг криптограф хэш** функцүүдийн тусгай шинж чанарыг ашиглан эхэлж болно. Энгийнээр хэлбэл, урьдчилсан дүрсний эсэргүүцэл нь бид x утгыг олж чадахгүй гэсэн үг бөгөөд ингэснээр A санамсаргүй байдлаар сонгосон тохиолдолд H(x) ( x ийн хэш) нь A тай ижил байна. Псевдо-математик тэмдэглэгээнд энэ нэхэмжлэл нь H(x) ≠ A хэлбэртэй байна.


A нь хэш функцийн дүрс (хэш функцын гаралт) бөгөөд x нь хэш функцийн урьдчилсан дүрс (хэш функцийн оролт) юм. H(x) = A ийн хувьд x -ийн утгыг олох нь (а) олон тооны боломжит бүхэл тоонуудаас (б) гаралт үүсгэхийн тулд оролтыг хэш функцээр удирддаг арга замаас шалтгаалан хэцүү байдаг. Иймд та A -д хүрэх x ийн утгыг “таамаглах” цорын ганц арга бол танд асар их тооцоолох хүчин чадал, H(x) = A олохын тулд асар их тооны тооцоолол хийх хангалттай хугацаа байгаа юм.


Хэдийгээр энэ нь таны Cryptography 101 анги биш ч гэсэн өмнөх тайлбар нь орчин үеийн криптографийн системийн гол шинж чанарыг агуулна. Хэш функцүүдийн дүрсний эсэргүүцлийн шинж чанар нь мөн EIP-7503-д гол үүрэг гүйцэтгэдэг: хэрэв A нь санамсаргүй 20 байт утга бол хэрэглэгч хувийн түлхүүрийг гаргаж чадахгүй гэдэгт бид итгэлтэй байна. s хаягаас мөнгө зарцуулах боломжгүй. Өөрөөр хэлбэл, тооцоолох боломжгүй A = H(h(s * G) , энд A нь шатаах хаяг, 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 ийн хэшийг тооцоолох нь "мөргөлдөж" ижил үр дүнд хүрч чадахгүй.


Энэ нь яагаад боломжтой болохыг ойлгохын тулд бид хэш функцууд хэрхэн ажиллахыг тайлбарлахын тулд зохиомол жишээ гаргаж өгөх болно.

Interlude: Noobs-д зориулсан криптографийн хэш функцууд

Бид криптограф хэш функцууд хэрхэн ажилладаг, мөргөлдөх эсэргүүцэл , зургийн өмнөх халдлагыг эсэргүүцэх зэрэг чухал шинж чанарууд хэр баталгаатай болохыг тайлбарлахын тулд зохиомол жишээг ашиглах болно. Энэхүү тайлбар нь товч бөгөөд хүртээмжтэй байх үүднээс зарим ойлголтыг хэт хялбарчилж өгсөн боловч (хэрэв та криптографийн мэргэжлээр мэргэшсэн бол хэш функцийн талаархи нийтлэлийг уншина уу):


Алис, Боб, Шерил, Макс нар өрсөлдөгч улс төрийн намуудад харьяалагддаг: Алис, Боб нар Цэнхэр намын гишүүд бол Шерил, Макс нар Улаан намд харьяалагддаг. Цэнхэр намын зүтгэлтнүүд болон Улаан намын зүтгэлтнүүд өрсөлдөгч намын гишүүдэд нууц мэдээллийг задруулахгүйгээр өөр хоорондоо мэдээллээ хуваалцахыг хүсч, мессежийг шифрлэх өөр өөр кодуудыг бие даан гаргаж ирдэг.


Цэнхэр намын кодыг Double Letter алгоритм гэж нэрлэдэг бол Red Party нь Гурвалсан үсэгний алгоритм гэж нэрлэгддэг хувилбарыг ашигладаг. Код нь маш энгийн: бид мессеж бичихдээ цагаан толгойн үсгийг тоогоор сольдог - мессежийн мөр дэх тоо бүр цагаан толгойн тодорхой байрлал дахь үсгийг илэрхийлдэг. "Шифрлэлтийн" бит нь цагаан толгойн үсгийг төлөөлөх тоог сонгох аргаас үүдэлтэй:

  • Цэнхэр намын "Давхар үсэг" кодонд бид тоо бүрийг хоёроор хувааж, үүссэн тоог (n) ашиглан цагаан толгойн n-р байранд байгаа үсгийг олно. Жишээлбэл, бид "BOY" -ийг 4-30-50 : 4/2 = 2 гэж шифрлэж болно ("B" нь цагаан толгойн 2-р үсэг); 30/2 = 15 ("O" нь цагаан толгойн 15 дахь үсэг); 50/2 нь 25 ("Y" нь цагаан толгойн 25 дахь үсэг).
  • Улаан намын "Гурвалсан үсэг" кодонд бид тоо бүрийг гурваар хувааж, үүссэн тоог (n) ашиглан цагаан толгойн n-р байранд байгаа үсгийг олно. Жишээлбэл, бид “BOY”-г 6-45-=75 : 6/3 = 2 (“B” нь цагаан толгойн 2-р үсэг); 45/3 = 15 ("O" нь цагаан толгойн 15 дахь үсэг); 75/3 = 25 ("Y" нь цагаан толгойн 25 дахь үсэг).


Энэ жишээ нь ижил зурваст шифрлэлт ашигладаг боловч Цэнхэр намынхан болон Улаан намын хүмүүс бодит байдал дээр өөр өөр мессеж солилцох болно (жишээ нь: "Макс бол новш" (Алис → Боб) болон "Цэнхэр намын гишүүд ялагдагч" ( Шерил → Макс) гэх мэт). Гэсэн хэдий ч, ижил мессежийг өөр өөр кодоор шифрлэх нь криптограф хэш функцүүдийн мөргөлдөөний эсэргүүцлийг тайлбарлахад тустай:


“ХҮҮ”-г Цэнхэр намын “Давхар үсэг” алгоритм болон Улаан намын “Гурвалсан үсэг” алгоритмыг ашиглан шифрлэхэд үр дүн нь маш өөр ( 4-30-50 ба 6-45-75 тус тус) байна. Цэнхэр намын гишүүн Улаан намын шифрлэлтийн алгоритмыг ашиглахаас бусад тохиолдолд 6-45-75 үүсгэх боломжгүй; Цэнхэр намын шифрлэлтийн алгоритмыг ашиглахаас бусад тохиолдолд Улаан намын гишүүн 4-30-50 мессежийн мөр болгон гаргаж чадахгүй. Тал бүр шифрлэлтийн алгоритмын нарийн ширийнийг хамгаалдаг тул өрсөлдөгч намын гишүүн өөрт нь зориулагдаагүй мессежийг тайлж чадахгүй гэдгийг бид мэднэ.



Криптографийн хэш функцууд нь шифрлэлтийн алгоритмаас ялгаатай: хэш функцууд нь нэг чиглэлтэй бөгөөд гаралтаас оролт гаргах ямар ч боломжгүй, харин жишээн дээрх шиг шифрлэлтийн алгоритмууд нь шифрлэлтийн функцийн оролтыг тайлах түлхүүртэй байдаг. Гэхдээ хэш функцууд болон шифрлэлтийн алгоритмууд нь ялангуяа мөргөлдөх эсэргүүцлийн талбарт ижил төстэй байдаг. Бид өөр өөр шифрлэлтийн алгоритмуудыг ашиглан нэг оролтод ижил гаралтыг (шифрлэгдсэн мессеж) олж чадаагүйтэй адил өөр өөр хэш функцийг ашиглан нэг оролтод ижил гаралтыг (хэш) олж чадахгүй.


Бид хэш функцүүдийн мөргөлдөөний эсэргүүцлийг ашиглаж, EIP-7503-ын шаардлагын дагуу хөрөнгийг шатаахад зарцуулагдах боломжгүй хаягуудыг үүсгэж чадна. Эхлээд бид хэрэглэгчдээс нууц утгыг s (Ethereum дансны хувийн түлхүүр) сонгохыг, нийтийн түлхүүрийг гаргахын тулд s * G -ийн Keccak256 хэшийг тооцоолохыг, мөн А хаягийг гаргахын тулд нийтийн түлхүүрийг хэшлэхийг хүснэ. Дараа нь бид хэрэглэгчээс нууц утгыг sH гэж тэмдэглэсэн өөр хэш функцээр хэш болгож, гаралтын эхний 20 байтыг хаяг болгон авч шинэ B хаяг үүсгэхийг хүснэ.


Бидний зорилго? Бид K(x) ≠ H(x) гэж дуусгахыг хүсч байна, K нь Keccak256 хэш функцийг, H нь өөр хэш функцүүдийн гэр бүлийн хэш функцийг илэрхийлдэг. Гүйцэтгэлийн шалтгааны улмаас бид H-г "ZK-д ээлтэй" байхыг хүсч байна (өөрөөр хэлбэл хэлхээний доторх H(x) -ийн үр дүнг шалгах нь хямд бөгөөд хурдан байх ёстой).


s * G -ийн Keccak256 хэшийг (хувийн түлхүүрийг үүсгэгчээр үржүүлсэн) тооцоолохын оронд санамсаргүй байдлаар хаягийг үүсгэсэн тул бид B- ийн нийтийн түлхүүрийг мэдэх боломжгүй, энэ нь B- ийн хувийн түлхүүрийг бас мэдэхгүй гэсэн үг юм. Хэрэв бид B- ийн хувийн түлхүүрийг мэдэхгүй бол B- ийн үлдэгдлийг зарцуулсан зурваст хүчинтэй гарын үсэг зурах боломжгүй. Санамсаргүй байдлаар зарцуулагдах боломжгүй хаягийг бий болгосноор бид одоо хэрэглэгчдэд хөрөнгөө дахин гаргахаасаа өмнө ETH-г шатаах боломжтой болсон.

Хувийн түлэгдэлтийн нотлох баримтыг бий болгож байна

Тухайн хэрэглэгч зарцуулагдах боломжгүй хаяг руу ETH илгээсэн бөгөөд зарцуулагдах боломжгүй хаягийг тухайн хэрэглэгч үүсгэсэн гэдгийг бид хэрхэн батлах вэ? Эхний шалгалт нь ETH-г хууран мэхлэхээс зайлсхийхэд шаардлагатай (хэрэв хэрэглэгч өмнө нь ETH шатаасан болохыг нотлохгүй бол бид шинэ ETH жетон гаргахгүй), гэхдээ хоёр дахь шалгалт нь бас чухал: бид хаягийг үүсгэсэн гэдгийг мэдэх хэрэгтэй. хэрэглэгч—үгүй бол хэрэглэгч өөр хүний хадгаламжийг нэхэмжлэхийг оролдоогүй гэдгийг баталгаажуулахын тулд бид тодорхой мэдээлэл (жишээ нь, шатсан гүйлгээний хэш) шаардах болно.


Бид нууцлалын протоколд хэрэглэгчийн оролцооны талаарх мэдээллийг задруулахаас зайлсхийхийг хүсч байгаа тул s-г нийтэд ил гаргахгүйгээр s -ийн мэдлэгийг нотлох 0 мэдлэгтэй нотлох баримтыг (шатаах хаягийг гаргах нууц утга) үүсгэх боломжийг хэрэглэгчдэд олгодог. Тэг-мэдлэгийн баталгаа нь хэрэглэгчийн H(s) -ийн үр дүнд үүссэн В хаягийн талаарх мэдлэгийг баталгаажуулдаг: s-г нууцаар сонгосон тул өөр хүн H(s) = H(s) гэсэн өөр H(x) утгыг тооцоолж чадахгүй. H(s) = H(s) . Энэ нь өмнө тайлбарласан хэш функцүүдийн мөргөлдөөнд тэсвэртэй шинж чанартай холбоотой юм.


s-г нуух нь EIP-7503 баталгаажуулагч руу нууцын талаарх мэдлэгийг баталгаажуулсан нотолгоог (зарцуулах боломжгүй хаяг үүсгэхэд ашигладаг) илгээснээр хорлонтой этгээдүүд хэрэглэгчийн хадгаламжийг эргүүлэн авахаас сэргийлдэг. Энэ хэсэгт бид H(s) = A нотлох 0 мэдлэгтэй нотолгоог яагаад баталгаажуулагчаас H(s) бие даан тооцоолохыг шаардах шаардлагагүйгээр бий болгох боломжтойг тайлбарласан болно. Гэхдээ та Виталикийн Квадрат арифметикийн программууд: Баатар руу тэг болон ZK-EVM-ийн тухай миний нийтлэлээс ZK-SNARK-ыг ашиглан тооцооллын үнэн зөвийг батлахын тулд оролтыг задлахгүйгээр уншиж болно.


Хэрэглэгчийн зарцуулагдах боломжгүй хаяг руу ( шатаах хаяг ) мөнгө шилжүүлснийг баталгаажуулсан мэдлэггүй нотолгоог бид "шатсаны нотлох баримт" эсвэл "шатсан баримт" гэж тодорхойлдог. Түлэгдсэн нотолгоо нь дараах мэдэгдлийг нотолж байна.

  • Хэрэглэгч нь A хаяг болон нууц утгыг s мэддэг бөгөөд энэ нь А-г гаргаж авах болно (өөрөөр хэлбэл, H(s) = A ). Энэ нь A нь зарцуулагдах Ethereum хаягийг үүсгэхэд ашигладаг Keccak256 хэш функцээс өөр (ZK-д ээлтэй) хэш функцээр хэш хийсний үр дүн гэдгийг баталгаажуулснаар хаягийг зарцуулах боломжгүй эсэхийг шалгаж байна.

  • A хаяг нь b ( b ≥ b' ) -тай тэнцүү буюу түүнээс их эерэг ETH үлдэгдэлтэй байна. Энэ нь хэрэглэгчийн хүлээн авах хаяг руу шилжүүлэхийг оролдож буй мөнгөн дүн нь зарцуулагдах боломжгүй хаягаар байршуулсан мөнгөтэй ижил эсэхийг шалгаж байна.


№1-ийг нотлох нь харьцангуй хялбар боловч №2-ыг батлах нь Ethereum-ийн төлөв байдлын талаар тодорхой зүйлийг батлахыг шаарддаг. Ялангуяа бид (a) зарцуулагдах боломжгүй хаяг нь каноник Ethereum мужид байдаг ба (б) зарцуулагдах боломжгүй хаягийн нэхэмжлэлийн үлдэгдэл нь муж дахь хаягтай холбоотой үлдэгдэлтэй таарч байгааг нотлох ёстой. Энэ нь шаталтын нотлох баримтыг үүсгэдэг хэлхээний оролт болгон А хаягийн Merkle нотолгоог дамжуулах шаардлагатай.


Merkle баталгаа нь бидний нотлох гэж буй навчнаас ( А хаяг) Мерклийн язгуур хүртэлх замыг тооцоолоход шаардлагатай Merkle Patricia Trie (MPT) навчнуудаас бүрдэнэ (trie root нь мөн нэг хэсэг юм. Мерклийн нотолгоо). Бидэнд Merkle баталгааг шалгахад ашигладаг төлөвийн үндэс нь мөн каноник гэдгийг нотлох баримт хэрэгтэй байгаа тул хэрэглэгчээс хэлхээний нэмэлт оролт болгон В блокийн толгойг дамжуулахыг шаарддаг. Энэхүү мэдээллийн багц нь нөөц хязгаарлагдмал шалгагчдад А хаягийг төлөвт оруулсан нь А -ийн b үлдэгдлийг баталгаажуулж, баталгаажуулах боломжийг олгодог.


Тайлбар *: EIP-7503 тодорхойлолт нь шатсан хаягийг төлөв байдалд оруулсан эсэхийг нотлох, EIP-1186 -д нэвтрүүлсэн * eth_getProof JSON-RPC аргаар хаягийн үлдэгдлийг баталгаажуулахад шаардлагатай Merkle нотлох баримтыг гаргахыг зөвлөж байна .

Хаягийн хувьд хүчингүй болгогч үүсгэж байна

ЗК-SNARK хэлхээний өөр нэг оролт нь зарцуулагдах боломжгүй хаяг руу хадгаламжийн баталгаа үүсгэдэг. Хүчингүй болгогч нь хэрэглэгчийг ETH-г хоёр удаа ашиглахын тулд ижил шаталтын баталгааг ашиглахаас сэргийлдэг утга юм. Хүчингүй болгох хэрэгсэлгүйгээр ухаалаг хэрэглэгчийг шаталтын баталгааг дахин ашиглахад юу ч саад болохгүй: EIP-7503 хувийн шилжүүлгийг боловсруулдаг зангилааны үүднээс авч үзвэл зарцуулагдах боломжгүй хаягийн үлдэгдэл хэзээ ч буурдаггүй ( энэ нь зөвхөн нэмэгдэж болно).


Хүчингүй болгогчийг ZK-SNARK нотлох хэлхээний оролт болгон дамжуулж, амжилттай шалгасны дараа шаталтын нотолгоо хүчингүй болно. Бид нотлох баримтаас (ашигласан) хүчингүй болгуулагчийг гаргаж аваад Sparse Merkle Tree (SMT) дотор хадгалах замаар энэ шинж чанарыг олж авдаг. Элемент оруулсныг үр дүнтэй нотолж чаддаг ердийн Мерклийн модноос ялгаатай нь Sparse Merkle мод нь элемент агуулаагүйг нотлоход үр дүнтэй байдаг. SMT-ийн тухай хэлэлцүүлэг хамрах хүрээгүй боловч өмнө нь холбосон нийтлэл нь сонирхогч уншигчдад зориулсан гайхалтай тоймыг өгдөг.


ZK-SNARK баталгаажуулах журам нь зөвхөн SMT нь шинээр ирүүлсэн нотолгоонд хавсаргасан хүчингүй болсон эсэхийг шалгах ёстой тул SMT нь энэ тохиолдолд ашигтай. Хэрэв Sparse Merkle Tree-д хүчингүй болгогч байхгүй бол хэрэглэгч энэ шаталтын нотолгоог өмнө нь ашиглаагүй бөгөөд шинэ мөнгө буцааж авч байгааг бид мэднэ. Бид шатсан хаягийг олон нийтэд ил гаргахгүйгээр ETH-г дахин шахахад ашигласан шаталтын хаягийг бүртгэхийн тулд SMT-д ашигласан хүчингүй болгогчийг нэмдэг.


Хэрэв бид зүгээр л Merkle модонд түлэгдэлтийн хаягийг хадгалаад, шинээр буцаан татах үед түлэгдэлтийн шинэ нотлох хаяг нь модны нэг хэсэг биш гэдгийг шалгавал юу болох вэ?


Энгийн шатаах хаягийг хүчингүй болгох нь гадны ажиглагчид хаягийн гүйлгээний түүхийг сүлжээнд хадгалагдсан шатсан хаягийн жагсаалттай харьцуулан шалгах замаар шатсан гүйлгээг илгээгчийг илчлэх боломжийг олгодог. Түлэнхийн хаяг (зайлшгүй) илгээгчийн санаачилсан гүйлгээний аль нэгэнд хүлээн авагч болж гарч ирсний дараа хэн ч бүртгэлийг удирдаж буй этгээдийг шатааж, ETH-ийг дахин цохиж баталгаажуулж чадна.


Түлэгдсэн (зарцагдах боломжгүй) хаягийн хэшийг ашиглах нь шилжүүлсэн хөрөнгийг хувийн байдлаар мэдэхэд хэцүү, гэхдээ боломжгүй зүйл биш юм. Үүний тулд аль нэг хэш нь SMT-д хадгалагдсан хүчингүй болгогчтой таарах хүртэл одоо байгаа Ethereum хаяг бүрийн хэшийг тооцдог бүдүүлэг довтолгоог шаарддаг. Хүчингүй болгох хэшийн урьдчилсан дүрсийг (өөрөөр хэлбэл зарцуулагдах боломжгүй хаяг) илрүүлсний дараа тухайн зарцуулагдах боломжгүй хаяг руу мөнгө илгээсэн дансыг хянахын тулд өмнө нь тайлбарласан алхмуудыг хийж болно.


Бид хүчингүй болгох илүү найдвартай механизмыг олох замаар энэ асуудлыг шийдэж чадна. Одоогийн EIP-7503 тодорхойлолтод батлагдсан стратеги нь ижил (ZK-д ээлтэй) хэш функцийг ашиглан s нууц утгатай шатаах хаягийг хэшлэх замаар хүчингүй болгох N үүсгэх явдал юм. Псевдо-математик тэмдэглэгээнд энэ нь дараах байдалтай харагдана: N = H(A,s) , энд A нь зарцуулагдах боломжгүй хаяг, s нь A-г анх үүсгэсэн нууц утга юм.


Энэ тохиолдолд s нууц утгыг давс гэж тодорхойлсон. Энэ давсны утга нь үндсэндээ хүчингүй болгогчоос шаталтын хаягийн талаарх мэдээллийг гаргаж авахад хүндрэлийг нэмэгдүүлдэг: хэрэв s нь мэдэгдэж байсан бол ажиглагч харгис хүчний довтолгоо хийж, hash(burnaddress,secret) -ийн бүх боломжит хослолыг ажиллуулж, N д хадгалагдсан хүчингүй болгогчийг үүсгэж болно. гинж. Гэхдээ s-г хэрэглэгч нууцалдаг бөгөөд энэ нь ашигласан хүчингүй болгогчийн харгалзах шатаах хаягийг олох боломжийг үр дүнтэй арилгадаг.

Хувийн түлэгдэлтийн нотолгоог шалгаж байна

Одоо бид түлэгдэлтийн нотлох баримт ямар мэдэгдлийг нотлохыг оролдож байгааг мэдэж байгаа тул нотлох баримт хэрхэн ажилладаг талаар зөв ойлголттой болсон. Эхний мэдэгдлийн хувьд ( h(s) = A ) шалгагч нь А хаягийг үүсгэхэд ашигласан хэш функцийн логикийг "ойлгох" шаардлагатай бөгөөд ингэснээр H(s) нь үнэхээр A-тай тэнцүү гэдгийг мэддэг. Шалгагчийн хэлхээнд хэш функцийн логикийг кодлох нь Keccak256 хэш функцээр А-г үүсгэх боломжгүй гэсэн шаардлагыг мөн хэрэгжүүлдэг.


Хоёрдахь мэдэгдлийн хувьд ( А нь ETH-ийн эерэг үлдэгдэл b байна) баталгаажуулагч нь Ethereum-ийн төлөвт A- г оруулсан, дансны өгөгдлийг баталгаажуулсан Merkle нотолгоог шалгах ёстой. Хэлхээний шалгагч нь мөн блокийн толгой B нь каноник гинжин хэлхээнээс байгаа эсэхийг — төлөвийн язгуурыг задлахын өмнө, BLOCKHASH opcode-г оролтын block.blockHash(blockNumber) гэж дуудах замаар шалгадаг бөгөөд blockNumber Б блокийн толгой хэсгийг хэлдэг. Хэрэв B нь каноник Ethereum гинжин хэлхээний нэг хэсэг бол BLOCKHASH үйлдлийн кодоор буцаасан hash нь B блокийн толгой хэсгийн хэштэй тохирч байх ёстой.


Нэмж дурдахад, баталгаажуулагчийн хэлхээ нь хэрэглэгчийн ZK-SNARK нотолгоонд багтсан хүчингүй болгуулагчийг баталгаажуулж, хүчингүй болгогчийг өмнө нь ашиглаагүй болохыг баталгаажуулдаг. Хэш функцүүдийн мөргөлдөөний эсэргүүцэл нь ижил burn address <> secret value хослолын хувьд N1 ба N2 хоёр өөр хүчингүй болгох оролдлогыг үүсгэх оролдлогоос сэргийлж, энд туслах үүрэг гүйцэтгэдэг. Хэрэв хэрэглэгч ижил хаягийн хувьд өөр өөр хүчингүй болгуулагч үүсгэж чадвал Sparse Merkle Tree нь тухайн хаягийн хүчингүй болгогчийг хадгалсан эсэхээс үл хамааран ETH-ийг хоёр дахин нэмэгдүүлж болно.


Түлэгдсэн нотлох баримтыг блок санал болгогчид баталгаажуулахын тулд EIP-7503 нь ZK-SNARK нотолгооны баталгаажуулалтыг хэрэгжүүлэхийн тулд EVM-д өөрчлөлт оруулахыг санал болгож байна. EIP-7503-ийн зохиогчид Polaris EVM хүрээг ашиглан EVM-ийн EIP7503-ийг идэвхжүүлсэн хувилбарыг бий болгосноор шаталтын нотолгоог EVM доторх баталгаажуулалтыг хэрэгжүүлэх боломжтой эсэхийг туршиж үзсэн. Протоколын дизайны талаар илүү дэлгэрэнгүй мэдээлэл авахыг хүсвэл төсөлд зориулсан GitHub репозитор руу зочилж болно.

ETH-г хүлээн авагчийн хаяг руу шилжүүлнэ

EIP-7503 нь хэрэглэгчдэд зориулж ETH-ийг ашигладаг шинэ гүйлгээний төрлийг нэвтрүүлж, тодорхой хэмжээний мөнгийг зарцуулагдах боломжгүй хаягаар байршуулсан гэдгээ нотолсон. Гүйлгээг илгээгч нь ZK-SNARK нотолгоог (хүчингүй болгохын хажууд) илгээдэг бөгөөд сүлжээ нь буцаан авах хаягийн үлдэгдлийг шинэчилдэг төлөвийн шилжилтийг гүйцэтгэдэг (шаталтын нотолгоог шалгасны дараа).


Хэдийгээр EIP-7503 нь үгүйсгэх үндэслэлтэй ч хэрэглэгчид ETH-г шатаасан хаяг руу илгээсэн ижил хаягийн мөнгөөр мөнгөн гүйлгээ хийхээс зайлсхийхийг зөвлөж байна. Хэрэв Алис зарцуулагдах боломжгүй 0xm00la хаяг руу ETH илгээж, дараа нь ижил хэмжээний ETH-ийн төлбөрийг тусдаа дансанд хийх гүйлгээг илгээвэл, Алисыг анхны шаталтын гүйлгээтэй холбохын тулд Боб Жимми Нейтрон байх шаардлагагүй.


Өмнөх хэсгүүдэд энэ талаар дурдаагүй боловч хэрэглэгчдэд ZK-SNARK проверийн хэлхээнд олон нийтийн оролт болгон хоёр дахь B хаягийг (энэ нь гаалийн гүйлгээнээс ETH хүлээн авах) оруулах шаардлагатай байна. Энэ нь гүйлгээ хийх гүйлгээг мемпулод хүлээж байх хооронд шударга хэрэглэгчдэд урдуур орохоос сэргийлдэг.


Баталгаажуулагч нь илгээж буй хаягийн таниулбарыг шалгадаггүй бөгөөд ETH-г шатаасан хаяг нь гүйлгээ хийхдээ ETH-г эргүүлэн авч байгаа эсэхийг мэдэх шаардлагаас санаатайгаар зайлсхийдэг гэдгийг санаарай. Энэ нь нууцлалын үүднээс авч үзвэл хэрэглэгчид ETH-г шинээр үүсгэсэн хаягаар дахин ашиглах боломжтой гэсэн үг боловч энэ нь урд талын халдлагад өртөх эрсдэлийг нэмэгдүүлдэг. Нотлох баримт нь баталгаажуулалтад шаардлагатай бүх мэдээллийг (нууц утгын талаарх мэдлэгийг оруулаад) кодчилдог тул хэн ч ижил нотлох баримттай, гэхдээ ETH хүлээн авах өөр хаягтай хуулбар гүйлгээг илгээж болно.


Аз болоход бид түлэгдсэн нотлох баримтыг буцаан авах В хаягийг лавлахыг шаардаж, маягтын дүрмийг мөрдүүлэх боломжтой: "Мөрийн гүйлгээ нь зөвхөн шатсаны нотлох баримтаас гаргаж авсан хаяг руу ETH-г гүйлгээ хийх боломжтой". ZK-SNARK хэлхээнд нийтийн оролт болгон дамжуулсан хаяг болон гүйлгээний гүйлгээнд заасан хаягийн хооронд тэнцэх эсэхийг шалгагч шалгана. Ингэснээр хэрэглэгч бүр өөрийн нотлох баримтын гүйлгээг мемпулаас авч, мөнгөө хулгайлж чадахгүй гэдэгт итгэлтэй байна.

Яагаад EIP-7503 гэж? Ethereum дээр хувийн шилжүүлгийн хэрэг

Хувийн шилжүүлэг, төлбөр

EIP-7503 нь Ethereum-ийн хэрэглэгчдэд хаяг илгээх болон хүлээн авах хооронд холбоос үүсгэхгүйгээр (санамсаргүйгээр) мөнгө шилжүүлэх энгийн аргыг санал болгодог. Та баталгаажуулах зорилгоор нэг түрийвчнээс ETH-г шинээр үүсгэсэн зарцуулагдах боломжгүй хаяг руу илгээж, өөр түрийвч рүү буцаан авах боломжтой. Гадны ажиглагчийн хувьд ETH-г шатаасан данс болон дансны ETH-ийн хооронд яг тэг хамаарал байдаг.


Хэрэв хэрэглэгч нэг гүйлгээнд ETH-г шатааж, шууд шинэ хаяг руу шилжүүлбэл захын тохиолдол гарч болзошгүй: гинжин хэлхээний шинжилгээний мэргэжилтэн нэг хүн хоёуланг нь хоёуланг нь хянах ёстой гэж хурдан ойлгож магадгүй юм. Гэсэн хэдий ч EIP-7503 нь нэрээ нууцлахаас урьдчилан сэргийлэх хүчирхэг функцтэй: үнэмшилтэй үгүйсгэх . Улс төрийн толь бичгээс үнэмшилтэй үгүйсгэлийн тодорхойлолтыг энд оруулав.


Үнэмлэхүй няцаалт гэдэг нь хууль бус эсвэл ёс зүйгүй үйл ажиллагаанд оролцсоныг нотлох тодорхой нотлох баримт байхгүй тул үгүйсгэх чадвар юм. Нотлох баримт дутмаг нь үгүйсгэлийг үнэмшилтэй, эсвэл үнэмшилтэй болгодог. -Улс төрийн толь бичиг


Үнэмлэхүйц үгүйсгэх нь ТТГ-ын үйл ажиллагааны бүрхэг ертөнцөөс үүдэлтэй бөгөөд албан тушаалтнууд доод албан тушаалтнуудын хийсэн үйлдлийг урьдчилан мэдэхийг үгүйсгэдэг байв. Үйл явдлын тухай олон нийтэд хүртээмжтэй баримт бичиг байхгүй байгаа нь өндөр албан тушаалтнууд хээрийн ажилтнуудыг үгүйсгэж, үйл ажиллагааны үр дүнгийн хариуцлагыг хүлээхээс зайлсхийж (их хэмжээний PR гамшигт өртөхөөс сэргийлж) гэсэн үг юм.


EIP-7503-ыг ашиглан хувийн шилжүүлэг хийх тохиолдолд үнэмшилтэй үгүйсгэх нь ижил утгатай. Таны "үндсэн түрийвч" 1.365 ETH шатааж, "хоёрдогч түрийвч" тань удалгүй 1.365 ETH-ийг шатааж байна гэж бодъё. Хэрэв таны үйл ажиллагаа хэт их гинжин хэлхээний слеутуудын анхаарлыг татвал та өөр хэн нэгэн таныг хувийн шилжүүлгийг хийж байгаа мэт харагдуулахын тулд 1.365 ETH хийсэн гэж хэлж болно.


Хэрэв танаас "Яагаад та нууцаар мөнгө шилжүүлэх бодолгүйгээр шатаж буй хаяг руу ETH илгээдэг юм бэ?" гэх мэт асуулт асуувал яах вэ? Та гүйлгээг санамсаргүй хийсэн гэж хэлж болно—эцсийн эцэст хүмүүс хүлээн авагчийн хаягаар үсгийн алдаа гаргасны улмаас маш их хэмжээний ETH алдагдсаныг хэн ч үгүйсгэхгүй ( би ч гэсэн ийм алдаа гаргасан). Энэ нь яриаг бүхэлд нь эргүүлж байна, учир нь хүйтэн сэтгэлтэй хүнээс өөр хэн их хэмжээний ETH алдсаныг ойлгохгүй байх вэ?



Энэ бол EIP-7503-ын ач холбогдлыг харуулсан өчүүхэн жишээ юм: үнэмшилтэй үгүйсгэгдсэн байдал нь Ethereum-ийн байнгын хэрэглэгчид нууцлалын протоколд оролцохыг санал болгож болох тодорхой мэдээллийг задруулахгүйгээр хувийн шилжүүлэг хийх боломжийг олгодог. Хэрэглээний түвшний нууцлалын протоколуудаас ялгаатай нь EIP-7503 нь гүйлгээний ул мөрийг гинжин хэлхээнд хадгалахаас зайлсхийж, шатаах болон гаалийн гүйлгээг бодит ертөнцийн таних тэмдэгтэй холбоход хэцүү болгодог.


EIP-7503 нь нэрээ нууцалж, нууцлалыг бүрэн хангадаггүй тул түлэгдсэн хаяг руу мөнгө шилжүүлсэн тухай мэдээлэл, түүний дотор шилжүүлсэн дүн нь сүлжээнд бүртгэгдсэн байдаг. Гэхдээ гүйлгээнд хаяг илгээх болон хүлээн авах хоорондын холбоог таслах чадвар нь нэлээд хүчтэй бөгөөд хаягийг дахин ашиглахтай холбоотой санаа зовнилыг бууруулдаг.


Төлбөр хүлээн авахдаа ижил хаягийг ашиглахын оронд хэрэглэгч шинэ хаяг үүсгэж, энэ хаяг руу мөнгө илгээхийг хүсэх боломжтой. Хэрэглэгч s нууц утгын талаар мэдлэгтэй тул гинжин баталгаажуулагч руу шатсан хаягийг үүсгэх хяналтыг харуулсан хүчинтэй шаталтын нотлох баримтыг үүсгэж, ETH-г өөр хаяг руу шилжүүлэн хадгаламжийг "татгаж авах" боломжтой. . Энэ нь шилжүүлгийг хүлээн авах нууц хаяг үүсгэх үзэл баримтлалтай нэлээд төстэй бөгөөд өөр өөр гүйлгээг нэг аж ахуйн нэгжтэй уялдуулах магадлалыг бууруулдаг.


EIP7503 маягийн хувийн шилжүүлэг нь бусад хувилбаруудад хэрхэн ашигтай болохыг бид харж болно.

  • Худалдаачид : Түлэнхийн хаягаар төлбөр хүлээн авч, дараа нь салгах боломжгүй мөнгө авах хаяг руу ETH шилжүүлснээр худалдаачид санхүүгийн мэдээллийг ил гаргахаас сэргийлж чадна. EIP-7503-ийн хувийн гүйлгээний онцлог нь гадаад ажиглагчдыг бараа бүтээгдэхүүнээс хэр их мөнгө авдаг, эсвэл худалдан авагчдын баазын хэмжээ гэх мэт дэлгэрэнгүй мэдээллийг гялалзахаас сэргийлдэг.
  • Худалдан авагчид : Худалдаачны өгсөн хаягаар төлбөрөө хийснээр (худалдагчийн олон нийтэд танигдах хаяг руу илгээхийн оронд) худалдан авагчид худалдан авалтын түүхтэй холбоотой мэдээлэл алдагдахаас сэргийлдэг. Түлэгдсэн хаягийг худалдаачны "жинхэнэ" данстай уялдуулах боломжгүй бөгөөд энэ нь таны юу худалдаж авсан, хэнээс авсан талаар мэдэхэд саад болдог.
  • Филантропи : Буяны байгууллага болон улс төрийн байгууллагууд нь илгээгчийн хувийн мэдээллийг сүлжээнд байнга бүртгэхгүйгээр мөнгө хүлээн авах боломжтой. Хувь хүмүүс олон нийтийн нэр хүндэд халдахгүйгээр тодорхой зорилгоор хандив өргөх боломжтой.


EIP-7503 нь нууцлалын бус шалтгаанаар бас ашиглагдаж болно:

  1. Одоогоор төвлөрсөн биржүүд (CEXes) нь хэрэглэгчээс мөнгө хүлээн авахын тулд өвөрмөц хаяг үүсгэх ёстой бөгөөд үйл ажиллагааны аюулгүй байдлын процессын нэг хэсэг болгон хаяг бүрийн үлдэгдлийг нэг буюу хэд хэдэн хүйтэн түрийвч рүү шилжүүлэх гүйлгээг илгээх шаардлагатай байна. EIP-7503-ийн тусламжтайгаар CEX оператор нь олон хэрэглэгчдээс хадгаламж хүлээн авдаг нэг шаталтын хаяг үүсгэж, нэг удаагийн гүйлгээгээр шатсан хаягаар хуримтлагдсан бүх хадгаламжийг хүйтэн түрийвч рүү буцаан авах баталгаа үүсгэх боломжтой. CEX хадгаламжийг хүйтэн түрийвчэнд нэгтгэхэд шаардагдах гүйлгээний тоог бууруулснаар CEX оператор (үйл ажиллагааны зардал багассан) болон сүлжээнд (гинжин хэлхээний гүйлгээний тоо бага) ашигтай.
  2. Сүлжээнд их хэмжээний төлбөр боловсруулдаг аливаа байгууллага үйл ажиллагааны үр ашгийг дээшлүүлэхийн тулд EIP-7503-ыг ашиглах боломжтой байдаг тул CEX нь цорын ганц ашиг хүртэгчид биш юм. Худалдаачид, буяны байгууллагууд болон крипто-уугуул төлбөрийн төмөр замууд нь EIP-7503-ийг түлэнхийн хаяг дахь хадгаламжийг нэгтгэж, олон хадгаламжийн гүйлгээний зардлыг тараах замаар үйл ажиллагааны нэмэлт зардлыг бууруулах зорилгоор ашигладаг байгууллагуудын жишээ юм. EIP-7503-ийн энэ тал нь нэрээ нууцлах багцад нэгдэх санхүүгийн хөшүүргийг бий болгож, хувийн шилжүүлэг хийж буй дансны ерөнхий нууцлалыг нэмэгдүүлэхэд шаардлагатай гаж нөлөө үзүүлдэг.

Хувийн нууцлалыг хэрэглээний болон зохицуулалтын нийцэлтэй тэнцвэржүүлэх

EIP-7503 нь протоколд өргөн хүрээтэй өөрчлөлт оруулах шаардлагагүйгээр Ethereum дээр гүйлгээний нууцлалыг баталгаажуулах энгийн замыг өгдөг. Ялангуяа EIP-7503 нь Ethereum-д Zcash, Monero зэрэг нууцлалд төвлөрсөн блокчейнуудтай тулгарахгүйгээр гүйлгээний нууцлалыг санал болгох боломжийг олгоно.


Хэдийгээр би өмнө нь нууцлалын зоосыг хамгаалж бичиж байсан ч ZEC (Zcash) болон MNR (Monero) зэрэг нууцлалын зоос нь дэлхийн эдийн засагт төвлөрсөн бус, хувийн болон ашиглагдах мөнгийг нэвтрүүлэх зорилгод хүрч чадахгүй гэдгийг ойлгоход тийм ч их зүйл хэрэггүй. . Зохицуулалтын дарамтаас болж биржүүд нууцлалын зоосыг жагсаалтаас гаргахыг шаардаж байгаа тул эзэмшигчид Zcash, Monero болон бусад протоколуудын санал болгож буй нууцлалын давуу талыг бодит нөхцөл байдалд гүйлгээний мэдээллийг нуун дарагдуулах зорилгоор ашиглахад улам хэцүү болж байна. Хасиб Курешигийн"Нууцлалын зоос яагаад арилаагүй байна вэ" номноос авсан энэхүү ишлэл нь өнөөдөр "хатуу" нууцлалын төслүүдэд тулгарч буй сорилтуудын талаар сайн танилцуулга юм.


Нууцлалын зоос нь зохицуулалтын шалгалтын эхний бай байсаар ирсэн. Зохицуулагчдыг “зүгээр зогсохгүй, ямар нэгэн зүйл хий” гэж үүрэгдэхэд хамгийн хялбар арга бол нууцлалын нууц зоос юм. Зохицуулалтын тал дээр бид Өмнөд Солонгос , Япон , Их Британид нууцлалын зоосны бүртгэлээс хасагдсаныг харсан. болон АНУ . Засгийн газрууд нууцлалын зоосны гогцоог чангалахыг тасралтгүй оролдож байна ( энд , энд , эндээс үзнэ үү).


Крипто лобби илүү том болсон; жижиглэн худалдааны асар том салбарууд болон олон байгууллагууд одоо BTC болон ETH-ийг эзэмшдэг. Гэхдээ маш цөөхөн байгууллага нууцлалын зоосыг хамгаалахад бэлэн байна. Олон хүмүүс энэ салбарыг бүхэлд нь бохирдуулахын оронд нууцлалын зоосыг тахилын хурга болгоход сэтгэл хангалуун байдаг. — Хасиб Куреши ( Нууцлалын зоос яагаад арилаагүй вэ )


EIP-7503 нь Ethereum-ийн хувьслын яг зөв мөчид ирсэн мэт санагдаж байна: ямар ч блокчэйнээс илүү олон хэрэглэгчтэй, их хэмжээний институцийн хөрөнгө оруулалттай учраас Ethereum нь хувийн төлбөрийн функцээр хангах гэж оролдсон бусад төслүүдтэй адил хувь заяанд өртөх магадлал багатай. өнгөрсөнд. Хувийн хэвлэсэн ETH жетон эргэлдэж эхэлбэл цөөн хэдэн бирж эфирийн арилжааг хязгаарлах уу? Магадгүй. Гэхдээ өөр хэдэн биржүүд энэ үүрэг хариуцлагыг хүлээхдээ маш их баяртай байх болно - энэ бол хүчтэй сүлжээний нөлөөг үзүүлэх явдал юм.


Би яагаад EIP-7503 зөв цагт ирсэн гэж хэлэх вэ? Ethereum-ийн түүхэнд суурь давхаргад нууцлалыг дэмжих нь хүн бүр нэн даруй хийх ёстой гэж үздэг цаг үе байсан. Гэхдээ олон нийтийн бусад хүмүүс (зөв) Ethereum-ийг "нууцлалын технологи" болгон сурталчлахтай холбоотой боломжит давуу талуудыг онцлон тэмдэглэв. Ethereum-ийн нууцлалыг нэмэгдүүлэх шаардлагатай байгаа тухай Ethereum Magicians форум дээрх хуучин сэдвээс ишлэлүүд энд байна:

Виталикийн анхны форумын нийтлэл нь Ethereum хэрэглэгчдийн нууцлалыг сайжруулах шийдлүүдийг шаарддаг. (эх сурвалж)

Virgil Griffith-ийн хариу сэрэмжлүүлэг Ethereum нууцлалын тоглоом руу яаран орохоос сэрэмжлүүлэв. (эх сурвалж)


Гриффитийн зөн совин нь дараагийн жилүүдэд ихэвчлэн зөв байсан бөгөөд олон тооны анхдагч нууцлалтай криптовалютууд зөвхөн хатуу үзэлтэй киферпанкуудын (дэлхийн хүн амын 0.00001%-иас бага хувийг эзэлдэг бүлэг) ашигладаг захын валют болох төлөвтэй тулгарч байна. Харьцуулбал, Ether (ETH)-ийн үнэ цэнэ, түгээмэл байдал нь EIP-7503-ийг нэвтрүүлснээр "нууцлалын технологи руу чиглүүлэх" нь таван жилийн өмнөхтэй харьцуулахад эрсдэл багатай болтлоо өссөн байна.


Хувийн шилжүүлгийг дэмжихийн тулд шинэчлэлт хийж байгаа бол зохицуулалтыг урвуу барихаас зайлсхийх эсвэл суурь түвшний нарийн төвөгтэй байдлыг багасгахын тулд. Тохиромжтой хувилбар бол EIP-7503-ийг Ethereum L2 болон L3-д хэрэгжүүлэх хариуцлагыг шилжүүлэх явдал юм. Ethereum -ийн багцад чиглэсэн замын зураглалыг харгалзан үзэхэд EIP-7503-ийг багц хэлбэрээр хэрэгжүүлэх нь утга учиртай бөгөөд Ethereum-д нууцлалыг баталгаажуулах зорилгыг хадгалсаар байна (жишээ нь, ERC-4337-г уугуул дансны хийсвэрлэлд зориулж хэрэгжүүлдэг цуваатай адил).


EIP-7503-ийг хэрэгжүүлэх энэ арга нь илүү хялбар байдаг, учир нь L2 гинж бүр L2 дээрх хэрэглэгчдэд зориулсан ETH-ийг ашигладаг гүүрний гэрээтэй байдаг. ETH токенуудыг шахах механизмтай тул эргэлдүүлэгчдэд зөвхөн EIP7503 маягийн хувийн шилжүүлгийг дэмжихийн тулд гинжин хэлхээнд хүчингүй болгох, шаталтын нотлох баримт үүсгэх/баталгаажуулах бүрэлдэхүүн хэсгүүдийг нэмэх шаардлагатай. EIP-7503-ийг дэд бүтцэд нь нэгтгэх төлөвлөгөөтэй 2-р давхаргын (L2) гинжин хэлхээний жишээ бол энэхүү Тайлбарын Хүсэлтэд (RFC) тайлбарласны дагуу Taiko юм.


(эх сурвалж)


Эндээс бид Taiko шиг протокол нь EIP-7503-ыг нэвтрүүлснээр дэд бүтцэд нь өргөн хүрээтэй солилцоо хийхгүйгээр гүйлгээний нууцлалыг санал болгож чадна гэдгийг бид харж байна. Энэ нь бүрэн хэмжээний нууцлалд төвлөрсөн L2 (a là Aztec v2 ) бүтээхийг хүсдэггүй протоколын багуудад гол давуу талтай боловч хэрэглэгчдэд үндсэн хяналт, холболтыг салгах боломжгүй болгохыг хүсдэг. Nethermind багийн Taiko дээр EIP-7503-ийг хэрэгжүүлэх саналыг унших нь зүйтэй бөгөөд EIP-7503-ийг Ethereum L2-ээр хэрхэн хэрэгжүүлж болох талаар ойлголттой болно.


EIP-7503 нь нууцлалын хэрэгцээг зохицуулалтын шаардлагад нийцүүлэн тэнцвэржүүлдэг бөгөөд энэ нь Ethereum-ийн "нууцлал 2.0" хөдөлгөөний зорилгод нийцдэг: хэрэглэгчийн нууцлалыг хамгаалахын зэрэгцээ муу жүжигчид нууцлалын дэд бүтцийг бузар булай зорилгоор ашиглах боломжгүй болно. Ethereum Research дээр тайлбарласан EIP-7503-ийн хэрэгжилтийн дагуу EIP-7503-ийг нэвтрүүлсэн багц нь мэдэгдэж буй хакерууд болон луйварчид хувийн шилжүүлгээр мөнгө угаахыг сонгон хориглосноор Tornado Cash-ийн асуудлыг давтахаас сэргийлж чадна.


Энэ өмчид хүрэхийн тулд бид хэрэглэгчдээс хар жагсаалтад орсон хаягуудын жагсаалтыг ( blacklist[] ) хэлхээнд оруулахыг шаарддаг бөгөөд энэ нь шатсан гүйлгээний ZK-SNARK нотолгоог үүсгэдэг. Уг хэлхээ нь шаталтын нотлох баримт үүсгэх үед ETH хүлээн авч буй хэрэглэгчийн хаяг хар жагсаалтад хадгалагдсан хаягуудын нэг хэсэг биш эсэхийг шалгадаг—хар жагсаалтад орсон хаяг руу шилжүүлэх нь автоматаар бүтэлгүйтэх болно, учир нь оролт хийгдвэл хэлхээ нотлох баримт үүсгэж чадахгүй. хүчинтэй байх бүх нөхцлийг хангаж чадахгүй.


Хар жагсаалтад орсон хаягуудын бүртгэлийг хөтлөх нь тодорхой хэмжээний төвлөрөл, цензурын векторуудыг бий болгодог. Гэхдээ хэрэв бид төвлөрсөн, дээрээс доош чиглэсэн зохицуулалтаас олон нийтэд тулгуурласан, газар дээр нь өөрийгөө зохицуулах зохицуулалт илүү дээр гэдгийг хүлээн зөвшөөрвөл дүрэм журамд нийцүүлэхийн тулд ийм хэрэгсэл шаардлагатай байж магадгүй юм.

Сүлжээнд ажилладаг байгууллагуудын хувийн цалингийн менежмент

Ил тод байдал нь DAO (Төвлөрсөн бус бие даасан байгууллагууд)-ийн тулгын чулуунуудын нэг юм: санхүүгийн урамшууллын дэлгэрэнгүй мэдээллийг хөрөнгө оруулагчид болон сонирхогч талуудаас нуудаг уламжлалт байгууллагуудаас ялгаатай нь DAO-д хандивлагчдын төлбөрийг гинжин хэлхээнд олон нийтэд бүртгэдэг. Энэхүү гинжин хэлхээний аудитын зам нь ихээхэн хэмжээний хариуцлагыг бий болгож, DAO-ийн администраторуудын санхүүгийн буруу удирдлагад хүргэж болзошгүй мэдээллийн тэгш бус байдлыг эрс багасгадаг.


Гэсэн хэдий ч DAO нь зайлшгүй төлөвшиж, корпорацууд шиг (сайн эсвэл муугаар) үйл ажиллагаагаа явуулж эхлэх бөгөөд энэ үед хувь нэмэр оруулагчдын нөхөн олговрын дэлгэрэнгүй мэдээллийг нууцлах гэх мэт зүйлсийг хүсч болно. EIP-7503 нь DAO-ууд үндсэн хувь нэмэр оруулагчид, хөгжүүлэгчид болон бие даасан гэрээлэгч нарт хувийн төлбөр хийж эхлэхэд шаардлагатай дэд бүтцийг бий болгодог. Бүх тохиолдолд хүлээн авагч нь төлбөрөө хүлээн авч, сонгосон хаяг руугаа буцаан авахын тулд зөвхөн шатах хаяг үүсгэх шаардлагатай.


Хувийн хувь нэмэр оруулагч/гүйцэтгэгчийн төлбөрийг хэрэгжүүлсэн тохиолдолд DAO-ийн гишүүд администраторуудад хэрхэн хариуцлага тооцох вэ? Энэ нь DAO-ийн хайж буй нууцлалын түвшин болон DAO-ийн гишүүд ямар түвшний нууцлалыг тэсвэрлэж чадахаас хамаарна. Жишээлбэл, AliceDAO үнэхээр DAO-ийн ажилд зориулж Алисад 20 ETH төлсөн бөгөөд мөнгийг өөр зорилгоор ашиглаагүй гэдгийг нотлохын тулд Алис зарцуулагдах боломжгүй хаягийг үүсгэсэн болохыг нотлох баримтаар хангаж чадна.


Жишээлбэл, Алис зарцуулагдах боломжгүй хаягийг үүсгэхэд ашигласан хувийн түлхүүрүүдийг илчилж болно. Хаягдалгүй хаяг нь алт олборлосны дараа хүчингүй болсон тул Алис ямар ч эрсдэлгүйгээр s-г илчилж чадна. Гуравдагч этгээдийн баталгаажуулагч нь Алисагийн анх ашиглаж байсан криптограф хэш функцийг ашиглан хэш хийх замаар зарцуулагдах боломжгүй хаягийг гаргаж, хоёр хаягийг харьцуулна. Хэрэв тэдгээр нь таарч байвал шалгагч нь гүйлгээг илгээх үед Алис шатсан хаяг руу нэвтэрч байсныг мэднэ. Гэсэн хэдий ч Алис цутгасан ETH жетоныг ямар хаягаар хүлээн авсныг мэдэхгүй (Алисын хувийн нууцыг тодорхой хэмжээгээр хадгалсан).

Криптовалютын холигчоос хараат байдлыг багасгах

Tornado Cash гэх мэт холигч ашиглан түрийвчний хаяг хоорондын холбоосыг таслах нь асуудалтай тул гэм буруугийн хэлбэрийг бий болгодог. Холигч нь өөр өөр хэрэглэгчдийн байршуулсан мөнгийг нэг санд холих замаар нэрээ нууцлах боломжийг олгодог гэдгийг санаарай.


Хувийн нууцлалын санд хэдий чинээ их мөнгө байршуулах тусам гадны ажиглагч хэнд юу эзэмшдэгийг тодорхойлоход хэцүү байх болно; Хэрэв муу жүжигчид усан санд нэгдвэл шударга оролцогчид протоколын нэрээ нууцлах багцад хувь нэмрээ оруулах замаар гэмт хэрэгтнүүдийг мөнгө угаахад нь санамсаргүйгээр тусалж болно. Тийм ч учраас OFAC хориг арга хэмжээ нь Tornado Cash-тай харилцаж байсан хаягууд нь мэдэгдэж байгаа муу жүжигчидтэй (жишээлбэл, фишинг бүлэглэлүүд, улсын ивээн тэтгэдэг хакерууд, хар малгайтнууд) холбоогүй байсан ч гэсэн сунгасан (мөн үргэлжилсээр байгаа).


Tornado Cash гэх мэт холигч нь хөгц мөөгөнцөртэй холбоотой асуудал үүсгэдэг: холигчоос гаргаж авсан жетон нь "бохирдсон" бөгөөд холигчоор дамжин өнгөрөөгүй "цэвэр" жетоноор 1:1-ээр ашиглах эсвэл солих боломжгүй болно. Reddit дээр бохир хөрөнгийн асуудлыг илүү нарийвчлан авч үзсэн гайхалтай сэдэв байгаа бөгөөд үүнийг уншихыг зөвлөж байна. Энэ сэдвээс илүү гэгээлэг сэтгэгдлийг энд оруулав:


Эх нийтлэл (эх сурвалж)


(эх сурвалж)


(эх сурвалж)


Энэ нь бодит үр дагаварт хүргэж болзошгүй: жишээлбэл, Ethereum нийгэмлэгийн олон алдартай хүмүүс Tornado Cash сангаас хэтэвчдээ хүсээгүй их хэмжээний ETH илгээгдсэний дараа зарим Dapp-тай харилцах боломжгүй болсон . EIP-7503 нь "гэрээгүй холигч" гэж тодорхойлогддог бөгөөд ETH-г шатаахын тулд EOA-аас EOA руу тогтмол шилжүүлэг ашиглан, нэрээ нууцлах сангаас мөнгө гаргахад хялбар болгохын тулд (ухаалаг гэрээг ашиглахтай адил) шууд нийлбэрийг нэвтрүүлснээр дээр дурдсан асуудлуудаас зайлсхийдэг.


Гэрээгүй холигчийн өөр нэг давуу тал бол нэрээ нууцлах багцын хэмжээ юм. Tornado Cash (болон Railgun гэх мэт үүнтэй төстэй протоколууд)-ийн тусламжтайгаар нэрээ нууцлах багц нь оролцогчдын тоотой холбоотой бөгөөд цаг хугацаа өнгөрөх тусам багасдаг. Үүний эсрэгээр, EIP-7503 нь Ethereum дээрх зарцуулагдах болон зарцуулагдах боломжгүй хаягуудыг бүхэлд нь нэрээ нууцлах багц болгон хувиргадаг. Хаягийн орон зай их байгаа тул хувийн шилжүүлгийг хүлээн авагч руу илгээсэн ETH хаанаас ирснийг мэдэхийг зорьж буй гинжин хэлхээний нууц ажилтнуудыг маш хэцүү ажил хүлээж байна гэж хэлэхэд аюулгүй.


Вальдог хайж байна > гинжин хэлхээний sleuth тоглож байна.

EIP-7503-ийг хэрэгжүүлэхэд сул тал бий юу?

EIP-7503-ийг хэрэгжүүлэхэд учирч болзошгүй сул талуудыг доор харуулав.

Зохицуулалтын нийцлийн асуудал

Өмнөх дүн шинжилгээнүүд нь Ethereum нь хувийн шилжүүлгийг дэмжиж эхэлбэл Monero болон Zcash-тэй адил хувь тавилантай байх магадлал багатай гэж үзэж байгаа ч EIP-7503 идэвхжсэн тохиолдолд юу болохыг урьдчилан таамаглах боломжгүй юм. Зохицуулагчдад үзүүлэх нөлөөллийн талаар ярилцаж буй Ethereum Magicians сэдэвт оролцогчийн тайлбарыг энд оруулав.


(эх сурвалж)


Ethereum-ийн хувийн нууцлалын үндсэн шийдэл хэдий ч Tornado Cash-д чиглэсэн хориг арга хэмжээ авсны дараа олон нийт нууцлал/нэрээ нууцлах, хууль тогтоомжийг дагаж мөрдөх хоёрын хоорондох хатуу утсыг даван туулахын чухлыг хүлээн зөвшөөрч эхэлж байна. Энэхүү санаа нь Privacy Pools , Nocturne зэрэг шинэ үеийн нууцлалын протоколуудын загварт онцгой нөлөө үзүүлж байна.

  • Нууцлалын сан нь хэрэглэгчдэд муу жүжигчдийн хадгаламжийг хадгалдаг цөөрмөөс хадгаламжаа хассаныг гэрчлэх "гэм буруугүйг нотлох" боломжийг олгодог. Өөрөөр хэлбэл, хэрэглэгч холигчтой харилцаж, "Би гэмт хэрэгтэн, террористуудад мөнгө угаахад туслахгүй" гэж хэлж болно.

  • Ноктурн нь гэм буруугүйг нотлох протоколд шилжих төлөвлөгөөтэй байгаа ч одоогоор дагаж мөрдөхийг баталгаажуулахын тулд хэд хэдэн хамгаалалтын хашлага хэрэгжүүлж байна . Үүнд хадгаламжийн шүүлт, хадгаламжийн боловсруулалтын саатал, хаяг тус бүрийн ханшийн хязгаар, протоколын нэг өдрийн дотор боловсруулж болох хадгаламжийн нийт үнэ цэнийг хязгаарласан дэлхийн хүүгийн хязгаар багтана.


Nocturne болон Privacy Pools зэрэг гэрээнд суурилсан ухаалаг нууцлалын шийдлүүд нь нарийн хяналтыг хэрэгжүүлэх чадвартай бөгөөд хууль бус үйл ажиллагаа эрхэлж буй хэрэглэгчдийг сонгон оролцуулахгүй. EIP-7503 гэх мэт протокол доторх нууцлалын шийдлүүд нь ялгаварлан гадуурхах зүйлгүй бөгөөд энэ нь асуудал үүсгэж, муу жүжигчдэд хувийн гүйлгээний үйл ажиллагааг урвуулан ашиглах үүд хаалгыг нээж өгөх нь зүйтэй.


Өмнө дурьдсан хар жагсаалтын хэрэгслийг нэмж оруулснаар (онолын хувьд) EIP-7503-ийг сайжруулах боломжтой боловч энэ нь Pandora-ийн асуудлын хайрцагыг нээх магадлалтай.

  • Хар жагсаалтад орсон хаягуудын жагсаалтыг хэн хөтлөх вэ? Бид OFAC-аас хар жагсаалтад орсон хаягуудын жагсаалтыг гаргаж өгөхийг хүсч, Ethereum дээр хувийн гүйлгээ хийх эрхийг засгийн газар шийдэх эрсдэлтэй юу? Баталгаажуулагчдын багц blacklistedAddresses жагсаалтад орсон хаягийн бүртгэлд орсон нэг буюу хэд хэдэн дансны шилжүүлгийг цензураас татгалзвал бид маргаантай салаа үүсгэх эрсдэлтэй юу?
  • Хэрэв EIP-7503 нь багцаар хэрэгжсэн бол blacklistedAddresses бүртгэлийг хөтлөх ажлыг ДАО хариуцдаг уу? Эсвэл үүсгэн байгуулагч баг нь Chainalysis, Elliptic, TRM Labs зэрэг шүүх шинжилгээний компаниудтай гэрээ байгуулж, аль хаягаар хувийн шилжүүлгийг хүлээн авахыг хязгаарлах ёстой талаар мэдээлэл өгдөг үү? Хэрэв ашгийн төлөө компани багцын үндсэн давхаргад юу болохыг шийдвэл ямар асуудал гарч болох вэ?
  • Хэрэв цуглуулга нь захиргааны эрхийг хасч, баталгаажуулагч/минтерийн гэрээг шинэчлэх боломжгүй болгохоор шийдсэн бол энэ нь муу жүжигчид протоколоор мөнгө шилжүүлж эхлэхгүй байхыг хэрхэн баталгаажуулах вэ? Мэдэгдэж буй мөлжлөгчдийн гүйлгээг сонгон шүүж, стекийн дээд давхаргад (жишээ нь, дараалал тогтоогч эсвэл баталгаажуулагчийн түвшинд) шийдвэрлэх боломжтой юу? Логистикийн асуудал юу вэ?


Эдгээр нь Ethereum (эсвэл Ethereum L2s) EIP-7503-ийг нэвтрүүлэхээс өмнө хариулах шаардлагатай хэдхэн асуулт юм. Крипто хараахан тодорхойгүй байгаа боловч энэ нь протоколын урт хугацааны оршин тогтноход чухал нөлөө үзүүлэх шийдвэр гаргахдаа олон тооны Murphyjitsu-г гүйцэтгэхэд тусалдаг, боломжит захын тохиолдлуудыг урьдчилан бодож үздэг.


Аз завшаанаас өөр юуг ч хүлээдэггүй хүмүүст золгүй явдал хамгийн их жинтэй байдаг. - Сенека

ERC-20 жетонтой холбоотой боломжит төвлөрөл

EIP-7503-г хэрэгжүүлэхийн тулд шатсан баримтыг хүлээн авч, өмнөх гүйлгээнд шатаасан ETH-тэй хүлээн авагчийн үлдэгдлийг тооцдог шинэ гүйлгээний төрлийг дэмжихийн тулд EVM-ийг шинэчлэх шаардлагатай. Гүйцэтгэлийн үйлчлүүлэгчид мөн хүчингүй болгуулагчдыг хадгалах Sparse Merkle Tree (SMT)-ийг дэмжихийн тулд шинэчлэх, хэрэглэгчдийн нэрийн өмнөөс түлэгдэлтийн нотолгоог үүсгэх, баталгаажуулах хэлхээнээс гадуурх хэлхээг хэрэгжүүлэх шаардлагатай болно.


Шинэчлэлт хийх боломжгүй гэдгийг хүлээн зөвшөөрч, EIP-7503-ийн зохиогчид ERC-20 жетон гэрээг ашиглан EIP-7503-ыг хэрэгжүүлэх өөр санал байна. Хэрэглэгчид өмнөх хэсгүүдэд дурдсан ижил ажлын урсгалыг (зарцуулах боломжгүй хаяг руу мөнгө илгээж, хүчингүй болгох) хэвээр хадгалдаг боловч ETH жетон хүлээн авахын оронд шатсаны нотлох баримтыг илгээсний дараа ERC-20 жетоныг гаа. ERC-20 гэрээ нь гинжин хэлхээнд түлэгдсэн нотолгоог баталгаажуулдаг тусгай EIP-7503 баталгаажуулалтын гэрээтэй нэгддэг (ERC-20 гэрээ нь баталгаажуулах хэлхээг хэрэгжүүлэх боломжтой).


ERC-20 гэрээ нь EIP-7503-ын хэрэгжилтийг хялбаршуулдаг бол энэ арга нь төвлөрөл, цензурын асуудлыг дахин оруулж ирж байна. Бид төвлөрсөн векторуудыг арилгахын тулд ERC-20 жетоныг шинэчлэгдэхгүй, Wrapped Ether (WETH) шиг удирдах боломжгүй болгож болох ч энэ нь биржүүд жетоныг бүртгэлээс хасах зэрэг асуудлыг шийдвэрлэхэд тус болохгүй.


Түүнчлэн, зохицуулагчид Ethereum дээр эргэлдэж буй нууцлалыг эрхэмлэсэн криптовалютуудын араас явахаар шийдсэн бол ERC-20 гэрээтэй харилцаж буй дансуудыг илрүүлж, эдгээр хаягийг хар жагсаалтад оруулах нь гинжин судлалд илүү хялбар гэдгийг бид анхаарах хэрэгтэй. Энэ нь EIP-7503-ийг шийдэхээр төлөвлөгдсөн асуудал тул "хувийн ERC-20 токен" бий болгох санал нь хэрхэн сайжирч байгааг харахад хэцүү байж магадгүй юм.


Нөгөө талаас, ERC-20 токен нь хар жагсаалтад орсон хаяг руу шилжүүлэхийг блоклодог шилжүүлгийн скрининг функцийг хэрэгжүүлэхэд хялбар болгоно. Хөгжүүлэгч нь гэрээнд blacklist[] хадгалж, transfer() өөрчилж, гүйлгээнд жетон хүлээн авах хаягийг шалгах боломжтой. Гэсэн хэдий ч энэ нь маш хүчтэй итгэлцлийн таамаглалыг нэвтрүүлэхгүйгээр протоколын түвшинд хэрэгжүүлэх боломжгүй онцлог юм.


R&D нэмэлт зардал нэмэгдсэн

EIP-7503 нь нэргүй болон хувийн гүйлгээг дэмжихэд шаардлагатай нарийн төвөгтэй, хамгийн сүүлийн үеийн криптографийн дэд бүтцийг бий болгох, турших, аудит хийх, засвар үйлчилгээ хийх шаардлагыг дагалддаг. Наад зах нь, Nethermind-ийн EIP-7503-ийн L2 хэрэгжилт болон Nobitex Labs-ийн EIP-7503 гинжин нотолгооны талаархи тайлбар нь EIP-7503 нотолгоог үүсгэх, баталгаажуулах ZK-SNARK хэлхээг бий болгоход хангалттай хэмжээний инженерийн хүчин чармайлт гаргахыг харуулж байна. .


ZK-SNARK гэх мэт криптограф командуудыг протокол боловсруулагчид бүрэн итгэлтэйгээр хэрэгжүүлэхэд хангалттай тулалдаанд туршиж амжаагүй байгааг анхаарах нь чухал юм. Тодруулбал, Zcash шударга бус хэрэглэгчдэд 2018 онд хөрөнгийн эзэмшлийн хуурамч нотолгоог гаргаж, хязгааргүй тооны жетон гаргах боломжийг олгодог алдааг зассан. Мөн би Tornado Cash багийн 2019 онд болзошгүй мөлжлөгөөс хэрхэн зугтах талаар ярилцсан.


Ethereum дээр EIP-7503-ийг хэрэгжүүлэхэд гарсан алдаа нь өчүүхэн нөлөө үзүүлэх болно. Жишээлбэл, шаталтын баталгааг баталгаажуулах хэлхээний хийсэн чухал шалгалтыг давж гарахыг зөвшөөрдөг согогийг санамсаргүйгээр илрүүлсэн хэрэглэгч (жишээлбэл, шаталтын хаягийн үлдэгдэл болон хүчингүй болгох хэрэгслийн хэрэглээ) хязгааргүй хэмжээний эфир болон ETH-ийн зах зээлийн үнийг сүйрүүлэх.


Өөр нэг төвөгтэй тал нь EIP-7503 шалгагч нь хэрэглэгчийн үүсгэсэн нотолгоонд орсон блокийн толгой B-ийг шалгах шаардлагаас үүдэлтэй. EVM нь сүүлийн 128-256 блокийн хэшийг хадгалдаг тул гинжин баталгаажуулагч нь илүү урт мужаас блокийн толгой хэсгийг найдвартай баталгаажуулж чадахгүй.


Хуучин блокуудын төлөвийн үндэсийг шалгахын тулд EIP-210-ийг хэрэгжүүлэх шаардлагатай болно. EIP-210 нь үйлчлүүлэгчдэд гэрээг унших боломжийг олгохын тулд түүхэн блок хэшүүдийг хадгалах, BLOCKHASH opcode-г дахин засварлах системийн түвшний ухаалаг гэрээ байгуулахыг санал болгож байна.


Хэрэглэгчид EVM-ээр баталгаажуулж болох нотлох баримтыг гаргаж ирүүлэхэд дор хаяж нэг цаг ( 14 seconds * 256 blocks ) байгаа тул EIP-210 нь тийм ч чухал биш юм. Гэсэн хэдий ч хэрэглэгчдэд хаяг руу илгээсэн хадгаламжийн эргэн төлөлтийг хойшлуулах эрх чөлөөг олгох нь UX-ийг сайжруулж, мөнгө татах үйл явцыг хаягийн кластер болон ижил төстэй шинжилгээний арга техникт тэсвэртэй болгодог.


Өөр нэг хувилбар бол гинжин гэрээнд түүхэн блокийн толгойг оруулахыг (урамшуулагдсан) оролцогчдыг шаарддаг oracle гэрээг нэгтгэх явдал юм. Үүнийг хэрэгжүүлэхэд системийн түвшний ухаалаг гэрээ байгуулж, үйлдлийн кодыг дахин засварлахаас илүү хялбар боловч (a) зөв блокийн толгойг нийтлэх (б) блокийн толгой хэсгийг нэн даруй илгээхийг oracle операторуудад итгэхийг шаарддаг. Хэрэв эдгээр таамаглал хоёулаа биелэгдэхгүй бол шударга хэрэглэгчид хадгаламжаа эргүүлэн авах боломжгүй болох ба муу жүжигчид байхгүй шатсан гүйлгээний Merkle нотолгоог шалгахын тулд буруу блокийн толгойг нийтэлж болно.

Нэрээ нууцлах багцыг багасгах

EIP-7503-г идэвхжүүлсэн үед №11000 блок дээр ETH гаанс хийдэг хэрэглэгчдэд зориулсан нэрээ нууцлах тохиргоо нь эерэг ETH үлдэгдэлтэй, гарсан гүйлгээ тэгтэй бүх Ethereum EOA-г агуулна. Энэ нь үл мэдэгдэх гүйлгээг хянах боломжгүй шинж чанарт маш чухал юм: хэрвээ гүйлгээ нь ETH-г шатааж байвал түүнийг шатсан гүйлгээ гэж хүлээн зөвшөөрөх боломжгүй, учир нь зарцуулагдах боломжгүй хаяг нь ердийн Ethereum хаяг шиг харагддаг.


Гэсэн хэдий ч, дансны үлдэгдэл хөдөлгөөнгүй хэвээр байгаа бөгөөд ямар ч гүйлгээ илгээгдээгүй хаягийн тоо нь зөвхөн шатсан хаягууд нэрээ нууцлах багцыг бүрдүүлдэг цэг хүртэл буурна. Ийнхүү нэрээ нууцлах багц нь Tornado Cash гэх мэт гэрээнд суурилсан холигч болон Privacy Pools, Railgun зэрэг шинэ үеийн нууцлалын хэрэгслүүд (EIP-7503-ын нууцлалын баталгааг аажмаар бууруулж байгаа гэсэн үг) шиг харагдаж эхэлдэг.


Цорын ганц үл хамаарах зүйл бол илгээгч нь байхгүй хаяг руу санамсаргүйгээр мөнгө шилжүүлсэн тул ETH хүлээн авдаг дансууд бөгөөд эдгээр дансууд нь EIP-7503-д нэрээ нууцалсан хэвээр үлдэнэ. Эзэмшигч нь нууц түлхүүрээ алддаг хаягуудыг бид нэрээ нууцлах сангийн нэг хэсэг болгон авч үзэхийг хүсч болох ч энэ нь (азаар , харамсалтай нь) ховор тохиолддог бөгөөд эдгээр данснууд ихэвчлэн дор хаяж нэг буюу хэд хэдэн гадагш гүйлгээтэй байдаг. (Хамгийн увайгүй хэрэглэгч ямар нэгэн гүйлгээ хийхээсээ өмнө хувийн түлхүүрээ алддаг гэж төсөөлөхөд хэцүү байдаг.)


Нэрээ нууцлах багцыг бууруулснаас үл хамааран EIP-7503 нь санал болгож буй үнэмшилтэй үгүйсгэгчдийн хувьд ашигтай хэвээр байна. Хэн нэгэн крипто-Twitter дээр шуурга үүсгэж, дараа нь шинэ хаяг руу мөнгө татахаар Алисыг ETH-г зориудаар шатааж (зарцуулах боломжгүй хаяг руу илгээж) буруутгаж байна гэж бодъё. Алис үгүйсгэх үндэслэлтэй бөгөөд дараах байдлаар нэхэмжлэлийг эсэргүүцэж чадна.

  • “Би андуурч ETH хаяг руу илгээсэн. Та MetaMask дээр хаягаа бичихдээ алдаа гаргаагүй гэдгээ баталж чадах уу?
  • “Надад хаягийн хувийн түлхүүр байгаа ч хуваалцах боломжгүй. Чи одоо миний хувийн түлхүүрийг асуухгүй биз дээ?"
  • “Надад хаягийн нууц түлхүүр байгаа ч би үүнийг алдсан. Та намайг хувийн түлхүүрээ гээгээгүй гэдгээ баталж чадах уу?"


Эдгээр мэдэгдлүүд нь үнэмшүүлэхгүй байж болох ч бодит ертөнцийн нөхцөлд үгүйсгэх аргагүй мэт харагддаг. Хуулийн толь бичигт ингэж бичсэн байдаг.


“Үтэмшилтэй гэдэг нь найдвартай, боломжтой, бүр магадгүй гэсэн үг биш. Үнэмшилтэй гэдэг нь ямар нэг зүйл байж болох юм уу, боломжгүй юм байна гэсэн дүгнэлтэд хүрч чадна гэсэн үг. Гэхдээ ихэвчлэн онолын хувьд, өнгөцхөн эсвэл сэжигтэй байдаг. Энэ нь заавал "боломжийн" дүгнэлт байх албагүй. Өргөн утгаараа энэ нэр томъёо нь ихэвчлэн нотлох баримт дутмаг байгааг харуулж байна. Эцсийн эцэст гэм буруутай нь нотлогдох хүртэл гэм буруугүй байх нь манай хуулийн тогтолцооны ноён нуруу юм.


Тиймээс ямар ч нотлох баримт байхгүй бол тэд үүнийг үгүйсгэж магадгүй юм. Үнэн ч юм уу, үгүй ч юм уу гэм зэмгүй, магадлалтай нэрийн дор тайлбарлаж болох хууль бус эсвэл ёс зүйгүй аливаа зүйл үнэмшилтэй үгүйсгэгчдийн дор ордог. Татгалзсан нь үнэмшилтэй байх нь сэжигтэй ч гэсэн.”

Хэрэглэгч EIP-7503 хувийн шилжүүлэгт бүрэн холбогдож болох цорын ганц цаг бол хүлээн авагчийн хаяг руу шилжүүлгийг боловсруулах мөч юм. Гэсэн хэдий ч хэрэглэгчид татан авалтын гүйлгээг шатаах гүйлгээтэй холбох хөндлөнгийн ажиглагчид үүсэх боломжийг багасгах эсвэл бүрмөсөн арилгах арга хэмжээ авч болно:

  • Алис мөнгө зарж болох хаяг руу шилжүүлэхийн оронд нэрээ нууцлахын тулд өөр хаягаар ETH-г илгээдэг. Шатаах → гаа → шатаах → гаа → үйлдлийг олон удаа давтах нь эцсийн хаяг нь Алис хянадаг данс мөн эсэхийг илрүүлэхэд хэцүү болгодог.
  • Алис мөнгөө бүрэн хэмжээгээр авахын оронд хоёр буюу түүнээс дээш гүйлгээнд хуваадаг. Татан авалтыг хойшлуулах эсвэл санамсаргүй байдлаар хийх нь гүйлгээний үйл ажиллагаанд дүн шинжилгээ хийхэд хүндрэл учруулдаг "чимээ" үүсгэж, нэг хэрэглэгчтэй шатаах, гаргах гүйлгээг холбоход хүндрэл учруулдаг.


Тайлбар : Хоёрдахь техник нь EIP-7503-д санал болгож буй өргөтгөл бөгөөд одоогийн загварт хэрэгжих боломжгүй юм шиг байна. Хэрэглэгчид мөнгөө хувааж авахын тулд nullifier 1 шатаах хаягийн үлдэгдлийн тодорхой хэсгийг, nullifier 2 үлдэгдлийн өөр нэг хэсгийг гаргах эрхийг олгох гэх мэт хүчингүй болгох функц шаардлагатай.

Дүгнэлт

EIP-7503 нь Ethereum-ийн хамгийн дутуу илэрхийлсэн асуудлын нэг болох санхүүгийн нууцлалын дутагдалтай холбоотой шийдэл юм. Хэрэв Ethereum хэзээ нэгэн цагт банкуудыг солих юм бол одоогийн статус кво-д хэрэглэгчдийн таашаал авч байгаатай тэнцэх хэмжээний нууцлалыг хангах хэрэгтэй. Цензураас зайлсхийхийн тулд хувийн нууцыг орхих нь ихэнх хүмүүсийн хийж чадахгүй золиослол учраас Ethereum олноор нь үрчилж чадахгүй.


EIP-7503 нь хяналтын шатандаа байгаа бөгөөд өөрчлөлт, гүйцэтгэлийн сайжруулалт хийгдэх болно. Хэсэгчилсэн мөнгөн дүнг гаргахад ирээдүйд дэмжлэг үзүүлэхээс гадна хэрэглэгчдэд шатсан байдлын олон нотолгоог нэг баталгаажуулалтын гүйлгээнд өөр өөр хаяг руу хадгаламжийг баталгаажуулдаг нэг SNARK болгон нэгтгэх боломжийг олгодог. Энэ функц нь EIP-7503-ийн сэтгэл татам CEX болон (хэдэн зуун, мянга мянган) шатсан хаягийг дангаар нь шатаасан нотлох баримтыг илгээх шаардлагагүйгээр хэрэглэгчийн хадгаламжийн нэг хаягийг хадгалах хүсэлтэй худалдаачдад илүү таатай болгодог.


Энгийн хэрэглэгчид мөн олон шатах хаяг руу жетон илгээх (нэг зарцуулагдах боломжгүй хаяг руу илгээхийн оронд) болон хувийн шилжүүлгийг дуусгахын тулд нэгдсэн нотлох баримт болон хүчингүй болгогчийн багцыг илгээснээр ашиг тус хүртэх боломжтой. Нэгээс олон шатаах хаяг ашигласнаар илгээгчид гүйлгээний үйл ажиллагааг санамсаргүй байдлаар өөрчилж, нэг хүн рүү шатаах гүйлгээг буцаах оролдлогыг зогсоож чадна. Энэ нь EIP-7503-ын аль хэдийн олгосон үндсэн ашиг тус, тухайлбал хувийн бие даан шилжүүлэх, үе тэнгийнхэн хоорондын хандив/төлбөр, сүлжээн дэх DAO-д зориулсан хувийн цалингийн менежмент гэх мэт үндсэн давуу талуудыг нөхөж байна.


Хэрэв та энэ нийтлэлийг унших дуртай байсан бол үүнийг мэдээлэлтэй гэж үзэж болох хэн нэгэнтэй хуваалцаж, EIP экосистемээс гарч буй саналуудын талаар илүү гүнзгий мэдээлэл авахын тулд 2077 Research мэдээллийн товхимолд бүртгүүлээрэй. Бид Ethereum дахь нууцлалын шийдлүүд дээр үргэлжлүүлэн анхаарч, ERC-5564 (Ethereum дээр үл үзэгдэх хаяг үүсгэх, нууц хаягийн гүйлгээ илгээх стандарт) дээр гүн гүнзгий шумбах төлөвлөгөө гаргах болно.


Хамтдаа байгаарай!


Зохиогчийн тэмдэглэл: Энэ нийтлэлийг мөн энд нийтэлсэн болно.


L O A D I N G
. . . comments & more!

About Author

2077 Research HackerNoon profile picture
2077 Research@2077research
Blockchain research 🔬 Deep dives and analyses surrounding the latest within Ethereum and the wider crypto landscape

TAG ҮҮ

ЭНЭ ӨГҮҮЛЛИЙГ ТОЛГОЙЛУУЛСАН...