Блокчейн. Принципы и основы | страница 57



Чтобы избежать такого негативного сценария развития событий, необходимо сделать так, чтобы количество предлагаемых сети блоков для включения в цепочку было чрезвычайно малым. В идеале – чтобы в течение среднего временного интервала между созданием блоков (в сети Биткоин – около десяти минут) конкурирующие блоки в сети вообще отсутствовали. Но как этого достичь? Ответ прост: необходимо сделать процесс создания блоков настолько сложным, чтобы внутри кванта времени, выделяемого на создание нового блока, сети предлагалось минимальное количество новых блоков. В этом случае необходимым условием для их создания должно стать решение сложной вычислительной задачи – примерно такой, как описывалось в концепте «Доказательства работы», или Proof-of-Work. В сети Биткоин подобный процесс создания блока называется «майнингом», по аналогии с добычей полезных ископаемых, где необходимо затратить серьезные усилия, прежде чем можно будет извлечь драгоценный ресурс из шахты и реализовать его, получив материальную выгоду. Как же осуществляется цифровой майнинг в сети Биткоин?

Майнинг в сети биткоин

Занимаясь интеграцией концепта Proof-of-Work в свой проект Bit Gold, который многие считают «предтечей» Биткоина, Ник Сабо столкнулся с проблемой, когда фиксированная сложность вычислительной задачи вела к потенциальной уязвимости, которая с большой вероятностью проявилась бы в будущем. Дело в том, что совокупная вычислительная мощность сети будет со временем естественным образом расти. Произойдет это по двум причинам: во-первых, вырастет общее количество узлов, а во-вторых, согласно закону Мура, усредненная вычислительная мощность отдельно взятого узла системы будет также постепенно увеличиваться. Таким образом, через какое-то время заложенная в логике проекта фиксированная сложность вычислительной задачи перестанет быть для сети проблемой. В конечном итоге сетевые узлы превратятся в «печатные станки» для электронных денег, что неизбежно спровоцирует в системе гиперинфляцию. Стоит ли сомневаться, что после этого все узлы системы будут материально демотивированы и едва ли захотят в дальнейшем участвовать в подобном проекте.

Напомним, что суть сложновычислимой задачи в проекте Bit Gold состояла в переборе хешей различных прообразов. А конечной целью было нахождение такого хеша, который бы считался для всей сети валидным – то есть в данном случае содержал определенное количество нулей в начале строки данных. Статическая сложность вычислительной задачи стала для Сабо одним из непреодолимых препятствий, которое так и не позволило BitGold увидеть свет. Однако Сатоши Накамото в своем проекте Биткоин эту задачу решил, и, как мы сейчас убедимся, достаточно элегантно.