Pengetahuan Nol Canon PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Nol Pengetahuan Canon

Editor catatan: a16z crypto telah memiliki rangkaian panjang โ€œsenjata", dari kami Canon DAO tahun lalu untuk kami Canon NFT sebelumnya (dan sebelum itu asli kami Kripto Canon) โ€” pastikan untuk mendaftar ke kami buletin mingguan web3 untuk lebih banyak pembaruan serta sumber daya kurasi lainnya.

jadi bberikut, kami telah mengumpulkan satu set sumber daya bagi mereka yang ingin memahami, masuk lebih dalam, dan membangun dengan semua hal pengetahuan nol: teknologi dasar yang kuat yang memegang kunci skalabilitas blockchain, dan mewakili masa depan aplikasi pelestarian privasi dan inovasi lain yang tak terhitung jumlahnya yang akan datang. Jika Anda memiliki saran untuk potongan berkualitas tinggi untuk ditambahkan, beri tahu kami @a16zcrypto.

Sistem pembuktian tanpa pengetahuan telah ada selama beberapa dekade: Pengenalannya oleh Shafi Goldwasser, Silvio Micali, dan Charles Rackoff pada tahun 1985 memiliki efek transformatif pada bidang kriptografi, dan diakui oleh ACM Turing Award yang diberikan kepada Goldwasser dan Micali pada tahun 2012. Karena pekerjaan ini โ€” termasuk perpindahannya dari teori ke praktik dan aplikasi di crypto/web3 hari ini โ€” telah dibuat selama beberapa dekade, kami juga membagikan untuk pertama kalinya dalam seri kanon kami bagian dua (untuk saat ini, termasuk di sini di bawah): daftar bacaan yang dianotasi oleh Justin Thaler, mengikuti bagian satu di bawah ini.

Ucapan Terima Kasih: Terima kasih juga kepada Michael Blau, Sam Ragsdale, dan Tim Roughgarden.

Fondasi, latar belakang, evolusi

Beberapa makalah ini juga lebih banyak tentang kriptografi secara umum (tidak semua pengetahuan nol per se), termasuk menguraikan masalah atau kemajuan utama yang ditangani oleh bukti pengetahuan nol hari ini: bagaimana memastikan privasi dan otentikasi di jaringan terbuka.

Arah baru dalam kriptografi (1976)
oleh Whitfield Diffie dan Martin Hellman
https://ee.stanford.edu/~hellman/publications/24.pdf

Sebuah metode untuk mendapatkan tanda tangan digital dan kriptosistem kunci publik
oleh Ronald Rivest, Adi Shamir, Leonard Adelman
https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=856E21BC2F75800D37FD611032C30B9C?doi=10.1.1.40.5588&rep=rep1&type=pdf

Protokol untuk kriptosistem kunci publik (1980)
oleh Ralph Merkle
http://www.merkle.com/papers/Protocols.pdf

Komunikasi yang aman melalui saluran yang tidak aman (1978)
oleh Ralph Merkle
https://www.merkle.com/1974/PuzzlesAsPublished.pdf

Penggunaan kurva eliptik dalam kriptografi (1988)
oleh Victor Miller
https://link.springer.com/content/pdf/10.1007%2F3-540-39799-X_31.pdf

Kompleksitas pengetahuan dari sistem bukti interaktif (1985)
oleh Shafi Goldwasser, Silvio Micali, Charles Rackof
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.8132&rep=rep1&type=pdf

Kedap suara secara komputasi (2000)
oleh Silvio Micali
https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/Computationally_Sound_Proofs.pdf

Dari resistensi tabrakan yang dapat diekstraksi hingga argumen pengetahuan non-interaktif yang ringkas [SNARK], dan kembali lagi (2011)
oleh Nir Bitansky, Ran Canetti, Alessandro Chiesa, Eran Tromer
https://eprint.iacr.org/2011/443.pdf

Argumen tanpa pengetahuan yang efisien untuk kebenaran shuffle (2012)
oleh Stephanie Bayer dan Jens Groth
http://www0.cs.ucl.ac.uk/staff/J.Groth/MinimalShuffle.pdf

Pengetahuan nol non-interaktif ringkas untuk Arsitektur von Neumann (2013)
oleh Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, dan Madars Virza
https://eprint.iacr.org/2013/879.pdf

Integritas komputasi yang dapat diskalakan, transparan, dan aman pasca-kuantum (2018)
oleh Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, dan Michael Riabzev
https://eprint.iacr.org/2018/046.pdf

Argumen tanpa pengetahuan koin publik dengan (hampir) overhead waktu dan ruang minimal (2020)
oleh Alexander Block, Justin Holmgren, Alon Rosen, Ron Rothblum, dan Pratik Soni
https://www.iacr.org/cryptodb/data/paper.php?pubkey=30645

Ikhtisar & intro

Bukti, argumen, dan pengetahuan nol โ€” Ikhtisar komputasi yang dapat diverifikasi serta bukti dan argumen interaktif, protokol kriptografi yang memungkinkan pembukti memberikan jaminan kepada pemverifikasi bahwa pembukti melakukan perhitungan yang diminta dengan benar, termasuk pengetahuan nol (di mana bukti tidak mengungkapkan informasi selain validitasnya sendiri) . Argumen Zk memiliki segudang aplikasi dalam kriptografi dan telah membuat lompatan dari teori ke praktik selama dekade terakhir.
oleh Justin Thaler
https://people.cs.georgetown.edu/jthaler/ProofsArgsAndZK.pdf

