Страница 5 из 7
ГЛАВНОЕ, ВЫ ПОНЯЛИ, ЧТО ЭТА ФУНКЦИЯ РАБОТАЕТ ТОЛЬКО В ОДНУ СТОРОНУ.
Теперь к самому блокчейну. Как использовать подписи и хэши? Представим себе одноклассников, которые хотят завести виртуальную валюту. Они ведут запись на школьной доске: сколько у кого было монет и кто кому сколько отправил, ставят подписи для подтверждения сделок, и все эту доску видят. Потом приходит учитель и говорит: «Вы тут совсем распоясались, поди уже и клей друг другу толкаете втихаря». Стирает все записи мокрой тряпкой и насаждает веру в светлое будущее.
Ученикам такая херня не нравится. Им нужна своя валюта, и так, чтобы с доски никто не мог ничего стереть. И на одной общей бумажке тоже писать нельзя – тот, у кого она находится, может там наисправлять всего. Поэтому у каждого бумажка будет своя, но у всех одинаковая. На перемене все сверяют записи и добавляют новые – кто кому сколько передал и сколько теперь монет у каждого.
Как понять, хватает ли у Васи денег на передачу Маше? Надо перечитать весь журнал, и станет понятно: вот 10 монет Вася получил от Пети на прошлой неделе, а 40 ему вчера перечислил Олег. После этого сделок не было, поэтому вписываем в журнал новую строчку: «Забрать 50 монет у Васи и добавить 50 монет Маше», – заверяем васиной подписью и дописываем хэш. Да, проверять все – это долго, но у каждого же есть компьютер! Он сразу поймет, если подпись не та или история неправильная.
ИСПОРЧЕННУЮ СДЕЛКУ ОН В ЖУРНАЛ ЗАПИСЫВАТЬ НЕ СТАНЕТ, А ПРОСТО ВЫКИНЕТ КАК ФАЛЬШИВУЮ.
Совокупность сделок на одной странице назовем блоком, допишем в конец хэш всего блока, чтоб не проверять страницу заново (а сверить только хэш) и начнем новую страницу-блок. Цепочка таких блоков – это и есть блокчейн.
Осталось только понять, кто заполняет страницу на перемене, чтобы раздать всем остальным (просто для справки – у биткоина эта «перемена» каждые 10 минут). Для этого все решают задачку по нахождению «красивого» хэша с нулями впереди. Если вы еще помните, что такое хэш, то станет ясно, что задача это не просто трудная, но и абсолютно бессмысленная (ведь для подтверждения подлинности не имеет значения, как именно выглядит подпись и красива ли она, а речь именно об этом). Решение требуется лишь для того, чтобы случайно определить победителя. Ведь если блок будет все время оформлять кто-то один, он сможет, например, чьи-то сделки подло не учитывать.
Сложность задачи при этом настолько высока, что решается она только перебором всех вариантов и «хэширования» каждого из них, а перебирают варианты участники одновременно. У кого-то компьютер помощней, ну у того и шансов побольше. Если участников становится слишком много и красивый хэш находится слишком быстро, то новая задачка выбирается потруднее (и наоборот); об этом все договорились заранее.
Все желающие решать эту задачу называются «майнерами», а решение записывается на страницу вместе со всеми операциями. Это делается для того, чтобы в будущем какой-нибудь хитроумный китаец не пришел и не сказал: «Ребята, вот на самом деле правильный журнал, у меня все подсчитано», – тогда ему придется предъявить решения всех подделанных задачек сразу, а это нереально. Хотя будем честны: если у него под контролем большинство компьютеров в сети – то возможно.
В итоге мы имеем новую крутую систему децентрализованных операций, где все доверяют всем – потому что все всегда могут все проверить.
ИСТОРИЮ СДЕЛОК НЕЛЬЗЯ ПЕРЕПИСАТЬ И ИСПРАВИТЬ ЧТО-ТО ЗАДНИМ ЧИСЛОМ. УЧАСТНИКОВ МОЖЕТ БЫТЬ ОЧЕНЬ МНОГО, И НАДЕЖНОСТЬ СИСТЕМЫ ОТ ЭТОГО ТОЛЬКО ВЫРАСТЕТ.
По подписи нельзя вычислить ее владельца – если только он сам не заявит о ее принадлежности. А если не учитывать траты сил на постоянное дописывание журнала сделок, все еще и бесплатно.
Но есть и занимательные побочные эффекты. Во-первых, становится удобно торговать оружием и давать взятки, потому что схему трудно отследить и прикрыть, никаких саквояжей с меченой колбасой тут нет. Во-вторых, любую сделку невозможно оспорить или отменить – если ты выслал кому-то свою крипту по ошибке, то это навсегда. И в-третьих, вся информация дублируется 100500 раз, что немного перебор. Это только то, что на поверхности.
Разберем поподробнее.
1.4
Почему это работает плохо
Скажем прямо: блокчейн – технология крутая. Но недостатков у нее хватает. Для их исправления в системе и проводятся так называемые хардфорки – разветвления или перезагрузки. Поэтому нельзя сказать, что все участники всем всегда довольны. Да, блокчейн решает проблему доверия без единого центра, но пока не очень эффективно. Почему?
1) За счет открытости анонимность не такая уж и анонимная, как кажется. Если все транзакции можно проверить, а вы перевели немного бабла своему дилеру, то он узнает, сколько денег у вас в кошельке и куда вы их деваете. Конечно, для этого ему надо знать, кому принадлежат и другие кошельки, но это тоже со временем решается. При этом он может узнать все не только о прошлых, но и о всех будущих платежах с известного ему кошелька.
ЕСТЬ ДАЖЕ КОНТОРА, КОТОРАЯ ЭТИМ СПЕЦИАЛЬНО ЗАНИМАЕТСЯ – И СРЕДИ ЕЕ КЛИЕНТОВ, КОНЕЧНО, СПЕЦСЛУЖБЫ И ПРОЧИЕ ПОДОЗРИТЕЛЬНЫЕ ЛИЦА.
2) Децентрализация не так уж велика. Да, копии реестра хранятся в каждом полноценном кошельке, общего сервера нет, поэтому закрыть все сразу нельзя. Но майнеры, обеспечивающие функционирование сети, объединены в пулы. Сейчас для добычи требуется настолько большая вычислительная мощность, что по одному намайнить, например, биткоин просто невозможно. А 70 % всех майнинговых пулов биткойна (по мощности) сейчас находятся в Китае. А там ведь повсюду проклятые коммунисты! Кто знает, что скажет партия? То же самое можно сказать и про другие криптовалюты. Некоторые из них «децентрализованы» только у себя на сайте.
3) Каждый участник сети хранит у себя копию реестра. Изначально так все и задумывалось, в этом весь цимес. Но сейчас получается, что информация дублируется миллионы раз. Более того, каждый новый участник должен скачать себе историю с подтверждением всех сделок, а она нарастает, как снежный ком: на начало 2018-го для биткоина это 150 гигов. В телефон, например, уже не влезет и на старый комп тоже. И блокчейн продолжит расти. Поэтому многие пользуются «легкими клиентами», которые не скачивают весь блокчейн на компьютер, а только необходимую в данный момент часть. Или, боже упаси, пользуются онлайн-кошельками, то есть доверяют свои ключи кому-то другому.
В РЕЗУЛЬТАТЕ ИСТИННЫХ ХРАНИТЕЛЕЙ ПОЛНОЦЕННОГО УЗЛА ЖИРНЫХ БЛОКЧЕЙНОВ НЕ ТАК УЖ И МНОГО.
4) Блокчейн по своей сути – довольно медленная технология, а самая первая, что в основе биткоина, – очень медленная. Сейчас в системе проходит примерно 6–7 операций в секунду. Для сравнения – Visa может обрабатывать 24 тысячи операций в секунду. У биткоина на начало 2018-го около 350 тысяч операций в сутки, но очевидно, что близок предел – порядка 600 тысяч в сутки (7 в секунду × 60 с × 60 мин × 24 ч). Подтверждения перевода иногда приходится ждать час-полтора, если сеть перегружена или кто-то «шатает» блокчейн преднамеренно[14] миллионом микротранзакций. Если деньги вам нужны здесь и сейчас, биткоин никуда не годится. Справедливости ради нужно сказать, что новые криптовалюты эту проблему предвидели и заранее подумали о масштабируемости. Тем не менее, проблема существует.
14
Обычно это делает известный криптовалютный инвестор Роджер Вер в рамках рекламной кампании Bitcoin Cash