[МУЗЫКА] [МУЗЫКА] Перед тем как рассмотреть различные применения блокчейна и различных конструкций на его основе, нам нужно будет на примере биткойна ввести важное понятие открытых и закрытых реестров. Давайте вернемся к нашему голосованию. Когда у нас имеется небольшая компания людей, которые физически могут прийти и проголосовать, мы всегда понимаем, что у одного человека имеется один голос. Это основной принцип эгалитарной демократии. Такую ситуацию можно называть закрытым реестром, когда мы контролируем, кто включен в реестр, они у нас все переписаны поименно, и когда появляется новый персонаж, мы всегда можем решить, включаем ли мы его в реестр или не включаем. Тем не менее, ситуация с биткойном чуть-чуть другая. В биткойн может играть каждый. Любой из вас может открыть на компьютере кошелек, поставить туда небольшую программу и начать проводить операции с криптовалютой. Это крайне большое преимущество биткойна. Это позволяет ему очень быстро наращивать аудиторию. Тем не менее при этом возникает простая проблема. Рассмотрим еще раз голосование по какому-то вопросу. Мы понимаем, что в случае биткойна и криптовалют никто не приходит голосовать ногами, все голосуют удаленно. Понятно, что мы можем проверить правильность голосования, потому что у нас есть открытые и закрытые ключи. Тем не менее никто не мешает одному пользователю сгенерировать любое количество персонажей. Вы можете открыть очень большое количество кошельков, сидя за своим компьютером, каждый кошелек будет иметь закрытые и открытые ключи. И в этом смысле вот эта ваша тысяча и миллион кошельков, которыми вы управляете, ничем не отличимы от честных персонажей, от честных игроков, каждый из которых заводит один кошелек. Поэтому, как мы с вами только что обсуждали, такая ситуация приводит к возможности атаки 50 % + один кошелек на систему. Иными словами, если вы хотите фальсифицировать дальнейшее поведение системы или если вы хотите фальсифицировать какие-то прошлые операции, вы можете создать большое количество клонов, которые будут голосовать по вашей указке. В этом смысле тогда само содержание системы теряется. Оно переходит под управление какого-то одного человека. Тем не менее одна из базовых идей биткойна состоит в том, что его изобретатели придумали, как с этим бороться. И это, наверное, основной ключевой их вклад в развитие криптоматематики, криптоплатежей, криптовалют и в общем всех платежных операций на свете. Идея очень простая, мы ее уже обсуждали на примере карточек. Действительно, каждый человек может открыть кошелек. Но давайте заставим этого человека при совершении любой операции в системе совершать какую-то долгую утомительную и на самом деле достаточно бессмысленную задачу. В случае карточек мы предлагали, например, расписывать каждую новую карточку под Хохлому. Иными словами, чтобы исключить размножение клонов, каждая операция в системе должна сопровождаться каким-то количеством трудозатрат. Эти трудозатраты имеют только одну цель: чтобы один человек мог производить данное действие за какое-то ограниченное количество времени и не мог бы эту операцию распараллеливать на тысячу и миллион операций. В биткойне это сделано при помощи уже известных нам хеш-функций. Я не буду подробно рассказывать эту процедуру, но на пальцах ее понять довольно просто. Когда каждый участник добавляет к цепочке новую карточку, он не просто считает хеш-функцию от предыдущих карточек и дописывает ее к новой карточке. Он добавляет к ней некое случайное поле, которое устроено таким способом, чтобы хеш-функция от карточки в целом отвечала определенному значению. Иными словами, в это поле человек должен подобрать соответствующие числа, чтобы у нас при применении хеш-функции к данной карточке получалось заранее заданное число. Как мы знаем, это операция долгая. Человек должен перебирать все варианты, и только случайно наткнувшись на правильный вариант, человек может получить правильное число и включить карточку в реестр. Это означает, если посмотреть с другого угла, что человек должен потратить на эту задачу достаточно большое количество компьютерной мощности. Вы можете создать на одном компьютере миллион персонажей, это легко, но вы не можете распараллелить этот компьютер на миллион компьютеров. Иными словами, даже если вы создали миллион персонажей, мощности вашего компьютера хватит только на то, чтобы обслужить одного такого персонажа при совершении одной заданной операции. Таким образом, в биткойне очень изящно решен вопрос размножения клонов. Просто каждому клону ставится сложная задача, которая требует от каждого клона отдельного компьютера. Эта операция, но опять-таки с оговорками на то, что биткойн является гораздо более сложной конструкцией, чем упрощенная криптовалюта, про которую я вам рассказываю, называется майнингом. Вопреки распространенному убеждению, майнинг не является поиском цифровых монеток. Майнинг является перебором чисел в целях получить нужную хеш-функцию для данной цепочки, чтобы эта цепочка стала валидной. Собственно, на этом основана работа биткойна, за это майнеры получают вознаграждение, и собственно майнеры обеспечивают нефальсифицируемость цепочки в целом. Неким побочным эффектом получения вознаграждения, естественно, стало то, что майнинг стал коммерчески выгодной активностью. Иными словами, люди стали размножать компьютеры. Всегда появляется соблазн поставить второй компьютер, третий компьютер, пять компьютеров, десять компьютеров, поставить высокоэффективные специализированные процессоры и в конце концов прийти к тому, что называется майнинговыми фирмами, когда сотни, тысячи, десятки тысяч процессоров решают вот эту задачу поиска хеш-функций. Это в определенном смысле негативный эффект в биткойне, потому что, как мы уже понимаем, очень большое количество компьютерной мощности, очень большое количество электроэнергии, очень большое количество выделяемого тепла связано с тем, чтобы обеспечить нефальсифицируемость системы. К сожалению, в алгоритмах типа биткойна эта ситуация неизбежна. На данный момент опять-таки математики пытаются придумать алгоритмы, которые являются более эффективными с этой точки зрения, но каких-то прорывных успехов нет. Поэтому на данный момент нам с вами приходится мириться с тем, что криптовалюты являются достаточно затратными, с точки зрения электроэнергии, оборудования и потребляемого ресурса, платежным инструментом. Теперь, когда мы с вами понимаем, что такое майнинг и как работают открытые и закрытые реестры, мы можем перейти к некриптовалютным применениям блокчейна.