Растущая не по дням, а по часам популярность электронных валют делает их крайне привлекательными не только для потенциальных инвесторов, но также и для злоумышленников, которые постоянно ищут уязвимости в защите самых востребованных криптовалют. Естественно, это обстоятельство вынуждает разработчиков огромное внимание уделять безопасности своих детищ. Об одном из методов защиты, так называемом Proof of Work (доказательстве работы), мы и поговори чуть более детально в статье ниже.
Что такое Proof of Work?
Доказательство работы или Proof of Work – это специфическая система защиты от злоупотребления услугами, использующаяся в распределительных сетях. Она основывается на следующем – для подтверждения определенного действия запрашивающая сторона должна осуществить ряд сложных манипуляций, которые затем легко и быстро проверяются обслуживающей стороной. Таким образом, возникает «асимметрия действий».
Несмотря на общее сходство, PoW ни в коем случае не следует путать с капчами. Последние предлагают для подтверждения действия осуществление запрашивающей стороной манипуляций, которые легки в решении для человека, но чрезвычайно трудны или вообще невозможны для компьютера. В системе Proof of Work все иначе – компьютер может решить поставленные задачи, однако с чрезмерными временными и энергозатратами по сравнению с обслуживающей стороной.
Развитие системы Proof of Work
Впервые о PoW специалисты заговорили еще в далеком 1993 году. Тогда автор статьи в одном из авторитетных западных изданий предложил использовать для подтверждения пользователем операции вычисление сложной операции, с которым можно справиться за определенный промежуток времени. Дополнительным условием при этом выступала легкость проверки – время, затрачиваемое на нее, должно было быть в разы меньше, чем на совершение вычисления.
Спустя 4 года Адам Бэк разработал и внедрил в жизнь проект Hashcash, главное предназначение которого состояло в защите от спам-атак. В 1999 году для определения этой системы впервые был использован термин Proof of Work. Его авторами считаются Ари Джуэлс и Маркус Якобссон.
На протяжении нескольких лет велась модернизация существующих наработок, пока в 2009 году Сатоши Накамото не предложил решение, которое используется до сих пор. Его суть состоит в том, что PoW в криптовалютных системах стал фактически средством совместного решения определенной задачи, в случае с биткоином – задачи о том, какой же вариант блокчейна является верным.
В качестве базы для системы в Биткоине был избран Hashcash. С самого начала функцией для вычисления стала SHA-256, которая используется в биткоинах до сих пор. В криптовалютах, созданных позднее, она была заменена на KDF.
Возможные уязвимости Proof of Work
По мнению многих экспертов, Proof of Work в ряде случаев может быть неэффективным. В качестве примера ими приводятся следующие ситуации:
- Эгоистичный майнинг. Его главной целью является полный контроль над криптовалютной сетью, даже если злоумышленник обладает менее, чем 50% вычислительных мощностей. Для этого ему нужно заявить о том, что его пул гораздо более предпочтителен по сравнению с другими, и таким образом привлечь как можно больше сторонних майнеров. В результате блоки публикуются в порядке, выгодном злоумышленнику, а мощности других заинтересованных лиц расходуются впустую.
- Атака 51%. Опасна для криптосистем, находящихся на ранних этапах своего развития. Злоумышленник теоретически может завладеть более, чем половиной вычислительных ресурсов, использующихся для майнинга. В дальнейшем это предоставляет ему право подтверждать только генерируемые им блоки – все остальные просто игнорируются и не берутся в расчет. В конечном итоге после переписи генерации блоков все средства, хранящиеся в кошельках простых пользователей, пропадут.
Энергоэффективность Proof of Work
К сожалению, системы, разработанные на базе PoW, не могут похвастаться экономичностью – при их использовании потребляется довольно много ресурсов. В подтверждение этому тезису можно привести следующие факты:
- В середине 2013 года только сеть Биткоин тратила на вычислительные мощности PoW приблизительно в 250 раз больше тех мощностей, которыми суммарно обладали 500 наиболее производительных компьютеров на тот момент.
- В 2017 году одна транзакция в сети Биткоин обходилась в среднем приблизительно в 163 кВт (для справки – такого количества энергии хватит обеспечивать на протяжении недели все потребности семьи, проживающей в среднем по размеру доме). Также отметим, что ежегодно майнинг двух самых востребованных криптовалют – биткоина и эфира требует энергии больше, нежели потребляет все население Ливана или Сирии.