Evolusi model untuk bukti tanpa pengetahuan โ€” Tinjauan bukti tanpa pengetahuan, di mana Meiklejohn (University College London, Google) melihat aplikasi yang mendorong pengembangannya, berbagai model yang muncul untuk menangkap interaksi baru ini, konstruksi yang dapat kita capai, dan pekerjaan tersisa untuk dilakukan.
oleh Sarah Meiklejohn
https://www.youtube.com/watch?v=HO97kVMI3SE

Sesi papan tulis ZK โ€” modul pengantar
dengan Dan Boneh dkk
https://zkhack.dev/whiteboard/

Keamanan dan privasi untuk kripto dengan zkps โ€” merintis bukti tanpa pengetahuan dalam praktik; apa itu zkps dan bagaimana cara kerjanyaโ€ฆ termasuk โ€œdemoโ€ panggung langsung
oleh Zooko Wilcox
https://a16z.com/2019/08/29/security-and-privacy-for-crypto-with-zero-knowledge-proofs/

Topik teknologi teratas, dijelaskan โ€” termasuk definisi dan implikasi dari nol pengetahuan secara umum
oleh Joe Bonneau, Tim Roughgarden, Scott Kominers, Ali Yahya, Chris Dixon
https://web3-with-a16z.simplecast.com/episodes/hot-research-summer-blockchain-crypto-tech-topics-explainers-overviews-seminar-videos

Bagaimana lapisan privasi yang akan datang akan memperbaiki web yang rusak
oleh Howard Wu
https://future.com/a-privacy-layer-for-the-web-can-change-everything/

Pengantar zkSNARKs
dengan Howard Wu, Anna Rose
https://zeroknowledge.fm/38-2/

Mengapa dan bagaimana zk-SNARK Bekerja: penjelasan yang pasti
oleh Maksym Petkus
https://arxiv.org/pdf/1906.07221.pdf

Pengantar bukti tanpa pengetahuan
oleh Fredrik Harrysson dan Anna Rose
https://www.zeroknowledge.fm/21 [+ ringkasan penulisan di tempat lain di sini]

Zk-SNARKs: di bawah tenda
oleh Vitalik Buterin
https://medium.com/@VitalikButerin/zk-snarks-under-the-hood-b33151a013f6
bagian 1, bagian 2, bagian 3

Kecepatan terdesentralisasi โ€” pada kemajuan tanpa bukti pengetahuan, perangkat keras terdesentralisasi
oleh Elena Burger
https://a16z.com/2022/04/15/zero-knowledge-proofs-hardware-decentralization-innovation/

Penelitian zk mutakhir โ€” bersama peneliti zk di Ethereum Foundation
dengan Mary Maller, Anna Rose, Kobi Gurkan
https://zeroknowledge.fm/232-2/

Menjelajahi penelitian zk โ€” dengan direktur penelitian di DFINITY; juga di belakang kemajuan seperti Groth16
dengan Jens Groth, Anna Rose, Kobi Gurkan
https://zeroknowledge.fm/237-2/

Penelitian & pedagogi SNARK โ€” dengan salah satu pendiri ZCash dan Starkware
dengan Alessandro Chiesa, Anna Rose
https://zeroknowledge.fm/episode-200-snark-research-pedagogy-with-alessandro-chiesa/

Penyelaman yang dalam, pemandu pembangun

Dasar dari bukti probabilistik โ€” kursus dengan 5 unit dari bukti interaktif dan banyak lagi
oleh Alessandro Chiesa
https://www.youtube.com/playlist?list=PLGkwtcB-DfpzST-medFVvrKhinZisfluC

STARK โ€” bagian I, II, III
oleh Vitalik Buterin
https://vitalik.ca/general/2017/11/09/starks_part_1.html
https://vitalik.ca/general/2017/11/22/starks_part_2.html
https://vitalik.ca/general/2018/07/21/starks_part_3.html

Anatomi STARK โ€” tutorial enam bagian yang menjelaskan mekanisme sistem bukti STARK
oleh Alan Szepieniec
https://aszepieniec.github.io/stark-anatomy/

Desain SNARK, bagian 1 โ€” survei, gunakan dalam rollup, lebih banyak lagi
oleh Justin Thaler
https://www.youtube.com/watch?v=tg6lKPdR_e4

Desain SNARK, bagian 2 โ€” rollup, kinerja, keamanan
oleh Justin Thaler
https://www.youtube.com/watch?v=cMAI7g3UcoI

Mengukur kinerja SNARK โ€” frontend, backend, lainnya
oleh Justin Thaler
https://a16zcrypto.com/measuring-snark-performance-frontends-backends-and-the-future/

Memahami PLONK
https://vitalik.ca/general/2019/09/22/plonk.html

Sistem bukti tanpa pengetahuan PLONK โ€” rangkaian 12 video pendek tentang cara kerja PLONK
oleh David Wong
https://www.youtube.com/playlist?list=PLBJMt6zV1c7Gh9Utg-Vng2V6EYVidTFCC

Dari AIR ke RAP โ€” cara kerja aritmetisasi gaya PLONK
oleh Ariel Gabizon
https://hackmd.io/@aztec-network/plonk-arithmetiization-air

