Читаем Криптвоюматика 2.0 полностью

Второй термин, который нам потребуется - это хэширование. С подписью понятно: если мы видим подпись, мы точно знаем, что автор документа (транзакции, программы) - именно тот, кто свою подпись под документом поставил. Но что, если в документе подменили что-то важное? Например, количество отправленных денег (приписали нолик в конце?). Стало быть, крайне важно проверять не только автора документа, но и его целостность и неизменность.

Есть много способов это сделать, начиная с простых, - которые легко обойти. Например, пересчитать все буквы в сообщении и потом проверить это количество. Если цифра не сходится, то сообщение было изменено какими-то злодеями, либо не дошло до нас целиком. Но этот метод легко обходится, если злоумышленник знает, какого рода проверку мы будем применять.

Простейший пример такой антиподделочной проверки находится в бланке ОСАГО об аварии. Там внизу нужно отметить, сколько квадратиков заполнены галочками (типа “я выезжал со стоянки”, “я стоял на светофоре”). Это чтоб кто-то после получения подписанной копии не натыкал новых, нужных ему вариантов происшествия. Но криптографическая проверка или, иначе говоря, “хэш”, гораздо круче. В нашем (примитивном) варианте при перестановке букв в сообщении контрольная сумма не изменится. А в правильно сделанном хэше при малейшем изменении сразу понятно: это не оригинал. При этом сам “хэш” занимает одну строчку даже для очень больших файлов или документов13.

У хэша есть одно очевидное свойство: он односторонний. То есть по хэшу невозможно подобрать изначальное сообщение (только перебором всех вариантов - так и работает майнинг; но об этом позже). Да, у некоторых типов хэшей была такая проблема, что у разных сообщений мог получиться одинаковый хэш, но сейчас это либо уже решено, либо не играет особой роли. Главное - вы поняли, что эта функция работает только в одну сторону.

Теперь к самому блокчейну. Как использовать подписи и хэши? Представим себе одноклассников, которые хотят завести виртуальную валюту. Они ведут запись на школьной доске: сколько у кого было монет и кто кому сколько отправил, ставят подписи для подтверждения сделок, и все эту доску видят. Потом приходит учитель и говорит: “Вы тут совсем распоясались, поди уже и клей друг другу толкаете втихаря”. Стирает все записи мокрой тряпкой и насаждает веру в светлое будущее.

Ученикам такая херня не нравится. Им нужна своя валюта, и так, чтобы с доски никто не мог ничего стереть. И на одной общей бумажке тоже писать нельзя - тот, у кого она находится, может там наисправлять всего. Поэтому у каждого бумажка будет своя, но у всех одинаковая. На перемене все сверяют записи и добавляют новые - кто кому сколько передал и сколько теперь монет у каждого.

Как понять, хватает ли у Васи денег на передачу Маше? Надо перечитать весь журнал, и станет понятно: вот 10 монет Вася получил от Пети на прошлой неделе, а 40 ему вчера перечислил Олег. После этого сделок не было, поэтому вписываем в журнал новую строчку: “забрать 50 монет у Васи и добавить 50 монет Маше”, заверяем васиной подписью и дописываем хэш. Да, проверять всё - это долго, но у каждого же есть компьютер! Он сразу поймёт, если подпись не та или история неправильная. Испорченную сделку он в журнал записывать не станет, а просто выкинет как фальшивую.

Совокупность сделок на одной странице назовём блоком, допишем в конец хэш всего блока, чтоб не проверять страницу заново (а сверить только хэш) и начнём новую страницу-блок. Цепочка таких блоков - это и есть блокчейн.

Осталось только понять, кто заполняет страницу на перемене, чтобы раздать всем остальным (просто для справки - у биткоина эта “перемена” каждые 10 минут). Для этого все решают задачку по нахождению “красивого” хэша с нулями впереди. Если вы ещё помните, что такое хэш, то станет ясно, что задача это не просто трудная, но и абсолютно бессмысленная (ведь для подтверждения подлинности не имеет значения, как именно выглядит подпись и красива ли она, а речь именно об этом). Решение требуется лишь для того, чтобы случайно определить победителя. Ведь если блок будет всё время оформлять кто-то один, он сможет, например, чьи-то сделки подло не учитывать.

Сложность задачи при этом настолько высока, что решается она только перебором всех вариантов и “хэширования” каждого из них, а перебирают варианты участники одновременно. У кого-то компьютер помощней, ну у того и шансов побольше. Если участников становится слишком много и красивый хэш находится слишком быстро, то новая задачка выбирается потруднее (и наоборот); об этом все договорились заранее.

Перейти на страницу:

Похожие книги

Практика управления человеческими ресурсами
Практика управления человеческими ресурсами

В книге всемирно известного ученого дан подробный обзор теоретических и практических основ управления человеческими ресурсами. В числе прочих рассмотрены такие вопросы, как процесс управления ЧР; работа и занятость; организационное поведение; обеспечение организации управления трудовыми ресурсами; управление показателями труда; вознаграждение.В десятом издании материал многих глав переработан и дополнен. Это обусловлено значительным развитием УЧР: созданием теории и практики управления человеческим капиталом, повышенным вниманием к роли работников «передней линии», к вопросам разработки и внедрения стратегий УЧР, к обучению и развитию персонала. Все эти темы рассмотрены в новых или существенно переработанных главах. Также в книге приведено много реальных примеров из практики бизнеса.Адресовано слушателям программ МВА, аспирантам, студентам старших курсов, обучающимся по управленческим специальностям, а также профессиональным менеджерам и специалистам по управлению человеческими ресурсами.

Майкл Армстронг

Деловая литература / Деловая литература / Управление, подбор персонала / Финансы и бизнес
Наемные работники: подчинить и приручить
Наемные работники: подчинить и приручить

Сергей Занин — предприниматель, бизнес-тренер и консультант с многолетним опытом. Руководитель Пражской школы бизнеса, автор популярных книг «Бизнес-притчи», «Как преодолеть лень, или Как научиться делать то, что нужно делать», «Деньги. Как заработать и не потерять».Благодаря его книгам и тренингам тысячи людей разобрались в собственных амбициях, целях и трудностях, превратили размытые желания «сделать карьеру», «стать успешным», «обеспечить семью», «реализовать себя» в ясную программу последовательных действий.В новой книге С. Занина вы найдете ответы на вопросы:Почему благие намерения хозяев вызывают сопротивление персонала?Как сократить срок окупаемости работников?Почему кнут эффективнее пряника?Как платить словами вместо денег?Есть ли смысл в программах «командостроительства»?Чем заняты работники, когда их не видит хозяин?Как работники используют слабости хозяина?Почему владелец бизнеса всегда умнее своих работников?К какому типу хозяина или работника вы относитесь?Суждения, высказанные в книге, могут вызвать как полное одобрение, так и неприязнь к автору. Это зависит от того, кем сегодня является читатель — наемным сотрудником или владельцем бизнеса.Сайт Сергея Занина — www.zanin.ru

Сергей Геннадьевич Занин , Сергей Занин

Деловая литература / Карьера, кадры / Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес