Наступна проста техніка, яку я називаю технікою лотереї рішення (SLT), може бути використана разом з іншими методами (наприклад, з численними проблемами військовополонених, технікою, згаданою у відповіді Ноя Стівенса-Давидовиця тощо), щоб допомогти перетворити обчислювальні завдання у життєздатні докази проблем з роботою. SLT допомагає вирішити проблеми з проблемами видобутку криптовалют, крім умов 1-4.
Припустимо, що є обчислювальним викликом форми "знайти підходящий хеш разом із рядком таким, що ". k x ( k , x ) ∈ DCkx(k,x)∈D
Налаштування проблеми : Припустимо, що - це множина, - криптографічна хеш-функція, а - деяка константа. Припустимо також, що - це інформація, яку легко отримати після того, як буде визначено, що але яку не можна отримати інакше.D H C Дані ( k , x ) ( k , x ) ∈ DΨ(C)DHCData(k,x)(k,x)∈D
Завдання мета: Знайдіть пару таку, що - підходящий хеш і де , а де .( k , x )Ψ(C)(k,x)( k , x ) ∈ D H ( k | | x | | Дані ( k , x ) ) < Ck(k,x)∈DH(k||x||Data(k,x))<C
Давайте дослідимо, як проблема відповідає вимогам 1-4.Ψ(C)
- Ми повинні припустити, що вже рандомізований, щоб SLT задовольнив цю властивість.C
2-3. зазвичай стане складніше, ніж і це добре. Складність проблеми з підтвердженням роботи повинна бути чітко відрегульована, але початкова проблема може мати або не мати тонко налаштованого рівня складності (пам’ятайте, що складність у видобутку Bitcoin коректується кожні два тижні) . Складність задачі дорівнює складності пошуку деякого придатного помноженого на . Тому, оскільки константа тонко налаштована, складність також тонко налаштована.C C Ψ ( C ) ( k , x ) ∈ D 2 nΨ(C)CCΨ(C)(k,x)∈D CΨ(C)2nCCΨ(C)
Навіть незважаючи на те, що проблема є складнішою за початкову задачу , майже вся робота з вирішення проблеми буде витрачена на просто пошук пара з а не обчислення хешей (не можна обчислити, чи чи ні до одного обчислює і не може обчислити якщо не перевірити, що ).C Ψ ( C ) ( k , x ) ( k , x ) ∈ D H ( k | | x | | Дані ( k , x ) )Ψ(C)CΨ(C)(k,x)(k,x)∈DДані ( k , x ) Дані ( k , x ) Дані ( k , x ) ∈ DH(k||x||Data(k,x))<CData(k,x)Data(k,x)Data(k,x)∈D
Звичайно, той факт, що складніше, ніж викликає нові проблеми. Для корисної проблеми, найімовірніше, випадок, коли б хотілося зберігати пари де в якійсь базі даних. Однак, щоб отримати винагороду блоку, шахтар повинен виявити лише пару де і замість усіх пар незалежно від того, чи ні. Одне можливе рішення цієї проблеми полягає в тому, щоб шахтарі просто розкрили всі пари деC ( k , x ) ( k , x ) ∈ D ( k , x ) ( k , x ) ∈ D H ( k | | x | | Дані ( k , x ) ) < C ( k , x ) ∈ D H ( k | | x | |Ψ(C)C(k,x)(k,x)∈D(k,x)(k,x)∈DH(k||x||Data(k,x))<C(k,x)∈D( k , x ) ( k , x ) ∈ D ( k , x ) ∈ D ( k , x ) ∈ D Ψ ( C ) CH(k||x||Data(k,x))<C(k,x)(k,x)∈Dз ввічливості. Шахтарі також матимуть можливість відхиляти ланцюга , якщо шахтарі не відправили свою справедливу частку пара . Можливо, слід порахувати кількість пар для обчислення того, хто також має найдовший дійсний ланцюг. Якщо більшість шахтарів розміщують свої рішення, тоді процес розв’язування дасть стільки ж рішень, скільки і процес розв’язання .(k,x)∈D(k,x)∈DΨ(C)C
У сценарії, коли шахтарі розміщують усі пари , задовольняє духу умов 2-3.Ψ ( C )(k,x)∈DΨ(C)
- 4Ψ(C) може або не може задовольнити умову залежно від конкретної проблеми.4
Other Advantages of this technique:
SLT пропонує інші переваги, ніж умови 1-4, які бажані або необхідні для проблеми з підтвердженням роботи.
Поліпшення балансу безпеки / ефективності: SLT допоможе в тому випадку, якщо може бути занадто простим для вирішення або занадто складним для перевірки. Взагалі вирішити набагато складніше, ніж , але приблизно так само легко перевірити, як . Ψ ( C ) C Ψ ( C ) CCΨ(C)CΨ(C)C
Усунення зламаної / небезпечної проблеми: SLT може використовуватися для алгоритмічного усунення поганих проблем з військовополоненими в криптовалюті з резервною проблемою POW та кількома проблемами військовополонених. Припустимо, що сутність знаходить дуже швидкий алгоритм для вирішення задачі . Тоді така проблема вже не є підходящою проблемою з підтвердженням роботи, і її слід видалити з криптовалюти. Тому криптовалюта повинна мати алгоритм, який видаляє з криптовалюти, коли хтось опублікував алгоритм, який занадто швидко вирішує проблему але ніколи не усуває проблему іншому випадку. Ось контур такого алгоритму усунення проблеми, який використовується для видалення проблеми, яку ми будемо називати проблемоюC C C ACCCCA.
а. Аліса сплачує велику плату (плата покриє витрати, які несуть шахтарі за перевірку алгоритму), а потім розміщує алгоритм, який ми будемо називати алгоритмом K, який порушує проблему в блокчейн. Якщо алгоритм K спирається на велику кількість , що попередньо обчислюються , то Аліса розміщує корінь Меркле цього .P C P CAPCPC
б. Випадкові випадки проблеми A створюються Blockchain. Потім Аліса розміщує частини попередньо обчислених даних, необхідних для алгоритму K для коректної роботи разом із їхньою гілкою Меркле, щоб довести, що дані насправді надходили з . Якщо алгоритм Аліси швидко подається за допомогою попередньо обчислених даних , проблема усувається, і Аліса отримує винагороду за розміщення алгоритму, який видаляє проблему з блокчейна.P CPCPC
Ця процедура усунення проблеми є обчислювально дорогою для шахтарів та валідаторів. Однак, SLT усуває більшість обчислювальних труднощів цієї методики, так що її можна буде використовувати при необхідності в криптовалюті (випадки, в яких використовується ця методика, ймовірно, є досить рідкісними).
Видобуток басейнів є більш здійсненним: у криптовалютах часто дуже важко виграти блок-винагороду. Оскільки виграшів у блоках дуже важко здобути, шахтарі часто шахтують у речах, що називаються майнінг-пулами, в яких шахтарі об'єднують свої ресурси для вирішення проблеми, і в яких вони ділять блок-винагороду пропорційно кількості знайдених «близьких промахів». . Можливою проблемою для є те, що може бути важко скласти якісне уявлення про те, що є "близьким промахом" для проблеми і алгоритм пошуку близької пропуски може відрізнятися від алгоритм розв’язування . Оскільки шахтарі басейну будуть шукати близьких промахів, вони можуть бути не дуже ефективними у вирішенніC C C Ψ ( C ) ( k , x ) ( k , x ) ∈ D H ( k | | x | | | ДаніCCCC (і, отже, мало людей приєднається до видобувних басейнів). Однак для існує чітке поняття про скорочення пропуску, а саме: близька міс - пара де але де , а алгоритм пошуку близьких пропусків для буде таким самим, як алгоритм пошуку рішень для .Ψ(C)(k,x)(k,x)∈DΨ ( C ) Ψ ( C )H(k||x||Data(k,x))≥CΨ(C)Ψ(C)
Свобода прогресу: Проблема з підтвердженням роботи як вважається, не є прогресом, якщо кількість часу, яке потрібне суб'єкту чи групі об'єктів, щоб знайти наступний блок на блокчейні, слід за експоненціальним розподілом де константа прямо пропорційний кількості обчислювальної потужності , що підприємство використовує для вирішення завдання . Для проблем з видобутком криптовалют необхідна свобода прогресу для того, щоб шахтарі отримали блок-винагороду пропорційно їх потужності для видобутку для досягнення децентралізації. SLT, безумовно, допомагає гірничим проблемам досягти прогресу.e - λ x λ PPe−λxλP