Систем со доказ за работа

Од Википедија — слободната енциклопедија
Прејди на прегледникот Прејди на пребарувањето

Систем со доказ за работа (англ. Proof-of-work, POW, PoW) е систем со економска мерка за спречување на напади со преоптоварување на мрежата, спам напади или друг вид на злоупотреба на некоја услуга. Концептот на оваа одбрана за прв пат се појавил во статија на Синтија Дворк и Мони Наор во 1993[1]. Системот се состои од задавање тешка работа (често криптографска загатка) на корисникот на сервисот пред тој да испрати некое барање. На тој начин, корисникот може да испрати малку барања за одреден временски интервал (пропорционално со брзината на решавање на задачата).

Основата на ваквите системи е асиметријата: работата што корисникот треба да ја изврши е тешка (одзема многу време), но давателот на услугата брзо може да провери дали работата е точно извршена. Доколку се работи за proof-of-work систем кој се извршува на процесор, работата е да се пресмета вредност која задоволува однапред зададени критериуми.

Видови[уреди | уреди извор]

Има два вида на proof-of-work системи:

Предизвик-одговор системот има директна врска помеѓу корисникот (клиентот) и давателот на услугата (серверот). За клиентот да изврши акција или барање на серверот, мора да побара предизвик од серверот. Серверот одбира предизвик (математичка или криптографска задача) и ја праќа кон клиентот. Откако клиентот ќе го реши предизвикот, го испраќа решението заедно со потребното барање кон серверот, кој пак ја реализира акцијата само доколку решението е точно.

Решение-проверка системот не претпоставува директна врска. Самиот клиент има право сам да си одбере предизвик/тешка задача заедно со неговото барање, и потоа заедно да ги испрати кон серверот. Серверот проверува дали избраниот проблем е доволно тежок и точно решен, и доколку е така го реализира барањето.

Proof-of-work функции[уреди | уреди извор]

Постојат различни функции кои можат да се користат како задача за корисникот во proof-of-work системи:

  • Diffie-Hellman загатка
  • Парцијална инверзија на хеш функции (како SHA-256)[2]
  • Квадратен остаток на големи прости броеви[1]
  • Проблеми со теорија на графови (Cuckoo-Cycle)

Бескорисност на работата[уреди | уреди извор]

Голем број на proof-of-work системи работат на инверзија на хеш функција или друга асиметрична функција која не дава значаен резултат. Ова значи дека многу ресурси (пресметувачки, а со тоа и енергетски) се користат за непотребна цел. За да се спречи непотребна работа, постојат и proof-of-work системи чиј резултат е корисен, како алгоритмот Primecoin. Целта на овој алгоритам е на клиентот да му се зададе работа да бара прости броеви со одредени карактеристики, што е тешка задача, а е важна за математичарите.

  1. 1,0 1,1 Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology. „CRYPTO’92: Lecture Notes in Computer Science No. 740“. 1993 г. http://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.ps. 
  2. „Hashcash.org“. 1997. http://hashcash.org/.