Knot Recognition sebagai Bukti Kerja


23

Saat ini bitcoin memiliki sistem proof of work (PoW) menggunakan SHA256. Fungsi hash lainnya menggunakan bukti sistem kerja menggunakan grafik, inversi fungsi hash parsial.

Apakah mungkin untuk menggunakan masalah Keputusan dalam Knot Theory seperti pengakuan Knot dan menjadikannya sebagai bukti fungsi kerja? Adakah yang pernah melakukan ini sebelumnya? Juga, ketika kita memiliki fungsi Proof of Work ini, apakah akan lebih berguna daripada apa yang sedang dihitung?



@ ArtemKaznatcheev Terima kasih sakit melihat ke dalam itu.
Joshua Herman

Jawaban:


7

Jika ada protokol Arthur-Merlin untuk simpul yang mirip dengan protokol [GMW85] dan [GS86] Arthur-Merlin untuk Grafik Non Isomorfisme, maka saya percaya bukti kerja cryptocurrency dapat dirancang, di mana masing-masing bukti pembuktian pekerjaan menunjukkan bahwa dua simpul kemungkinan tidak setara / isotop.

Secara lebih terperinci, seperti yang diketahui dalam protokol Graph Non Isomorphism [GMW85], Peggy theverver ingin membuktikan kepada Vicky verifier bahwa dua (kaku) grafik dan pada simpul bukan isomorfik. Vicky diam-diam dapat melemparkan koin acak , bersama dengan koin lain untuk menghasilkan permutasi , dan dapat memberikan kepada Peggy sebuah grafik baru . Peggy harus menyimpulkan . Jelas Peggy hanya dapat melakukan ini jika dua grafik tidak isomorfik.G 1 V i { 0 , 1 } π S V π ( G i ) iG0G1Vi{0,1}π SVπ(Gi)i

Demikian pula, dan lebih relevan untuk keperluan pembuktian-kerja , seperti yang diajarkan oleh [GS86] versi Arthur-Merlin dari protokol yang sama termasuk Arthur setuju dengan Merlin pada , , yang diberikan sebagai contoh misalnya matriks kedekatan. Arthur secara acak memilih fungsi hash , bersama dengan gambar . Arthur menyediakan dan ke Merlin. Merlin harus menemukan sehingga .G 1 H : { 0 , 1 } { 0 , 1 } k y H y ( i , π ) H ( π ( G i ) ) = yG0G1H:{0,1}{0,1}kyHy(i,π)H(π(Gi))=y

Yaitu, Merlin mencari preimage dari hash , preimage menjadi permutasi dari salah satu dari dua matriks kedekatan yang diberikan. Selama dipilih dengan benar, jika dua grafik dan bukan isomorfik maka akan ada peluang yang lebih tinggi bahwa preimage akan ditemukan, karena jumlah matriks kedekatan dalam mungkin dua kali lebih besar daripada jika .k G 0 G 1 G 0G 1 G 0G 1HkG0G1G0G1G0G1

Untuk mengonversi protokol [GS86] di atas menjadi proof-of-work, identifikasikan penambang sebagai Merlin, dan identifikasikan node lain sebagai Arthur. hash , yang, untuk semua tujuan, mungkin hash digunakan dalam Bitcoin. Demikian pula, setuju bahwa akan selalu , mirip dengan persyaratan Bitcoin yang hash dimulai dengan sejumlah terkemuka ‘s.S H A 256 y 0 0HSHA256y00

  • Jaringan setuju untuk membuktikan bahwa dua grafik kaku dan bukan isomorfik. Grafik dapat diberikan oleh matriks kedekatan merekaG 1G0G1

  • Seorang penambang menggunakan tautan kembali ke blok sebelumnya, bersama dengan akar Merkle sendiri dari transaksi keuangan, sebut saja , bersama dengan miliknya sendiri , untuk menghasilkan angka acakc Z = H ( c B )BcZ=H(cB)

  • Penambang menghitunguntuk memilih( i , π )W=Zmod2V!(i,π)

  • Penambang mengkonfirmasi bahwa - yaitu, untuk mengonfirmasi bahwa dipilih secara acak bukan bukti bahwa grafiknya isomorfis ππ(Gi)G1iπ

  • Jika tidak, penambang menghitung hashW=H(π(Gi))

  • Jika dimulai dengan angka sesuai , maka penambang “menang” dengan menerbitkan0 ( c , B )W0(c,B)

  • Node lain dapat memverifikasi bahwa untuk menyimpulkan , dan dapat memverifikasi bahwa dimulai dengan tingkat kesulitan yang tepat 's( i , π ) W = H ( π ( G i ) ) 0Z=H(cB)(i,π)W=H(π(Gi))0

Protokol di atas tidak sempurna, beberapa kinks saya pikir perlu dikerjakan. Misalnya, tidak jelas cara membuat dua grafik acak dan yang memenuhi sifat kekakuan yang baik, misalnya, juga tidak jelas bagaimana menyesuaikan kesulitan selain dengan menguji grafik dengan simpul yang lebih banyak atau lebih sedikit. Namun, saya pikir ini mungkin bisa diatasi.G 1G0G1

Tetapi untuk protokol yang serupa pada masalah simpul , ganti permutasi acak pada matriks adjacency dari salah satu dari dua grafik dan dengan beberapa operasi acak lainnya pada diagram simpul atau diagram grid ... atau sesuatu. Saya tidak berpikir Reidemeister bergerak secara acak berfungsi, karena ruang menjadi terlalu sulit terlalu cepat.G 2G1G2

[HTY05] mengusulkan protokol Arthur-Merlin untuk kebodohan, tetapi sayangnya ada kesalahan dan mereka menarik klaim mereka.

[Kup11] menunjukkan bahwa, dengan asumsi Hipotesis Riemann Umum, ketekunan adalah dalam , dan menyebutkan bahwa ini juga menempatkan keterikatan dalam , tetapi saya akan jujur ​​saya tidak tahu bagaimana menerjemahkan ini ke dalam kerangka kerja di atas; yang protokol [Kup11] saya pikir melibatkan menemukan seorang perdana langka modulo yang sistem persamaan polinomial adalah . utama jarang dalam , dan sistem persamaan polinom sesuai dengan representasi dari kelompok komplemen simpul.A M A M p 0 p H ( p ) = 0NPAMAMp0pH(p)=0

Sebagai catatan, lihat jawaban ini untuk pertanyaan serupa di situs saudara perempuan, yang juga membahas kegunaan bukti kerja yang "berguna".


Referensi:

[GMW85] Oded Goldreich, Silvio Micali, dan Avi Wigderson. Bukti yang Menghasilkan Hanya Validitas mereka, 1985.

[GS86] Shafi Goldwasser, Michael Sipser. Koin Pribadi versus Koin Publik dalam Sistem Bukti Interaktif, 1986.

[HTY05] Masao Hara, Seiichi Tani, dan Makoto Yamamoto. UNKNOTTING ada di , 2005.AMcoAM

[Kup11] Greg Kuperberg. Ketertarikan ada dalam , modulo GRH, 2011.NP


1
Bagaimana dengan gerakan Markov acak? mathworld.wolfram.com/MarkovMoves.html
Joshua Herman

Anda juga dapat mempertimbangkan simpul sebagai grafik yang merupakan grafik bertanda empat valensi. Jadi, Anda hanya perlu memaksakan pembatasan itu pada G1 dan G2
Joshua Herman

Berikut ini adalah pengurangan pewarnaan quandle menjadi instance SAT. arxiv.org/pdf/1505.06595.pdf
Joshua Herman

ya itu menentukan apakah Anda memiliki persimpangan lebih atau di bawah. Lihat en.wikipedia.org/wiki/Medial_graph
Joshua Herman

Apakah ini akan membantu untuk menguji ridigity? Sepertinya Anda hanya perlu membuat grafik laman yang mudah dalam 2D ​​(dan simpul adalah grafik planar). www3.cs.stonybrook.edu/~jgao/CSE590-fall05/notes/lecture3.pdf
Joshua Herman

1

Saya pikir cara untuk melakukan ini adalah membuat tabel simpul mosaik dengan seperangkat batasan untuk melarang pintasan. Jadi meja simpul adalah seperangkat simpul yang memiliki properti tertentu. Properti di bawah ini menjadi simpul utama.

Meja Rolfsen Knot

Sekarang mari kita lihat tabel simpul yang terbuat dari simpul mosaik: mosaik simpul adalah jenis representasi simpul yang menggunakan ubin bukannya string dalam ruang tiga dimensi. Meja Simpul Mosaic

