Визнання вузлів як доказ роботи


23

В даний час біткойн має систему підтвердження роботи (PoW) з використанням SHA256. Інші хеш-функції використовують доказ графіків використання робочої системи, часткову інверсію хеш-функції.

Чи можливо використовувати проблему вирішення в теорії вузлів, наприклад розпізнавання вузлів, і зробити це доказом роботи функції? Також хтось робив це раніше? Крім того, коли ми маємо цю функцію Proof of Work, чи буде вона кориснішою, ніж те, що зараз обчислюється?


8
Можливо, вас зацікавить це пов'язане питання з питаннями про біткойн SE: Чи є спосіб налаштувати системи перевірки роботи, не виконуючи марну роботу?
— Артем Казнатчеєв

@ArtemKaznatcheev Дякую погано вивчити це.
— Джошуа Герман

Відповіді:


7

Якщо існує протокол Артура-Мерліна для вузла, схожий на протоколи [GMW85] та [GS86] Артура-Мерліна для неізоморфізму Graph, тоді я вважаю, що така криптовалюта може бути спроектована, коли кожен доказ робота показує, що два вузли, швидше за все, не будуть еквівалентними / ізотопними.

Більш детально, як добре відомо в протоколі Graph Non Isomorphism [GMW85], Peggy доказчик бажає довести верифікатору Вікі, що два (жорсткі) графіки і G 1 на V вершинах не є ізоморфними. Вікі може таємно кидати випадкову монету i ∈ { 0 , 1 } разом з іншими монетами, щоб генерувати перестановку π ∈ S V , і може представити Пеггі новий графік π ( G i ) . Пеггі повинен вивести i . Очевидно, що Пеггі здатна зробити це лише в тому випадку, якщо два графіки не є ізоморфними.G0G1Vi∈{0,1}π∈ SVπ(Gi)i

Аналогічно, і більш актуально для цілей перевірки роботи , як викладає [GS86], версія Артура-Мерліна того самого протоколу включає Артура, що погоджується з Мерліном щодо , G 1 , наведених, наприклад, матриць суміжності. Артур випадковим чином вибирає хеш-функцію H : { 0 , 1 } ∗ → { 0 , 1 } k разом із зображенням y . Артур надає М і Мерліну Н і у . Мерлін повинен знайти a ( i , π )G0G1H:{0,1}∗→{0,1}kyHy(i,π)такий, що .Н(π(Гi))=у

Тобто Мерлін шукає преймідж хеша , при цьому зображення є перестановкою однієї з двох заданих матриць суміжності. Поки k вибрано правильно, якщо два графіки G 0 і G 1 не є ізоморфними, то більший шанс виявити передбачення, оскільки кількість матриць суміжності в G 0 ∪ G 1 може бути вдвічі більшим великий, ніж якщо G 0 ≅ G 1 .НкГ0Г1G0∪G1G0≅G1

Для того, щоб перетворити вищезазначений протокол [GS86] на перевірку роботи, ідентифікуйте шахтарів як Мерлін, а інші вузли визначте як Артур. Домовтеся про хеш , який для всіх цілей може бути хеш S H A 256, який використовується в Bitcoin. Аналогічно, погодьтеся, що y завжди буде 0 , подібно до вимоги Bitcoin, що хеш починається з певної кількості ведучих 0 's.HSHA256y00

  • Мережа погоджується довести, що два жорстких графіки і G 1 не є ізоморфними. Графіки можуть бути задані їх матрицями суміжностіG0G1

  • Гірник використовує посилання назад до попереднього блоку разом із власним корінцем фінансових операцій Меркле, називає його разом із власним поняттям c , щоб генерувати випадкове число Z = H ( c ‖ B )BcZ=H(c‖B)

  • Шахтар обчислює вибрати ( i , π )W=Zmod2V!(i,π)

  • Гірник підтверджує, що - тобто підтверджує, що вибраний випадковим чином π не є доказом того, що графіки є ізоморфнимиπ(Gi)≠G1−iπ

  • Якщо ні, шахтар обчислює хеш W=H(π(Gi))

  • Якщо починається з відповідної кількості 0 's, тоді шахтар «виграє», опублікувавши ( c , B )W0(c,B)

  • Інші вузли можуть перевірити, що для виведення ( i , π ) , і можуть перевірити, що W = H ( π ( G i ) ) починається з відповідної складності 0 sZ=H(c‖B)(i,π)W=H(π(Gi))0

Наведений вище протокол не є ідеальним, деякі перекрутки, на мою думку, потрібно було б опрацювати. Наприклад, незрозуміло, як генерувати два випадкові графіки і G 1, які задовольняють хороші властивості жорсткості, наприклад, також не зрозуміло, як відрегулювати складність, крім тестування на графіки з більш-менш вершинами. Однак я думаю, що це, мабуть, непереборне.G0G1

Але для аналогічного протоколу з вузловимістю замініть випадкові перестановки на матриці примикання одного з двох графіків і G 2 на деякі інші випадкові операції на вузлових діаграмах або діаграмах сітки ... або щось інше. Я не думаю, що випадкові рухи Reidemeister працюють, тому що простір стає занадто непростим занадто швидко.G1G2

[HTY05] запропонував протокол Артура-Мерліна щодо вузла, але, на жаль, виникла помилка, і вони відкликали свою заяву.

[Куп11] показав, що, припускаючи узагальнену гіпотезу Рімана, вузликовість є в , і згадує, що це також додає вузликовість в A M , але я, чесно кажучи, не знаю, як перекласти це у вищезазначені рамки; М протокол [Kup11] Я думаю , що пов'язано з перебуванням рідкісного простого р по модулю якого система поліноміальних рівнянь є 0 . Просте p рідко зустрічається в тому, що H ( p ) = 0 , а система поліномних рівнянь відповідає поданню групи вузлових комплементів.NPAMAMp0pH(p)=0

Зверніть увагу, див. Цю відповідь на аналогічне запитання на сестринському сайті, де також розглядається корисність таких "корисних" доказів роботи.


Список літератури:

[GMW85] Одід Голдрайх, Сільвіо Мікалі та Аві Вігдерсон. Докази того, що не приносять нічого, окрім їх дійсності, 1985 рік.

[GS86] Шафі Голдвассер, Майкл Шипсер. Приватні монети проти публічних монет в інтерактивних системах підтвердження, 1986 рік.

[HTY05] Масао Хара, Сейічі Тані та Макото Ямамото. НЕЗНАЧЕННЯ знаходиться в , 2005.AM∩coAM

[Kup11] Грег Куперберг. Вузловість є в , модуль GRH, 2011.NP


1
Що з випадковими рухами Маркова? mathworld.wolfram.com/MarkovMoves.html
— Джошуа Герман

Також ви можете розглядати вузли як графіки, які мають підписані графіки, що мають чотири валентності. Тож вам просто потрібно застосувати це обмеження на G1 та G2
— Джошуа Герман

Ось зменшення розмальовки в квадраті до екземпляра SAT. arxiv.org/pdf/1505.06595.pdf
— Джошуа Герман

так, це визначає, чи є у вас переправа або під переходом. Дивіться en.wikipedia.org/wiki/Medial_graph
— Джошуа Герман

Чи допоможе це для тестування на непристойність? Схоже, вам потрібно побудувати лише ламанний графік, який легко у 2D (а вузли - це плоскі графіки). www3.cs.stonybrook.edu/~jgao/CSE590-fall05/notes/lecture3.pdf
— Джошуа Герман

1

Думаю, що це зробити - створити таблицю мозаїчних вузлів із набором обмежень для заборони ярликів. Отже, таблиця вузлів - це сукупність вузлів, які мають задану властивість. Властивість внизу є основним вузлом.

Стол Рольфсена Вузла

Тепер давайте побачимо таблицю вузлів, що складається з мозаїчних вузлів: мозаїка вузлів - це тип представлення вузлів, які використовують плитки, а не струни в тривимірному просторі. Вузольна мозаїчна таблиця

Тепер давайте формально визначити, що таке мозаїка вузлів:

Плитки мозаїчні

З https://arxiv.org/pdf/1602.03733.pdf Мозаїка вузлів - це зображення вузла на сітці n × n, що складається з 11 плиток, ось їх нижче.

Це мій вихідний момент, коли я запитаю вас про таблицю мозаїчних вузлів із набором обмежень. Що я хочу вас попросити - це дати мені таблицю з наступними властивостями

  1. С
  2. NМ
  3. К
  4. ООнК
  5. Усі операції повинні бути унікальними
  6. СR
  7. Він повинен бути закодований як мозаїка із вузлів.

Тож давайте кодуємо тригранну плитку у машиночитаному форматі. Беремо кожну плитку і присвоюємо їм номер (01-11). За допомогою ракетки з мовою програмування це буде виглядати приблизно так

(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

Отже, тепер, коли ми встановили, яким повинен бути вихід. Тепер, як ми вирішуємо проблему покоління?

Отже, ми знаємо, що при ізотопії навколишнього середовища ви можете дістатись до іншої вузлової діаграми з іншою діаграмою вузлів у кінцевому наборі рухів рейдмейстера. Тому давайте генерувати два випадкових посилання. Завдання, яке ми визначаємо, дає дві випадкові посилання, я хочу, щоб ви показали, що вони або еквівалентні, перераховуючи кожен можливий вузол, який можна виразити, або показати, що вони не є еквівалентом, подавши мені набір станів або шляхів до відомого вузла в стіл.

Спосіб, коли ми можемо підвищити швидкість, дізнавшись, що вузол стоїть у таблиці, чи ні, - побудувавши хеш-таблицю з індексами як поліном Олександра. Кожен екземпляр мав би для цього обчислити полінома Олександра, і якщо вони поділяють той самий поліном Олександра, він буде доданий як елемент до цієї таблиці.

Я є частиною робочої програми з наступної суті: https://gist.github.com/zitterbewegung/4152b322eef5ecccdcf3502e8220844b


3
Враховуючи дві великі випадкові зв’язки, вони навряд чи будуть рівнозначними. І вони, мабуть, не матимуть того самого полінома Олександра, що дозволить вам довести, що вони не еквівалентні за багаточлен. Тож завдання легке більшу частину часу. Я підозрюю, що навряд чи ви створите справді важкий приклад, скориставшись випадковими посиланнями.
— Петро Шор

@PeterShor так, я це визнаю. Я не думаю, що я сформулював це добре, але я також створюю довільну кількість цих завдань, коли я створюю його для збільшення твердості. Навіть при тому, що трапляється, чи не ускладнить це?
— Джошуа Герман

@PeterShor Також сертифікат полягає не лише в тому, що обидва вузли не є рівнозначними, але я хочу, щоб набір вузлів переміщувався до unknot або до вузла, який можна було б обчислити, що він не є ототопним ізотопічним (наприклад, тригранною).
— Джошуа Герман

1
Що стосується "відомого вузла в таблиці", ви плануєте мати таблицю розміру експоненціальної величини? Тому що існує експоненціально багато вузлів заданого розміру.
— Петро Шор

Так і ні. Розмір кожного екземпляра використання knothash пов'язаний кардинальністю операційного номера, а також дійсним екземпляром вузла чи посилання, кодованих як мозаїка вузлів. Я планую використовувати ці параметри, щоб обмежити кількість допустимих рішень, щоб твердість проблеми була також параметром.
— Джошуа Герман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.