Pemeriksaan multiset di PLONK dan Plookup
oleh Ariel Gabizon
https://hackmd.io/@arielg/ByFgSDA7D

Desain Halo2 โ€” dari ECC
https://zcash.github.io/halo2/design.html

Plonky2
https://github.com/mir-protocol/plonky2/blob/main/plonky2/plonky2.pdf

Aplikasi & tutorial: bukti konsep, demo, alat, lebih banyak lagi

zk . diterapkan - Sumber Belajar
oleh 0xPARC
https://learn.0xparc.org/materials/intro

Lingkungan pengembangan online untuk zkSNARKs โ€” zkREPL, seperangkat alat baru untuk berinteraksi dengan tooltack Circom dalam browser
oleh Kevin Kwoko
https://zkrepl.dev (+ utas penjelasan di sini)

Program aritmatika kuadrat dari nol hingga pahlawan
oleh Vitalik Buterin
https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649

Pada zkEVMs
dengan Alex Gluchowski dan Anna Rose
https://zeroknowledge.fm/175-2/

Berbagai jenis zkEVM
oleh Vitalik Buterin
https://vitalik.ca/general/2022/08/04/zkevm.html

Pembelajaran mesin ZK โ€” tutorial & demo untuk memasang jaring saraf ke dalam SNARK
oleh Horace Pan, Francis Ho, dan Henri Palacci
https://0xparc.org/blog/zk-mnist

Pada bahasa ZK
dengan Alex Ozdemir dan Anna Rose
https://zeroknowledge.fm/172-2/

Hutan Gelap โ€” menerapkan kriptografi zk ke game โ€” game RTS (strategi waktu nyata) yang sepenuhnya terdesentralisasi dan persisten
https://blog.zkga.me/announcing-darkforest

ZKP untuk insinyur โ€” lihat ZKP Hutan Gelap
https://blog.zkga.me/df-init-circuit

Menyelam ke nol pengetahuan
dengan Elena Nadolinkski, Anna Rose, James Prestwich
https://zeroknowledge.fm/182-2/

zkDocs: Berbagi informasi tanpa pengetahuan
oleh Sam Ragsdale dan Dan Boneh
https://a16zcrypto.com/zkdocs-zero-knowledge-information-sharing/

Airdrop kripto yang melindungi privasi tanpa bukti pengetahuan
oleh Sam Ragsdale
https://a16z.com/2022/03/27/crypto-airdrop-privacy-tool-zero-knowledge-proofs/

Upacara penyiapan tepercaya di rantai -
oleh Valeria Nikolaenko dan Sam Ragsdale
https://a16zcrypto.com/on-chain-trusted-setup-ceremony/

Peraturan kripto, keuangan gelap, privasi, dan lainnya โ€“ termasuk bagian tentang nol pengetahuan dalam konteks peraturan/kepatuhan; perbedaan antara teknologi "menjaga privasi" vs mengaburkan
dengan Michele Korver, Jai Ramaswamy, Sonal Chokshi
https://web3-with-a16z.simplecast.com/episodes/crypto-regulations-sanctions-compliance-aml-ofac-news-explained

Sumber daya lainnya

zkMesh buletin โ€” buletin bulanan yang membagikan teknologi pelestarian privasi terdesentralisasi, pengembangan protokol privasi, dan sistem pengetahuan nol
https://zkmesh.substack.com/

Podcast Tanpa Pengetahuan โ€” pada penelitian zk & aplikasi zk terbaru dan para ahli yang membangun teknologi privasi berkemampuan kriptografi
dengan Anna Rose
https://zeroknowledge.fm/

โ€ฆsebuah daftar bacaan beranotasi, berdasarkan topik dan kronologi, oleh Justin Thaler:

SNARK dari PCP Linear (alias SNARK dengan pengaturan khusus sirkuit)

Argumen Efisien tanpa PCP Pendek (2007)
oleh Yuval Ishai, Eyal Kushilevitz, dan Rafail Ostrovsky

Sebelum sekitar tahun 2007, SNARK terutama dirancang melalui Kilian-micali paradigma, mengambil "pendek" probabilistically checkable proof (PCP) dan "mengkompilasi secara kriptografis" menjadi argumen ringkas melalui hashing Merkle dan transformasi Fiat-Shamir. Sayangnya, PCP pendek rumit dan tidak praktis, bahkan hingga hari ini. Makalah ini (IKO) menunjukkan cara menggunakan enkripsi homomorfik untuk mendapatkan argumen interaktif yang ringkas (tidak transparan) dari PCP "panjang tapi terstruktur". Ini bisa jauh lebih sederhana daripada PCP pendek, dan SNARK yang dihasilkan memiliki bukti yang jauh lebih pendek dan verifikasi yang lebih cepat. Argumen-argumen ini pertama kali diakui memiliki potensi efisiensi praktis, dan disempurnakan dan diimplementasikan, di Lada. Sayangnya, argumen IKO memiliki pembuktian kuadrat-waktu dan string referensi terstruktur ukuran kuadrat, sehingga mereka tidak menskalakan ke perhitungan besar.

Program Rentang Kuadrat dan NIZK Ringkas tanpa PCP (2012)
oleh Rosario Gennaro, Craig Gentry, Bryan Parno, dan Mariana Raykova

Makalah terobosan (GGPR) ini mengurangi biaya pendekatan IKO dari kuadrat dalam ukuran sirkuit menjadi kuasilinear. Membangun pekerjaan sebelumnya dari Groth dan Lipma, itu juga memberikan SNARK melalui kriptografi berbasis pasangan, daripada argumen interaktif seperti di IKO. Ini menggambarkan SNARK-nya dalam konteks apa yang sekarang disebut sebagai masalah kepuasan kendala peringkat-1 (R1CS), generalisasi dari kepuasan sirkuit aritmatika.

Makalah ini juga berfungsi sebagai landasan teoretis dari SNARK pertama yang melihat penerapan komersial (misalnya, di ZCash) dan secara langsung mengarah ke SNARK yang tetap populer saat ini (misalnya, Groth16). Implementasi awal dari argumen GGPR masuk Za'atar dan Pinocchio, dan varian selanjutnya termasuk SNARK untuk C dan BCTV. BCIOP memberikan kerangka umum yang menjelaskan transformasi linear-PCPs-ke-SNARK ini (lihat juga Lampiran A dari Za'atar) dan menjelaskan berbagai instansiasinya.

Tentang Ukuran Argumen Non-interaktif Berbasis Pairing (2016)
oleh Jens Groth

Makalah ini, bahasa sehari-hari disebut sebagai Groth16, menyajikan penyempurnaan SNARK GGPR yang mencapai biaya verifikasi beton mutakhir bahkan hingga hari ini (bukti adalah 3 elemen kelompok, dan verifikasi didominasi oleh tiga operasi pemasangan, setidaknya dengan asumsi publik masukannya pendek). Keamanan dibuktikan dalam model grup generik.

SNARK dengan pengaturan tepercaya universal

PlonK: Permutasi atas basis Lagrange untuk argumen Pengetahuan Noninteraktif Oekumenis (2019)
oleh Ariel Gabizon, Zachary Williamson, dan Oana Ciobotaru

Marlin: Memproses zkSNARK dengan SRS Universal dan Dapat Diperbarui (2019)
oleh Alessandro Chiesa, Yuncong Hu, Mary Maller, Pratyush Mishra, Psi Vesely, dan Nicholas Ward

Baik PlonK dan Marlin menggantikan pengaturan tepercaya khusus sirkuit di Groth16 dengan pengaturan universal. Ini datang dengan mengorbankan bukti 4x-6x lebih besar. Orang dapat menganggap PlonK dan Marlin mengambil pekerjaan khusus sirkuit selama pengaturan tepercaya di Groth16 dan pendahulunya dan memindahkannya ke fase pra-pemrosesan yang terjadi setelah pengaturan tepercaya, serta selama pembuatan bukti SNARK.

Kemampuan untuk memproses sirkuit arbitrer dan sistem R1CS dengan cara ini kadang-kadang disebut komitmen holografi atau komputasi, dan juga dijelaskan dalam tabah (dibahas nanti dalam kompilasi ini). Karena lebih banyak pekerjaan terjadi selama pembuatan bukti, Prover PlonK dan Marlin lebih lambat daripada Groth16 untuk rangkaian tertentu atau instans R1CS. Namun, tidak seperti Groth16, PlonK dan Marlin dapat dibuat untuk bekerja dengan representasi perantara yang lebih umum daripada R1CS.

Skema komitmen polinomial, primitif kriptografi kunci di SNARKs

Komitmen Ukuran Konstan untuk Polinomial dan Aplikasinya (2010)
oleh Aniket Kate, Gregory Zaverucha, dan Ian Goldberg

Makalah ini memperkenalkan gagasan skema komitmen polinomial. Ini memberikan skema untuk polinomial univariat (biasa disebut komitmen KZG) dengan komitmen ukuran konstan dan bukti evaluasi. Skema ini menggunakan pengaturan tepercaya (yaitu, string referensi terstruktur) dan kriptografi berbasis pasangan. Ini tetap sangat populer dalam praktik hari ini, dan digunakan dalam SNARK termasuk PlonK dan Marlin yang dibahas di atas (dan Groth16 menggunakan teknik kriptografi yang sangat mirip).

Bukti Kedekatan Oracle Interaktif Reed-Solomon Cepat (2017)
oleh Eli Ben-Sasson, Iddo Bentov, Ynon Horesh, Michael Riabzev

Memberikan bukti oracle interaktif (IOP) untuk pengujian Reed-Solomon โ€” yaitu, membuktikan bahwa string berkomitmen dekat dengan tabel evaluasi polinomial univariat. Dikombinasikan dengan Merkle-hashing dan transformasi Fiat-Shamir, ini menghasilkan skema komitmen polinomial transparan dengan bukti evaluasi berukuran polilogaritmik (lihat VP19 untuk rincian). Saat ini, ini tetap yang terpendek di antara skema komitmen polinomial pasca-kuantum yang masuk akal.

Ligero: Argumen Sublinear Ringan Tanpa Pengaturan Tepercaya (2017)
oleh Scott Ames, Carmit Hazay, Yuval Ishai, dan Muthuramakrishnan Venkitasubramaniam

Mirip dengan FRI, pekerjaan ini memberikan TIO untuk pengujian Reed-Solomon, tetapi dengan panjang bukti akar kuadrat daripada polilogaritmik. teoretis bekerja menunjukkan bahwa, dengan menukar kode Reed-Solomon untuk kode koreksi kesalahan yang berbeda dengan pengkodean yang lebih cepat, seseorang dapat memperoleh pembuktian waktu linier yang terlebih lagi bekerja secara native di bidang apa pun. Pendekatan ini telah disempurnakan dan diimplementasikan di Pengereman dan Orion, menghasilkan kinerja pembukti yang canggih.

Antipeluru: Bukti Singkat untuk Transaksi Rahasia dan Lainnya (2017)
oleh Benedikt Bunz, Jonathan Bootle, Dan Boneh , Andrew Poelstra, Pieter Wuille, dan Greg Maxwell

Menyempurnakan pekerjaan sebelumnya dengan BCCGP, Bulletproofs memberikan skema komitmen polinomial transparan (pada kenyataannya, generalisasi yang disebut argumen produk dalam) berdasarkan kekerasan komputasi logaritma diskrit dengan ukuran bukti logaritmik tetapi waktu verifier linier. Skema ini tetap populer hingga saat ini karena transparansi dan bukti yang singkat (misalnya, digunakan di ZCash Orchard dan Monero).

Dory: Argumen yang Efisien dan Transparan untuk Produk Dalam Umum dan Komitmen Polinomial (2020)
oleh Jonathan Lee

Dory mengurangi waktu verifikator di Bulletproofs dari linier ke logaritmik, sambil menjaga transparansi dan bukti ukuran logaritmik (walaupun secara konkret lebih besar dari Bulletproofs) dan transparansi. Menggunakan pasangan dan didasarkan pada asumsi SXDH.

Bukti Interaktif, Bukti interaktif multi-pembukti, dan SNARK terkait

Mendelegasikan Komputasi: Bukti Interaktif untuk Muggle (2008)
oleh Shafi Goldwasser, Yael Tauman Kalai, dan Guy Rothblum

Sebelum makalah ini, bukti interaktif tujuan umum diperlukan: waktu superpolinomial orang yang membuktikan. Makalah ini memberikan protokol pembuktian interaktif, biasa disebut protokol GKR, dengan pembuktian waktu polinomial dan pemeriksa waktu kuasilinear, untuk setiap masalah yang memiliki algoritma paralel yang efisien (setara dengan itu, pembuktian interaktif berlaku untuk rangkaian aritmatika apa pun dengan kedalaman kecil).

Komputasi terverifikasi praktis dengan bukti interaktif streaming (2011)
oleh Graham Cormode, Michael Mitzenmacher, Justin Thaler

Makalah ini (kadang-kadang disebut CMT) mengurangi waktu pembuktian dalam protokol GKR dari quartic dalam ukuran sirkuit menjadi quasilinear. Menghasilkan implementasi pertama dari bukti interaktif tujuan umum. Sederet karya selanjutnya (Allspice, Thaler13, Jerapah, dan Libra) mengurangi runtime dari pepatah lebih jauh, dari quasilinear menjadi linier dalam ukuran sirkuit.

vSQL: Memverifikasi Kueri SQL Sewenang-wenang melalui Basis Data Outsource Dinamis (2017)
oleh Yupeng Zhang, Daniel Genkin, Jonathan Katz, Dimitrios Papadopoulos, dan Charalampos Papamanthou

Meskipun judulnya mengacu pada area aplikasi tertentu (basis data), kontribusi makalah ini lebih umum. Secara khusus, diamati bahwa seseorang dapat memperoleh argumen ringkas untuk kepuasan sirkuit dengan menggabungkan bukti interaktif dengan skema komitmen polinomial (untuk polinomial multilinier).

Kemudian bekerja diberikan argumen tanpa pengetahuan dan memperkenalkan skema komitmen yang berbeda untuk polinomial multilinier.

Spartan: ZkSNARK yang efisien dan serba guna tanpa pengaturan tepercaya (2019)
oleh Srinath Setty

Memperoleh SNARK untuk kepuasan sirkuit dan R1CS dengan menggabungkan bukti interaktif multi-prover (MIPs) dengan skema komitmen polinomial, membangun pekerjaan sebelumnya pada MIP yang efisien secara konkret yang disebut Semanggi. Efeknya adalah untuk mendapatkan SNARK dengan bukti yang lebih pendek daripada yang berasal dari bukti interaktif seperti protokol GKR yang dibahas di atas. Analog dengan PlonK dan Marlin, Spartan juga menunjukkan cara memproses sirkuit arbitrer dan sistem R1CS melalui pra-pemrosesan dan pembuatan bukti SNARK.

Spartan menggunakan skema komitmen polinomial dari hyrax. Karya selanjutnya disebut Pengereman dan Orion menggabungkan MIP Spartan dengan skema komitmen polinomial lainnya untuk menghasilkan SNARK pertama yang diimplementasikan dengan pembuktian waktu linier.

PCP dan IOP pendek

PCP Pendek dengan Kompleksitas Query Polylog (2005)
oleh Eli Ben-Sasson dan Madhu Sudan

 Karya teoretis ini memberikan bukti yang dapat diperiksa secara probabilistik (PCP) pertama dengan panjang bukti quasilinear dalam ukuran perhitungan yang akan diverifikasi dan biaya kueri polilogaritmik (meskipun waktu verifier linier). Setelah transformasi Kilian-Micali dari PCP menjadi SNARK, ini adalah langkah menuju SNARK dengan quasi-linear time proofer dan polylogarithmic-time verifier.

Karya teoretis selanjutnya mengurangi waktu verifikator menjadi polilogaritmik. Berikut pekerjaan yang berfokus pada praktik menyempurnakan pendekatan ini, tetapi PCP pendek tetap tidak praktis saat ini. Untuk mendapatkan SNARK praktis, kemudian bekerja berbalik untuk generalisasi interaktif PCP yang disebut Bukti Oracle Interaktif (IOP). Upaya ini menyebabkan dan membangun GRATIS, skema komitmen polinomial populer yang dibahas di bagian komitmen polinomial kompilasi ini.

Karya lain dalam kategori ini termasuk ZKBoo dan keturunannya. Ini tidak mencapai bukti ringkas, tetapi mereka memiliki faktor konstan yang baik dan karenanya menarik untuk membuktikan pernyataan kecil. Mereka telah menyebabkan keluarga tanda tangan pasca-kuantum seperti Piknik yang memiliki menjadi dioptimalkan in beberapa bekerja. ZKBoo disajikan sebagai berikut paradigma desain yang berbeda yang disebut MPC-di-kepala, tetapi menghasilkan TIO.

SNARK rekursif

Komputasi atau Bukti Pengetahuan yang Dapat Diverifikasi Secara Inkremental Menyiratkan Efisiensi Waktu/Ruang (2008)
oleh Paul Valiant

Karya ini memperkenalkan gagasan dasar dari perhitungan yang dapat diverifikasi secara bertahap (IVC), di mana para ahli menjalankan perhitungan dan memelihara setiap saat bukti bahwa perhitungan sejauh ini telah benar. Ini membangun IVC melalui komposisi SNARK rekursif. Di sini, pengetahuan-kesehatan properti SNARK sangat penting untuk membangun kesehatan argumen non-interaktif yang disusun secara rekursif. Makalah ini juga memberikan pengekstrak pengetahuan yang sangat efisien untuk SNARK yang diturunkan dari PCP (sesuai dengan paradigma Kilian-Micali).

Pengetahuan Nol yang Dapat Diskalakan melalui Siklus Kurva Elliptik (2014)
oleh Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, dan Madars Virza

Berikut pekerjaan teoritis, makalah ini menggunakan aplikasi rekursif dari varian SNARK GGPR, untuk menyediakan implementasi IVC pertama untuk mesin virtual sederhana (TinyRAM, dari SNARK untuk C kertas).

Juga memperkenalkan gagasan siklus kurva eliptik, yang berguna untuk menyusun SNARK secara rekursif yang menggunakan kriptografi kurva eliptik.

Komposisi Bukti Rekursif tanpa Pengaturan Tepercaya (2019)
oleh Sean Bowe, Jack Grigg, dan Daira Hopwood

Karya ini (disebut Halo) mempelajari cara menyusun SNARK transparan secara rekursif. Ini lebih menantang daripada menyusun yang tidak transparan karena prosedur verifikasi dalam SNARK transparan bisa jauh lebih mahal.

Hal ini kemudian memicu line of kerja yang telah memuncak dalam sistem seperti Nova mencapai kinerja IVC mutakhir, bahkan lebih unggul dari yang diperoleh dengan komposisi SNARK non-transparan seperti Groth16.

Aplikasi

Zerocash: Pembayaran Anonim Terdesentralisasi dari Bitcoin (2014)
oleh Eli Ben Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer, Madars Virza

Membangun pekerjaan sebelumnya termasuk Zerocoin (dan dengan Koin Pinnochio sebagai pekerjaan bersamaan), makalah ini menggunakan SNARK yang diturunkan dari GGPR untuk merancang cryptocurrency pribadi. Dipimpin ke ZCash.

Geppetto: Komputasi yang Dapat Diverifikasi Serbaguna (2014)
oleh Craig Costello, Cรฉdric Fournet, Jon Howell, Markulf Kohlweiss, Benjamin Kreuter, Michael Naehrig, Bryan Parno, dan Samee Zahur

Geppetto bisa dibilang mendahului ledakan minat dalam eksekusi kontrak pintar pribadi, yang telah ditulis kira-kira satu tahun setelah penciptaan Ethereum. Oleh karena itu, ini tidak disajikan dalam konteks pelaksanaan kontrak pintar pribadi. Namun, ia menggunakan rekursi kedalaman terbatas dari SNARK untuk memungkinkan pembukti yang tidak dipercaya untuk mengeksekusi program komputer pribadi (berkomitmen/ditandatangani) pada data pribadi, tanpa mengungkapkan informasi tentang program yang sedang dijalankan atau data yang dijalankannya. Oleh karena itu, ini adalah pendahulu dari pekerjaan pada platform kontrak pintar pribadi, seperti Zexe [dijelaskan di bawah].

ASIC yang dapat diverifikasi (2015)
oleh Riad Wahby, Max Howald, Siddharth Garg, abhi shelat, Michael Walfish

