Криптвоюматика. Как потерять всех друзей и заставить всех себя ненавидеть
Шрифт:
Получается, что блокчейн – это, прежде всего, новый формат доверия, для которого не нужны посредники и авторитеты.
1.2
Зачем оно вообще надо
Итак, блокчейн – это криптографически защищенный распределенный реестр. Он оберегает нас от того, чтобы кто-то незаметно не продублировал свою запись о наличии чего-либо, при этом не надо доверять никакому специальному регулятору – все и так верят всем. Поэтому и записать в блокчейн можно все, что вообще можно записать списком. Логичное приложение – регистрировать собственность на землю, наличие диплома [8] или рецепта [9] на лекарство. Некоторые из
8
http://news.mit.edu/2017/mit-debuts-secure-digital-diploma-using-bitcoin-blockchain-technology-1017
9
http://www.healthcareitnews.com/news/next-big-thing-pharmacy-supply-chain-blockchain
Или представьте, что вы покупаете песню непосредственно у ее создателя. Посредников нет, комиссия минимальна, он сразу получает ваши деньги, а вы автоматически получаете права на нее. Все всегда могут проверить, что такой-то адрес у такого-то музыканта эту песню купил и может ее слушать. Или смотреть фильм. Или читать книгу. Не нужен никакой Михалков со своим РАО, чудо-то какое! Все и так без него знают, что кому принадлежит и сколько кому причитается. Более того, не только сколько причитается, а оно уже и перечислено и уплочено, и все довольны – композитор, автор текста, продюсер. Кроме издателей, которые стали не нужны.
Правительства и регуляторы могут снять с себя функции регистрации и проверки чего бы то ни было. При этом уровень анонимности можно менять по консенсусу сторон. Все сделки проходят очень быстро и нет никакой системы Visa или MasterCard: марокканец покупает фильм у бразильца напрямую, минуя таможню и банки!
И ОТОБРАТЬ ЕГО ТОЖЕ НИКТО НЕ МОЖЕТ. ПРОСТО СКАЗКА.
Внезапно для удостоверения документов не требуется нотариус, да и вообще какие-либо государственные учреждения. Голосовать можно на дому, и всегда можно проверить, кому достался твой голос – он зачислится «на счет» твоему кандидату, и директор какой-то дагестанской школы не сможет спиздить голос простого пастуха после подсчета.
Так со всем: патенты, разрешения, браки и разводы, паспорта, доверенности – без подвохов, подделок и черных риэлторов. По поликлиникам не надо будет таскать свою карту! Дал пароль нужному врачу – он сразу видит не то что твою историю болезни, а еще и какой-нибудь геном впридачу – в любой больничке любого Таиланда!
Благотворительность тоже выйдет на новый уровень. Можно же сделать так, чтобы никто не видел жертвователей – а настоящая благотворительность всегда анонимна, – зато вот жертвователи всегда знали бы, куда уходят деньги со спонсорского счета, на какие операции расходуются и кто их получает.
Можно и еще хитрее: если вы своему ребенку обещали подарить миллион на свадьбу, это можно записать в смарт-контракт с доступом к вашему счету. Как только контракт видит, что у сына зарегистрирован брак, он переводит ему деньги напрямую, а вы сами, может быть, уже даже и померли, не дождавшись этого счастливого момента (речь о переводе денег, конечно).
ДЛЯ ЭТОГО НЕ НУЖЕН БАНКИР, ЗАГС, НОТАРИУС И ЗАВЕЩАНИЕ. НЕ НУЖНО НИЧЕГО ЖДАТЬ ИЛИ ПРОВЕРЯТЬ. ВСЕ СРАБОТАЕТ САМО.
Хотя некоторые идеи криптоноваторов – абсолютно бредовые (без шуток). Нужен ли блокчейн, чтобы завести какую-то новую энциклопедию [10] на блокчейне или читать платные новости, которые – ничего себе! – нельзя исправить задним числом [11] ? Вы часто перечитываете прошлогодние новости? Из-за бешеного притока инвестиций в эту отрасль люди пробуют совершенно невменяемые идеи на предмет сбора бабла с инвесторов.
10
https://www.wired.com/story/everipedia-blockchain/
11
http://www.niemanlab.org/2017/10/
А у инвестора логика простая: биткоин растет, может и еще что-то вырастет? Это совершенно нормальный процесс. Технология молодая и скоро все поймут, для чего она подходит хорошо, а для чего нет. Кому-то, правда, это понимание встанет в копеечку.
1.3
Как
Мы изучили херову тучу объяснений того, как работает блокчейн. Проблемы две: либо эксперт держит читателей за идиотов и объясняет это так примитивно, что суть процесса остается за кадром, либо текст рассчитан на айтишника с деревьями Меркла и схемами Шнорра, и простой человек его уже не воспринимает. Самое лучшее объяснение встретилось нам в блоге «Лаборатория Касперского» [12] . Его мы и взяли за основу, но постарались сделать еще понятней.
12
https://www.kaspersky.ru/blog/bitcoin-easy-explanation/12668/
Сначала изучим несколько основных понятий, первое из которых – цифровая подпись. Зачем нужна обычная подпись? Она удостоверяет того, кто подписал документ. Цифровая в этом плане даже лучше – она делает то же самое, только ее нельзя (точнее, невероятно трудно) подделать. То есть автор документа определяется однозначно, и подписать его мог только он.
ПРИ ЭТОМ ОДИН ЧЕЛОВЕК (ИЛИ ФИРМА) МОЖЕТ СГЕНЕРИРОВАТЬ НЕСКОЛЬКО ВПОЛНЕ ЗАКОННЫХ ПАР ИМЯ-ПОДПИСЬ – ДЛЯ РАЗНЫХ ЦЕЛЕЙ.
Второй термин, который нам потребуется – это хэширование. С подписью понятно: если мы видим подпись, мы точно знаем, что автор документа (транзакции, программы) – именно тот, кто свою подпись под документом поставил. Но что, если в документе подменили что-то важное? Например, количество отправленных денег (приписали нолик в конце?). Стало быть, крайне важно проверять не только автора документа, но и его целостность и неизменность.
Есть много способов это сделать, начиная с простых, – которые легко обойти. Например, пересчитать все буквы в сообщении и потом проверить это количество. Если цифра не сходится, то сообщение было изменено какими-то злодеями, либо не дошло до нас целиком. Но этот метод легко обходится, если злоумышленник знает, какого рода проверку мы будем применять.
Простейший пример такой антиподделочной проверки находится в бланке ОСАГО об аварии. Там внизу нужно отметить, сколько квадратиков заполнены галочками (типа «я выезжал со стоянки», «я стоял на светофоре»). Это чтоб кто-то после получения подписанной копии не натыкал новых, нужных ему вариантов происшествия. Но криптографическая проверка или, иначе говоря, «хэш», гораздо круче. В нашем (примитивном) варианте при перестановке букв в сообщении контрольная сумма не изменится. А в правильно сделанном хэше при малейшем изменении сразу понятно: это не оригинал. При этом сам «хэш» занимает одну строчку даже для очень больших файлов или документов [13] .
13
Например, на нашем сайте по адресу криптвоюматика.рф будет хэш этой книги, и ты, дорогой читатель, всегда можешь проверить, что тебя не наебали и не подсунули какую-то другую, мерзкую книгу про скам-проекты вместо нашей доброй и светлой литературы.
У хэша есть одно очевидное свойство: он односторонний. То есть по хэшу невозможно подобрать изначальное сообщение (только перебором всех вариантов – так и работает майнинг; но об этом позже). Да, у некоторых типов хэшей была такая проблема, что у разных сообщений мог получится одинаковый хэш, но сейчас это либо уже решено, либо не играет особой роли.
ГЛАВНОЕ, ВЫ ПОНЯЛИ, ЧТО ЭТА ФУНКЦИЯ РАБОТАЕТ ТОЛЬКО В ОДНУ СТОРОНУ.
Теперь к самому блокчейну. Как использовать подписи и хэши? Представим себе одноклассников, которые хотят завести виртуальную валюту. Они ведут запись на школьной доске: сколько у кого было монет и кто кому сколько отправил, ставят подписи для подтверждения сделок, и все эту доску видят. Потом приходит учитель и говорит: «Вы тут совсем распоясались, поди уже и клей друг другу толкаете втихаря». Стирает все записи мокрой тряпкой и насаждает веру в светлое будущее.
Ученикам такая херня не нравится. Им нужна своя валюта, и так, чтобы с доски никто не мог ничего стереть. И на одной общей бумажке тоже писать нельзя – тот, у кого она находится, может там наисправлять всего. Поэтому у каждого бумажка будет своя, но у всех одинаковая. На перемене все сверяют записи и добавляют новые – кто кому сколько передал и сколько теперь монет у каждого.
Как понять, хватает ли у Васи денег на передачу Маше? Надо перечитать весь журнал, и станет понятно: вот 10 монет Вася получил от Пети на прошлой неделе, а 40 ему вчера перечислил Олег. После этого сделок не было, поэтому вписываем в журнал новую строчку: «Забрать 50 монет у Васи и добавить 50 монет Маше», – заверяем васиной подписью и дописываем хэш. Да, проверять все – это долго, но у каждого же есть компьютер! Он сразу поймет, если подпись не та или история неправильная.