Sekarang mari kita secara formal mendefinisikan apa itu mosaik simpul:

Ubin Mosaik

Dari https://arxiv.org/pdf/1602.03733.pdf Mosaik simpul adalah representasi dari simpul pada kisi yang terdiri dari 11 ubin di sini ada di bawah ini.

Ini adalah titik awal saya meminta Anda untuk meja simpul mosaik dengan serangkaian batasan. Yang ingin saya tanyakan kepada Anda adalah memberi saya meja dengan properti berikut

  1. C
  2. NM
  3. K
  4. OOnK
  5. Semua operasi harus unik
  6. CR
  7. Itu harus dikodekan sebagai mosaik simpul.

Jadi mari kita encode trefoil dalam format yang dapat dibaca mesin. Kami mengambil setiap ubin dan memberi mereka nomor (01-11). Menggunakan raket bahasa pemrograman akan terlihat seperti ini

(define trefoil (array #[#[00 02 01 00]
                         #[02 10 09 01]
                         #[03 09 04 06]
                         #[00 03 05 04]] : Integer))

31

(struct braidcoin ([source_knot : (Matrix Integer)]
                   [target_knot : (Matrix Integer)]
                   [crossing_number : (Refine [n : Integer] (> n 0))]
                   [dimention : (Refine [n : Integer] (> n 0))]
                   [timestamp : date])

31

Jadi, sekarang kita telah menetapkan apa yang seharusnya menjadi output. Sekarang bagaimana kita mengatasi masalah generasi?

Jadi kita tahu bahwa di bawah ambient isotopy bahwa Anda bisa mendapatkan simpul diagram lain diberi simpul diagram lain dalam satu set terbatas dari reidmeister bergerak. Jadi mari kita hasilkan dua tautan acak. Tugas yang kemudian kita definisikan diberi dua tautan acak. Saya ingin Anda menunjukkan bahwa keduanya setara dengan menghitung setiap simpul yang mungkin bisa diekspresikan atau menunjukkan bahwa mereka tidak sama dengan memberi saya satu set status atau jalur ke simpul yang dikenal di sebuah meja.

Cara di mana kita dapat meningkatkan kecepatan mengetahui bahwa sebuah simpul ada di tabel atau tidak adalah dengan membangun tabel hash dengan indeks sebagai polinom Alexander. Setiap instance akan memiliki Alexander Polynominal dihitung untuk itu dan jika mereka berbagi polynominal Alexander yang sama itu akan ditambahkan sebagai elemen ke tabel itu.

Saya memiliki bagian dari program kerja di intisari berikut: https://gist.github.com/zitterbewegung/4152b322eef5ecccdcf3502e8220844b


3
Diberi dua tautan besar dan acak, mereka tidak mungkin setara. Dan mereka mungkin tidak akan memiliki polinomial Alexander yang sama, yang akan membiarkan Anda membuktikan bahwa mereka tidak setara dalam waktu polinomial. Jadi tugas itu mudah sebagian besar waktu. Saya menduga sangat tidak mungkin bahwa Anda akan menghasilkan contoh yang benar-benar sulit dengan mengambil tautan acak.
Peter Shor

@ PeterShor ya saya mengenalinya. Saya tidak berpikir saya mengartikulasikan ini dengan baik tetapi saya juga membuat jumlah tugas-tugas ini secara sewenang-wenang ketika saya menghasilkannya untuk meningkatkan kekerasan. Bahkan dengan itu terjadi bukankah itu membuatnya lebih sulit?
Joshua Herman

@ PeterShor Juga sertifikat bukan hanya bahwa kedua knot tidak setara, tetapi saya ingin satu set simpul bergerak ke unknot atau simpul yang Anda dapat menghitung bahwa itu bukan isotop ambient (seperti trefoil).
Joshua Herman

1
Untuk "simpul yang dikenal dalam sebuah tabel," apakah Anda berencana memiliki meja berukuran eksponensial? Karena ada banyak simpul secara eksponensial dengan ukuran tertentu.
Peter Shor

Iya dan tidak. Ukuran setiap instance menggunakan knothash terikat oleh kardinalitas nomor Operasi dan juga instance valid dari simpul atau tautan yang dikodekan sebagai mosaik simpul. Saya berencana menggunakan parameter ini untuk membatasi jumlah solusi yang valid sehingga kekerasan masalah juga merupakan parameter.
Joshua Herman
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.