Makalah ini membahas masalah bagaimana menggunakan ASIC yang diproduksi dengan aman dan bermanfaat di pengecoran yang tidak tepercaya (pada tahun 2015, hanya ada lima negara dengan pengecoran kelas atas). Pendekatannya adalah membuat ASIC yang cepat tetapi tidak tepercaya membuktikan kebenaran outputnya ke pemverifikasi yang berjalan pada ASIC yang lebih lambat tetapi tepercaya. Solusinya menarik selama total waktu eksekusi sistem (yaitu, jumlah runtimes proofer dan verifier ditambah biaya transmisi data) kurang dari baseline naif: waktu yang dibutuhkan untuk menjalankan komputasi secara penuh pada yang lebih lambat -tapi-tepercaya ASIC. Menggunakan varian bukti interaktif GKR/CMT/Allspice, makalah ini memang mengalahkan dasar naif untuk sejumlah masalah mendasar, termasuk transformasi teori bilangan, pencocokan pola, dan operasi kurva eliptik. Pekerjaan ini menunjukkan bahwa beberapa sistem bukti lebih cocok untuk implementasi perangkat keras daripada yang lain. Mengoptimalkan sistem bukti untuk implementasi perangkat keras sekarang menerima besar perhatian, tetapi masih banyak yang harus dieksplorasi.

Diverifikasi Fungsi Penundaan (2018)
oleh Dan Boneh, Joseph Bonneau, Benedikt Bรผnz, dan Ben Fisch

Memperkenalkan notasi fungsi penundaan yang dapat diverifikasi (VDF), sebuah primitif kriptografi yang sangat berguna dalam aplikasi blockchain, misalnya, dalam mengurangi kemungkinan manipulasi protokol konsensus proof-of-stake. SNARK (khususnya untuk Komputasi yang Dapat Diverifikasi Secara Inkremental) menawarkan rute ke VDF yang canggih.

Zexe: Mengaktifkan Komputasi Pribadi Terdesentralisasi (2018)
oleh Sean Bowe, Alessandro Chiesa, Matthew Green, Ian Miers, Pratyush Mishra, dan Howard Wu

Zexe adalah desain untuk platform kontrak pintar pribadi. Seseorang dapat melihat Zexe sebagai perpanjangan dari Zerocash (dijelaskan di atas). Zerocash memungkinkan satu aplikasi untuk dijalankan secara on-chain (memungkinkan pengguna untuk mentransfer token) sekaligus melindungi privasi data pengguna, misalnya, kepada siapa mereka mengirim token, menerima token dari, jumlah token yang ditransfer, dll. Zexe memungkinkan banyak aplikasi yang berbeda (kontrak pintar) untuk berjalan di blockchain yang sama dan berinteraksi satu sama lain. Transaksi dieksekusi off-chain, dan bukti eksekusi yang benar diposting on-chain. Tidak hanya privasi data yang dilindungi, begitu juga privasi fungsi. Ini berarti bukti yang terkait dengan setiap transaksi bahkan tidak mengungkapkan aplikasi mana yang terkait dengan transaksi tersebut. Kontribusi rekayasa yang lebih umum dari Zexe adalah memperkenalkan BLS12-377, grup kurva elips yang berguna untuk komposisi depth-1 yang efisien dari SNARK berbasis pasangan.

Mesin negara yang direplikasi tanpa eksekusi yang direplikasi (2020)
oleh Jonathan Lee, Kirill Nikitin, dan Srinath Setty

Ini adalah salah satu dari sedikit makalah akademis tentang rollup untuk skalabilitas blockchain. Itu tidak menggunakan istilah rollups, karena itu mendahului atau sezaman dengan konsep yang diperkenalkan di luar literatur akademis.

Front-end (transformasi efisien dari program komputer ke representasi perantara seperti kepuasan sirkuit, R1CS, dan lainnya)

Pengurangan Cepat dari RAM ke Masalah Kepuasan Kendala Ringkas yang Dapat Didelegasikan (2012)
oleh Eli Ben-Sasson, Alessandro Chiesa, Daniel Genkin, dan Eran Tromer

Dari perspektif modern, ini adalah karya awal transformasi SAT program komputer praktis ke sirkuit untuk abstraksi mesin virtual (VM). Membangun karya-karya dari akhir 1970-an hingga 1990-an (misalnya, karya Robson) makalah ini menguraikan pengurangan deterministik dari mengeksekusi VM untuk T langkah ke kepuasan sirkuit ukuran O(T*polylog(T)).

Makalah selanjutnya, misalnya, SNARK untuk C dan BCTV, terus mengembangkan front-end melalui abstraksi VM, dan instantiasi modern mencakup proyek seperti Kairo, RISC Nol, dan Poligon Miden.

Mengambil perhitungan terverifikasi berbasis bukti beberapa langkah lebih dekat ke kepraktisan (2012)
oleh Srinath Setty, Victor Vu, Nikhil Panpalia, Benjamin Braun, Muqeet Ali, Andrew J. Blumberg, dan Michael Walfish

Makalah ini, yang disebut sebagai Ginger, merupakan kontribusi awal lainnya untuk teknik front-end yang praktis. Ginger memperkenalkan gadget untuk pemrograman primitif umum seperti kondisional dan ekspresi logika, perbandingan dan aritmatika bitwise melalui pemisahan bit, aritmatika floating point primitif, dll. Ginger menggunakan gadget ini untuk menyediakan front-end pertama yang diimplementasikan dari bahasa tingkat tinggi ke bahasa tingkat rendah kendala aritmatika (mirip dengan apa yang sekarang dikenal sebagai R1CS), sebuah representasi perantara (IR) yang back-end SNARK dapat diterapkan.

Sedangkan makalah "Pengurangan Cepat" dan turunannya menggunakan pendekatan "CPU-emulator" dalam memproduksi IR (yaitu, IR memaksakan bahwa penyelidik menjalankan program tertentu dengan benar dengan menerapkan fungsi transisi CPU untuk sejumlah langkah tertentu) , Ginger dan turunannya mengambil pendekatan yang lebih mirip ASIC, menghasilkan IR yang disesuaikan dengan program komputer yang diklaim dapat dijalankan dengan benar oleh ahlinya.

Sebagai contoh, prasmanan menunjukkan bahwa dimungkinkan untuk menangani aliran kontrol yang kompleks dalam model ASIC, dengan mengubah aliran kontrol tersebut menjadi mesin keadaan-terbatas yang disesuaikan dengan program yang sedang dijalankan, dan bahwa pendekatan ini dapat secara signifikan lebih efisien daripada membangun emulator CPU tujuan umum. xJsnark memberikan konstruksi yang efisien untuk aritmatika multi-presisi, optimalisasi untuk RAM dan ROM, dan memaparkan bahasa tingkat tinggi seperti Java kepada seorang programmer, yang tetap populer hingga saat ini. SirC mengamati bahwa kompilasi program komputer ke R1CS terkait erat dengan teknik terkenal dari analisis program dan membangun toolkit konstruksi kompiler yang menggabungkan ide-ide dari kedua komunitas ("LLVM untuk representasi seperti sirkuit"). Karya-karya sebelumnya yang memberikan kontribusi pada front-end gaya ASIC termasuk Pinocchio dan Geppetto.

Kertas "Pengurangan Cepat" menggunakan konstruksi yang rumit dan mahal yang disebut "jaringan perutean" untuk apa yang disebut pemeriksaan memori (yaitu, memastikan bahwa proofer yang tidak tepercaya memelihara dengan benar memori akses acak VM selama eksekusi VM yang kebenarannya sedang dibuktikan). Pilihan ini dibuat karena karya-karya awal seperti ini berusaha untuk mendapatkan PCP, yang mengharuskan front-end menjadi kedua non-interaktif dan informasi-teoretis aman. Pekerjaan selanjutnya disebut Sepen (pendahulu dari prasmanan pekerjaan yang disebutkan di atas) menggunakan Merkle-tree sebagai pengganti jaringan perutean, mencapai efisiensi dengan menyusun fungsi hash aljabar (yaitu, "ramah SNARK"), karena Ajtai, menjadi kendala. Ini menghasilkan front-end yang "aman secara komputasi". Saat ini, ada banyak literatur penelitian tentang fungsi hash ramah SNARK, dengan contoh-contoh termasuk: Poseidon, MiMC, Beton bertulang, Menyelamatkan, Dan banyak lagi.

Teknik-teknik mutakhir untuk memastikan bahwa pembukti memelihara RAM dengan benar bergantung pada apa yang disebut metode โ€œsidik jari permutasi-invarianโ€ sejak setidaknya Lipton (1989) dan digunakan untuk pengecekan memori oleh Blum dkk. (1991). Teknik-teknik ini secara inheren melibatkan interaksi antara proofer dan verifier, tetapi dapat dibuat non-interaktif dengan transformasi Fiat-Shamir. Sejauh yang kami ketahui, mereka diperkenalkan ke literatur tentang front-end SNARK praktis oleh sistem yang disebut vRAM.

Teknik sidik jari permutasi-invarian sekarang digunakan di banyak front-end dan SNARK untuk abstraksi mesin virtual, termasuk misalnya Kairo. Ide-ide yang terkait erat muncul kembali dalam konteks terkait dalam dua karya di bawah ini, yang digunakan secara luas dalam praktik saat ini.

Bukti Pengetahuan Nol Waktu Hampir Linier untuk Eksekusi Program yang Benar (2018)
oleh Jonathan Bootle, Andrea Cerulli, Jens Groth, Sune Jakobsen, dan Mary Maller

Plookup: Protokol polinomial yang disederhanakan untuk tabel pencarian (2020)
oleh Ariel Gabizon dan Zachary Williamson

Pekerjaan awal pada front-end mewakili operasi "non-aritmatika" (seperti pemeriksaan rentang, operasi bitwise, dan perbandingan bilangan bulat) di dalam sirkuit dan IR terkait dengan memecah elemen bidang menjadi bit, melakukan operasi pada bit ini, dan kemudian "mengemas" hasilnya kembali menjadi elemen bidang tunggal. Dalam hal ukuran sirkuit yang dihasilkan, ini menghasilkan overhead logaritmik per operasi.

Dua karya di atas (BCGJM dan Plookup) memberikan teknik yang berpengaruh (berdasarkan apa yang disebut "tabel pencarian") untuk lebih efisien mewakili operasi ini di dalam sirkuit, dalam arti diamortisasi. Secara kasar, untuk beberapa parameter B yang dipilih oleh perancang front-end, ini mengurangi jumlah gerbang yang diperlukan untuk mewakili setiap operasi non-aritmatika di sirkuit dengan faktor logaritmik di B, dengan mengorbankan pembuktian secara kriptografis untuk tambahan vektor "saran" dengan panjang kira-kira B.

Stempel Waktu:

Lebih dari Andreessen Horowitz