Доказ виконаної роботи Див. також | Примітки | Навігаційне менюрвиправивши або дописавши її

КриптографіяКриптовалюти


англ.DoS-атакспамукапчіHashcash«біткоїнів»хеш-сумимайнінгу«Біткоїн»DoS-атакспамутеорії алгоритмівгіпотезаМатематичний інститут Клеядоларів США




Доказ виконання роботи (англ. Proof-of-work, POW) — принцип захисту систем від зловживання послугами (наприклад, DoS-атак або розсилок спаму), заснований на необхідності виконання стороною, яка робить запит (клієнтом) деякої досить складної тривалої роботи (POW-завдання, одностороння функція), результат якої легко і швидко перевіряється стороною, що обробляє запит (сервером) . Головна особливість цих схем полягає в асиметрії витрат часу — тривалість для ініціатора запиту і висока швидкість для відповіді. Подібні схеми також відомі як client puzzle (функція клієнтської головоломки), computational puzzle (обчислювальна головоломка), або CPU pricing function.


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


Прикладом POW-захисту може служити система Hashcash[1] , яка використовує хешування часткової інверсії при відправці по електронній пошті. Для розрахунку відповідного заголовка потрібно близько 252 хеш-обчислень, які треба перераховувати для кожної відправки. Необхідність постійного перерахунку робить відправку спаму дуже ресурсномісткою, але не створює перешкод для відправки звичайної пошти. При цьому для перевірки коректності обчисленого коду використовується одноразове обчислення SHA-1 із заздалегідь підготовленою міткою.


Інші варіанти доказів виконання роботи використовують як базові елементи складної криптографічної системи. Наприклад, у системі «біткоїнів» використовується багаторівневе хешування — хеш попереднього блоку стає елементом подальшого. Таким чином немає можливості змінити блок без зміни хешів у всіх наступних блоках. Але не всякий хеш визнається істинним — шістнадцяткове значення хеш-суми повинно бути менше значення спеціального параметра, що визначає складність майнінгу. Для пошуку такої хеш-суми потрібен її багаторазовий перерахунок з перебором довільних значень параметра nonce. Складність підбирається таким чином, щоб при використанні всієї обчислювальної потужності мережі середній час знаходження хешу було близьким до деякого заданого значення. Наприклад, час формування блоку в мережі «Біткоїн» становить близько 10 хвилин. Відповідно, будь-яка зміна інформації в сформованому блоці потребує аналогічної витрати обчислювальних ресурсів для перерахунку хешу зміненого блоку і кожного наступного. При цьому перевірка цілісності ланцюжка обмежена одноразовим обчисленням хешів поточного блоку і попереднього, що не призводить до істотних затримок.



Потенційна уразливість |


Експерти продовжують обговорювати, чи є POW-захист досить ефективною проти DoS-атак і спаму[2][3]. У теорії алгоритмів існує гіпотеза про приблизну кількість часу на пошук рішення і на перевірку істинності запропонованого рішення. Це одне з семи завдань тисячоліття, за вирішення якої Математичний інститут Клея призначив премію в мільйон доларів США.



Див. також |


  • Капча

  • Біткоїн

  • Асиметричні алгоритми шифрування

  • Одностороння функція


Примітки |




  1. ftp://sunsite.icm.edu.pl/site/replay.old/programs/hashcash/hashcash.pdf


  2. http://www.cl.cam.ac.uk/~rnc1/proofwork.pdf


  3. http://www.econinfosec.org/archive/weis2006/docs/50.pdf








П:  Портал «Програмування» П:  Портал «Інформаційні технології»




Popular posts from this blog

Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

Nissan Patrol Зміст Перше покоління — 4W60 (1951-1960) | Друге покоління — 60 series (1960-1980) | Третє покоління (1980–2002) | Четверте покоління — Y60 (1987–1998) | П'яте покоління — Y61 (1997–2013) | Шосте покоління — Y62 (2010- ) | Посилання | Зноски | Навігаційне менюОфіційний український сайтТест-драйв Nissan Patrol 2010 7-го поколінняNissan PatrolКак мы тестировали Nissan Patrol 2016рвиправивши або дописавши її

Best approach to update all entries in a list that is paginated?Best way to add items to a paginated listChoose Your Country: Best Usability approachUpdate list when a user is viewing the list without annoying themWhen would the best day to update your webpage be?What should happen when I add a Row to a paginated, sorted listShould I adopt infinite scrolling or classical pagination?How to show user that page objects automatically updateWhat is the best location to locate the comments section in a list pageBest way to combine filtering and selecting items in a listWhen one of two inputs must be updated to satisfy a consistency criteria, which should you update (if at all)?