Блокчейн. Принципы и основы | страница 48
Этот прием для формирования сложновычислимой задачи Ник Сабо позаимствовал у автора проекта Hashcash Адама Бэка, который еще в 1997 году задействовал похожий алгоритм в системе противодействия массовым рассылкам электронной почты. В проекте Бэка тоже было необходимо при отсылке каждого письма вычислять хеш, где первые 20 бит результата должны были являться нулями. Сама по себе задача, с вычислительной точки зрения, была несложной и подразумевала перебор максимум 2>20 вариантов (то есть примерно около 1 млн), на что обычному компьютеру требовалось всего несколько секунд. Однако подобную задачу необходимо было решать для каждого отсылаемого письма, и в случае, если количество адресатов в списке почтовой рассылки было значительным, то объем времени, затрачиваемый на расчеты, пропорционально увеличивался. Результат вычислений добавлялся к служебной информации, сопровождающей каждое электронное письмо, после он чего мог быть легко проверен компьютером получателя на «валидность» в части необходимого количества начальных нулей. Так спам-фильтрам было гораздо проще классифицировать полученное почтовое сообщение.
Следует отметить, что слово Gold в названии проекта Сабо было выбрано неслучайно – автор хотел сопоставить понятие сложновычислимых цифровых денег с золотом, которое трудно найти, добыть или подделать. Слиток золота или сделанное из него украшение можно получить только приложением серьезных усилий – сначала трудом геологов и шахтеров, затем литейщиков и, наконец, ювелиров. Ценность золота определяется комбинацией его редкоземельности, уникальных химических свойств и затраченного на его добычу и обработку труда. Далеко не последним фактором в составе ценности также является баланс спроса и предложения этого металла на мировом рынке. Но все же основную роль играет тот факт, что золото в руках владельца доказывает, что для его получения была проделана сложная работа.
В 1999 году в статье за авторством криптографов Маркуса Якобсона и Ари Джуелса впервые было введено понятие Proof-of-Work, или «доказательство работы». Данный термин относился к решению криптографической задачи нахождения секретного изначального прообраза, хеш которого удовлетворял бы по сложности определенным требованиям. При этом любой другой участник сети, получив данный рассчитанный прообраз, мог бы легко проверить его валидность, пропустив через процедуру хеширования. Это позволяло получить однозначное доказательство того, что сложная вычислительная работа действительно была проведена узлом, который претендует на признание за ним этого факта.