Криптвоюматика 4.1. Стань сыном маминой подруги - Алексей Викторович Марков
Или представьте, что вы покупаете песню непосредственно у её создателя. Посредников нет, комиссия минимальна, он сразу получает ваши деньги, а вы автоматически получаете права на неё. Все всегда могут проверить, что такой-то адрес у такого-то музыканта эту песню купил и может её слушать. Или смотреть фильм. Или читать книгу. Не нужен никакой Михалков со своим РАО, чудо-то какое! Все и так без него знают, что кому принадлежит и сколько кому причитается. Более того, не только сколько причитается, а оно уже и перечислено и уплочено, и все довольны – композитор, автор текста, продюсер. Кроме издателей, которые стали не нужны.
Правительства и регуляторы могут снять с себя функции регистрации и проверки чего бы то ни было. При этом уровень анонимности можно менять по консенсусу сторон. Все сделки проходят очень быстро и нет никакой системы Visa или MasterCard: марокканец покупает фильм у бразильца напрямую, минуя таможню и банки! И отобрать его тоже никто не может. Просто сказка.
Внезапно для удостоверения документов не требуется нотариус, да и вообще какие-либо государственные учреждения. Голосовать можно на дому, и всегда можно проверить, кому достался твой голос – он зачислится «на счёт» твоему кандидату, и директор какой-то дагестанской школы не сможет украсть голос простого пастуха после подсчёта.
Так со всем: патенты, разрешения, браки и разводы, паспорта, доверенности – без подвохов, подделок и чёрных риелторов. По поликлиникам не надо будет таскать свою карту! Дал пароль нужному врачу – он сразу видит не то что твою историю болезни, а ещё и какой-нибудь геном в придачу – в любой больничке любого Таиланда!
Благотворительность тоже выйдет на новый уровень. Можно же сделать так, чтобы никто не видел жертвователей – а настоящая благотворительность всегда анонимна, – зато вот жертвователи всегда знали бы, куда уходят деньги со спонсорского счёта, на какие операции расходуются и кто их получает.
Можно и ещё хитрее: если вы своему ребёнку обещали подарить миллион на свадьбу, это можно записать в смарт-контракт с доступом к вашему счёту. Как только контракт видит, что у сына зарегистрирован брак, он переводит ему деньги напрямую, а вы сами, может быть, уже даже и померли, не дождавшись этого счастливого момента (речь о переводе денег, конечно). Для этого не нужен банкир, загс, нотариус и завещание. Не нужно ничего ждать или проверять. Всё сработает само.
Хотя некоторые идеи криптоноваторов – абсолютно бредовые (без шуток). Нужен ли блокчейн, чтобы завести какую-то новую энциклопедию[11] на блокчейне или читать платные новости, которые – ничего себе! – нельзя исправить задним числом[12]? Вы часто перечитываете прошлогодние новости? Из-за бешеного притока инвестиций в эту отрасль люди пробуют совершенно невменяемые идеи на предмет сбора бабла с инвесторов.
А у инвестора логика простая: биткоин растёт, может и ещё что-то вырастет? Это совершенно нормальный процесс. Технология молодая, и скоро все поймут, для чего она подходит хорошо, а для чего нет. Кому-то, правда, это понимание встанет в копеечку.
1.3. Как это работает
Мы изучили херову тучу объяснений того, как работает блокчейн. Проблемы две: либо эксперт держит читателей за идиотов и объясняет это так примитивно, что суть процесса остаётся за кадром, либо текст рассчитан на айтишника с деревьями Меркла и подписями Шнорра, и простой человек его уже не воспринимает. Самое лучшее объяснение встретилось нам в блоге Лаборатории Касперского[13]. Его мы и взяли за основу, но постарались сделать ещё понятней.
Сначала изучим несколько основных понятий, первое из которых – цифровая подпись. Зачем нужна обычная подпись? Она удостоверяет того, кто подписал документ. Цифровая в этом плане даже лучше – она делает то же самое, только её нельзя (точнее, невероятно трудно) подделать. То есть автор документа определяется однозначно, и подписать его мог только он. При этом один человек (или фирма) может сгенерировать несколько вполне законных пар имя-подпись – для разных целей.
Второй термин, который нам потребуется, – это хэширование. С подписью понятно: если мы видим подпись, мы точно знаем, что автор документа (транзакции, программы) – именно тот, кто свою подпись под документом поставил. Но что, если в документе подменили что-то важное? Например, количество отправленных денег (приписали нолик в конце?). Стало быть, крайне важно проверять не только автора документа, но и его целостность и неизменность.
Есть много способов это сделать, начиная с простых, которые легко обойти. Например, пересчитать все буквы в сообщении и потом проверить это количество. Если цифра не сходится, то сообщение было изменено какими-то злодеями, либо не дошло до нас целиком. Но этот метод легко обходится, если злоумышленник знает, какого рода проверку мы будем применять.
Простейший пример такой антиподделочной проверки находится в бланке ОСАГО об аварии. Там внизу нужно отметить, сколько квадратиков заполнены галочками (типа «я выезжал со стоянки», «я стоял на светофоре»). Это чтоб кто-то после получения подписанной копии не натыкал новых, нужных ему вариантов происшествия. Но криптографическая проверка, или, иначе говоря, «хэш», гораздо круче. В нашем (примитивном) варианте при перестановке букв в сообщении контрольная сумма не изменится. А в правильно сделанном хэше при малейшем изменении сразу понятно: это не оригинал. При этом сам хэш занимает одну строчку даже для очень больших файлов или документов.
У хэша есть одно очевидное свойство: он односторонний. То есть по хэшу невозможно подобрать изначальное сообщение (только перебором всех вариантов – так и работает майнинг; но об этом позже). Да, у некоторых типов хэшей была такая проблема, что у разных сообщений