Доказ виконання роботи (англ. Proof-of-work, POW) — принцип захисту систем від зловживання послугами (наприклад, DoS-атак або розсилок спаму), заснований на необхідності виконання стороною, яка робить запит (клієнтом) деякої досить складної тривалої роботи (POW-завдання, одностороння функція), результат якої легко і швидко перевіряється стороною, що обробляє запит (сервером). Головна особливість цих схем полягає в асиметрії витрат часу — тривалість для ініціатора запиту і висока швидкість для відповіді. Подібні схеми також відомі як client puzzle (функція клієнтської головоломки), computational puzzle (обчислювальна головоломка), або CPU pricing function.
Не слід плутати цей спосіб захисту з капчами, які пропонують завдання, легкі для людини, але складні або зовсім нерозв'язні для комп'ютера. POW-завдання не призначені для людини, їх рішення комп'ютером завжди досяжне, але вимагає виконання великої кількості операцій. При цьому для перевірки отриманого рішення потрібна відносно мала кількість операцій.
Прикладом POW-захисту може служити система Hashcash , яка використовує хешування часткової інверсії при відправці електронною поштою. Для розрахунку відповідного заголовка потрібно близько 252 хеш-обчислень, які треба перераховувати для кожної відправки. Необхідність постійного перерахунку робить відправку спаму дуже ресурсномісткою, але не створює перешкод для відправки звичайної пошти. При цьому для перевірки коректності обчисленого коду використовується одноразове обчислення SHA-1 із заздалегідь підготовленою міткою.
Інші варіанти доказів виконання роботи використовують як базові елементи складної криптографічної системи. Наприклад, у системі Біткойн використовується багаторівневе хешування — хеш попереднього блоку стає елементом подальшого. Таким чином немає можливості змінити блок без зміни хешів у всіх наступних блоках. Але не всякий хеш визнається істинним — шістнадцяткове значення хеш-суми повинно бути менше значення спеціального параметра, що визначає складність майнінгу. Для пошуку такої хеш-суми потрібен її багаторазовий перерахунок з перебором довільних значень параметра nonce. Складність підбирається таким чином, щоб при використанні всієї обчислювальної потужності мережі середній час знаходження хешу було близьким до деякого заданого значення. Наприклад, час формування блоку в мережі Біткойн становить близько 10 хвилин. Відповідно, будь-яка зміна інформації в сформованому блоці потребує аналогічної витрати обчислювальних ресурсів для перерахунку хешу зміненого блоку і кожного наступного. При цьому перевірка цілісності ланцюжка обмежена одноразовим обчисленням хешів поточного блоку і попереднього, що не призводить до істотних затримок.
Потенційна уразливість
Експерти продовжують обговорювати, чи є POW-захист досить ефективною проти DoS-атак і спаму. У теорії алгоритмів існує гіпотеза про приблизну кількість часу на пошук рішення і на перевірку істинності запропонованого рішення. Це одне з семи завдань тисячоліття, за вирішення якої Математичний інститут Клея призначив премію в мільйон доларів США.
Див. також
Примітки
- Lachtar, Nada; Elkhail, Abdulrahman Abu; Bacha, Anys; Malik, Hafiz (2020-07). A Cross-Stack Approach Towards Defending Against Cryptojacking. IEEE Computer Architecture Letters. Т. 19, № 2. с. 126—129. doi:10.1109/LCA.2020.3017457. ISSN 1556-6064. Процитовано 20 березня 2023.
- ftp://sunsite.icm.edu.pl/site/replay.old/programs/hashcash/hashcash.pdf
- (PDF). Архів оригіналу (PDF) за 20 січня 2017. Процитовано 17 жовтня 2016.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - (PDF). Архів оригіналу (PDF) за 29 квітня 2016. Процитовано 17 жовтня 2016.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Dokaz vikonannya roboti angl Proof of work POW princip zahistu sistem vid zlovzhivannya poslugami napriklad DoS atak abo rozsilok spamu zasnovanij na neobhidnosti vikonannya storonoyu yaka robit zapit kliyentom deyakoyi dosit skladnoyi trivaloyi roboti POW zavdannya odnostoronnya funkciya rezultat yakoyi legko i shvidko pereviryayetsya storonoyu sho obroblyaye zapit serverom Golovna osoblivist cih shem polyagaye v asimetriyi vitrat chasu trivalist dlya iniciatora zapitu i visoka shvidkist dlya vidpovidi Podibni shemi takozh vidomi yak client puzzle funkciya kliyentskoyi golovolomki computational puzzle obchislyuvalna golovolomka abo CPU pricing function Ne slid plutati cej sposib zahistu z kapchami yaki proponuyut zavdannya legki dlya lyudini ale skladni abo zovsim nerozv yazni dlya komp yutera POW zavdannya ne priznacheni dlya lyudini yih rishennya komp yuterom zavzhdi dosyazhne ale vimagaye vikonannya velikoyi kilkosti operacij Pri comu dlya perevirki otrimanogo rishennya potribna vidnosno mala kilkist operacij Prikladom POW zahistu mozhe sluzhiti sistema Hashcash yaka vikoristovuye heshuvannya chastkovoyi inversiyi pri vidpravci elektronnoyu poshtoyu Dlya rozrahunku vidpovidnogo zagolovka potribno blizko 252 hesh obchislen yaki treba pererahovuvati dlya kozhnoyi vidpravki Neobhidnist postijnogo pererahunku robit vidpravku spamu duzhe resursnomistkoyu ale ne stvoryuye pereshkod dlya vidpravki zvichajnoyi poshti Pri comu dlya perevirki korektnosti obchislenogo kodu vikoristovuyetsya odnorazove obchislennya SHA 1 iz zazdalegid pidgotovlenoyu mitkoyu Inshi varianti dokaziv vikonannya roboti vikoristovuyut yak bazovi elementi skladnoyi kriptografichnoyi sistemi Napriklad u sistemi Bitkojn vikoristovuyetsya bagatorivneve heshuvannya hesh poperednogo bloku staye elementom podalshogo Takim chinom nemaye mozhlivosti zminiti blok bez zmini heshiv u vsih nastupnih blokah Ale ne vsyakij hesh viznayetsya istinnim shistnadcyatkove znachennya hesh sumi povinno buti menshe znachennya specialnogo parametra sho viznachaye skladnist majningu Dlya poshuku takoyi hesh sumi potriben yiyi bagatorazovij pererahunok z pereborom dovilnih znachen parametra nonce Skladnist pidbirayetsya takim chinom shob pri vikoristanni vsiyeyi obchislyuvalnoyi potuzhnosti merezhi serednij chas znahodzhennya heshu bulo blizkim do deyakogo zadanogo znachennya Napriklad chas formuvannya bloku v merezhi Bitkojn stanovit blizko 10 hvilin Vidpovidno bud yaka zmina informaciyi v sformovanomu bloci potrebuye analogichnoyi vitrati obchislyuvalnih resursiv dlya pererahunku heshu zminenogo bloku i kozhnogo nastupnogo Pri comu perevirka cilisnosti lancyuzhka obmezhena odnorazovim obchislennyam heshiv potochnogo bloku i poperednogo sho ne prizvodit do istotnih zatrimok Potencijna urazlivist Eksperti prodovzhuyut obgovoryuvati chi ye POW zahist dosit efektivnoyu proti DoS atak i spamu U teoriyi algoritmiv isnuye gipoteza pro pribliznu kilkist chasu na poshuk rishennya i na perevirku istinnosti zaproponovanogo rishennya Ce odne z semi zavdan tisyacholittya za virishennya yakoyi Matematichnij institut Kleya priznachiv premiyu v miljon dolariv SShA Div takozhCAPTCHA Bitkojn Asimetrichni algoritmi shifruvannya Odnostoronnya funkciya Ataka 51 PrimitkiLachtar Nada Elkhail Abdulrahman Abu Bacha Anys Malik Hafiz 2020 07 A Cross Stack Approach Towards Defending Against Cryptojacking IEEE Computer Architecture Letters T 19 2 s 126 129 doi 10 1109 LCA 2020 3017457 ISSN 1556 6064 Procitovano 20 bereznya 2023 ftp sunsite icm edu pl site replay old programs hashcash hashcash pdf PDF Arhiv originalu PDF za 20 sichnya 2017 Procitovano 17 zhovtnya 2016 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya PDF Arhiv originalu PDF za 29 kvitnya 2016 Procitovano 17 zhovtnya 2016 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya