Начало здесь: //infostart.ru/public/988498/
Итак, у нас уже есть способ гарантированно обнаружить изменение "задним числом". В принципе, мы уже сейчас могли бы построить работоспособную систему. Каждый участник, отправляя базу далее по цепочке, запоминает поледний хеш. Когда до него дойдет очередь в следующий раз, он сравнит запомненный хеш, с тем, что присутствует в базе. Если они не совпадут, он просто не станет передавать полученную им от предыдущего участника базу, а передаст дальше базу, которая есть у него сейчас (и в которой точно нет изменений задним числом).
Но это будет работать только в нашей упрощенной системе, где обмен происходит в строго установленном порядке. А что делать, если у нас каждый может в любой момент времени обмениваться информацией с любым участником? Как в таких условиях обеспечить надежность транзакций? И как такое вобще возможно?
Здесь мы возвращаемся к вопросу, который был поставлен в предыдущей части. Могут ли люди самостоятельно, без помощи внешней силы, прийти к согласию. При том, что каждый обладает свободой воли. А некоторые свободой недоброй воли. Эта задача была сформулирована еще до появления криптовалют, в конце прошлого века. Она называется задачей византийских генералов и формулируется примерно так:
В ночь перед решающим сражением византийские генералы обмениваются сообщениями для того, чтобы принять совместное решение: атаковать врага или отступить. Им важно, чтобы решение было общим. Если значительна часть из них атакует, а другая значительная часть отступит, то кампания будет проиграна. Всем известно, что среди них есть какое-то количество предателей (но неизвестно кто именно), которые будут саботировать процесс принятия такого решения. Есть ли у лояльных генералов надежный способ выработать общее решение?
Было доказано, что в общем случае решение возможно при количестве честных генералов в 2/3 от общего числа плюс один.
Такой результат выглядел очень обнадеживающе. Для этой задачи находились новые, все более изощренные решения, и, наконец, в 2009 году было предложено такое, которое легло в основу первой криптовалюты. В этом решении использовалось другое изобретение конца прошлого века, т.н. "доказательство работы". Изначально оно было придумано для защиты от спама и DOS-атак. Но вернемся к нашим 1С-никам, и посмотрим как это работает.
Допустим, они все еще придерживаются последовательной схемы передачи базы от одного участника к другому. Но решили усложнить жизнь потенциальному злоумышленнику. Как вы помните, изменение прошлых записей должно сопровождаться пересчетом всех хэш-ключей, начиная с момента изменения. Превратим получение ключа в сложную задачу. Для этого добавим еще одно поле в наш документ и назовем его, скажем, "Добавка". Это поле будет участвовать в формировании ключа особым образом. Мы будем перебирать все возможные значения и пробовать подставлять их в это поле до тех пор, пока не получим "красивый" ключ. Например, такой в котором первые два символа будут "0". Обратите внимание на то, что подобрать такое значение будет не просто. А вот в плане проверки все останется по прежнему. Проверка будет работать все так же быстро.
Представим теперь, что большинство участников решило не тратить свои вычислительные ресурсы, а предоставить эту работу другим. А те, немногие, которые решили заниматься поиском "красивых" ключей, в качестве компенсации за это берут со всех прочих небольшую комиссию. Т.е. если вы обычный участник, то вы просто делаете платеж и подписываете его. Вы не заполняете поля "Добавка", "НачальныйКлюч" и "КонечныйКлюч". За вас это сделают другие участники, которых называют "майнерами". Такой участник соберет все необработанные еще платежи, найдет для них "красивый" хэш, и запишет результат в базу.
Самый простой (но, разумеется, не единственный) способ вознаградить этого участника — договориться, что сам факт оформления такого блока означает увеличение счета оформившего на некоторую величину. Для обычного же участника все это будет означать, что его платеж может быть в двух состояниях: "не обработан" или "обработан". Соответственно, сделка может считаться состоявшейся тогда, когда платеж будет обработан.
Если посмотреть внимательно на эту схему, то станет понятно, что уже можно отказаться от строгой последовательности в передаче базы от одного участника к другому. Обычные участники просто передают в сеть подписанные платежи. Участники-майнеры собирают эти платежи в блоки и строят из этих блоков блокчейн. Да, конечно же, несколько майнеров будут работать параллельно с одними и теми же платежами. Но кто-то сделает свою работу быстрее. Этот кто-то и получит свое вознаграждение, а результаты его работы будут признаны всеми остальными и займут свое место в блокчейне.
Примерно так это и работает в самой первой криптовалютной сети известной как Биткоин. Я не буду далее углубляться в технические детали. Я думаю гипотетическая база 1С, которую я описал, дает достаточно ясное представление. Вместо этого, давайте обратим внимание на один удивительный факт. Я только что сказал, что действия одного участника будут приняты всеми. Сейчас-то мы знаем, что это работает. Но 10 лет назад это было неочевидно. Была просто некая теория. Абсолютное большинство людей, тогда, в 2009 году, сказали бы вам, что это не будет работать. Потому что каждый будет "тянуть одеяло на себя". А люди по природе своей не способны договориться друг с другом. Самое ценное во всей этой истории — не "математическая игрушка разума", как выразился предыдущий автор. И даже не очередная IT-технология. Самое ценное — это практическое доказательство того, что общество обладает свойством договариваться и приходить к согласию.
Вернемся к самой первой статье, в ответ на которую я стал все это писать (//infostart.ru/public/986126/). С самого заголовка у автора чувствуется какое-то неприятие самой идеи криптовалют. Причем, как видно, автор и сам не понимает — в чем причина. Сначала он говорит о том, что система технически не совершенна и неспособна обеспечить действительно массовую обработку платежей. А через пару абзацев сам же себя поправляет, и теперь говорит, что технические проблемы, конечно же решаемы, а проблема совсем в другом. В том, что… ну не может такого быть, чтобы люди сами себе сделали хорошо. В этом он не одинок. "Криптоскептиков" довольно много. Давайте попробуем разобраться — в чем они правы, и в чем не правы.
Первым делом надо признать что они правы в том, что биткоин не стал тем, что от него ожидали. Эта сеть не стала платежной системой и, по всей вероятности, уже и не станет. Проблема здесь, конечно же не техническая. Но и не та, что сразу приходит на ум противникам криптовалют. Дескать, биткоин — ничего не значащая пустышка, кто ее у вас будет принимать? Они, наверное, очень удивятся, но проблема была прямо противоположного характера. Дело было не в том, что никто не хотел принимать биткоины. Дело было в том, что никто не хотел их отдавать. К тому моменту, как биткоин приобрел более или менее широкую известность, все уже успели наслушаться ужасных историй про то, как кто-то купил себе пиццу, а мог бы чуть подождать и купить квартиру в центре Манхеттена. Кто, после этого, в здравом уме будет расплачиваться биткоинами?
Без чьей-либо злой воли, а просто сам-собой, биткоин ушел в лапы спекулянтов. Что тут скажешь. Такова судьба многих пионеров. Неправильно делать из этой истории вывод, что криптовалюты в принципе работать не будут. Как я уже говорил выше, биткоин вполне убедительно продемонстрировал — на что способны свободно и самостоятельно действующие участники. И, в этом смысле, эксперимент следует признать скорее чересчур удачным.
Уже совсем скоро мы с вами станем свидетелями новой, куда более зрелой, попытки запустить платежную систему на основе блокчейна. Криптовалюта Павла Дурова на начальных этапах своего существования будет защищена от резких колебаний курса. Планируется, что в связи с этим, она будет не интересна для спекулянтов. Конечно, какой Дуров разработчик, мы так или иначе знаем, а какой он экономист — нет. Но до сих пор он демонстрировал крайне серьезный подход к тому, что делает. Хватит ли ему тех денег, что он собрал, мы узнаем в ближайшие месяцы.
В чем же все-таки неправы "криптоскептики"? Пообщавшись со многими из них, я для себя понял следующее. Все их аргументы (как бы они ни выражались) сводятся, по большому счету, к одному. Есть некий "большой дядя", назовем его так. Этот дядя готов применять насилие, для защиты своих интересов. И он не допустит никакой людской самодеятельности. И, между прочим, говорят они, и хорошо, что не допустит. Потому что люди сами для себя могут сделать только плохое. Если вдуматься — глубоко иррациональная позиция. Какой такой дядя? Откуда он взялся? Инопланетяне завезли? Конечно же, нет никакого "дяди" и никаких "дядиных" интересов. Есть плод общественного согласия, саму возможность которого скептики так категорически отрицают. Есть общество, с присущей ему способностью приходить к согласию. А технологии блокчейна и криптовалют — всего лишь одно из доказательств этого. Здесь мы имеем дело не просто с какой-то новой компьютерной технологией. Гораздо важнее то, что здесь новые социальные практики. Отмахиваться от них также глупо, как пытаться игнорировать социальные сети и мессенджеры. Надо разбираться в том, как они работают, чтобы сознательно участвовать в этом процессе. И я надеюсь, что моя статья хоть немного вам в этом помогла.
Мне понравилась статья. Можно конечно было и попроще наверное и, я не понял зачем тут про скептиков писать. Знаете, были же скептики, которые утверждали, что машины нафиг не нужны, ведь есть же лошади и т.п. А так, крипта же с успехом функцию денег и финансового инструмента выполняет — фигли тут полимезировать и скептизировать)))
(1) Спасибо за отзыв. Я вроде бы и так старался упростить, где только можно.
Огромное спасибо за статью! Прочитал этот небольшой «криптосериал» с большим удовольствием, т.к. полностью разделяю позицию автора. Впервые встречаю такое простое и доходчивое описание принципа консенсуса PoW )). Также, как и автор, считаю что блокчейн — один из 3-х китов цифрового будущего наряду с искусственным интеллектом и BigData. И криптовалюта, как платежное средство , лишь частный случай применения технологии, хотя никакой блокчейн и не будет нормально функционировать без вознаграждений поддерживающих его работу подписантов блоков. Будущее блокчейна, конечно, не в энергозатратном алгоритме консенсуса PoW, а в PoS, DPoS и других появляющихся им на смену. А причина нынешнего «криптокризиса» и «криптоскептицизма», на мой взгляд, не только и не столько в спекулянтах и волатильности, сколько в политике регуляторов всех стран, которые пока не могут найти способа, как приручить этого неподвластного им «зверя» и поэтому активно топят его. Кстати, еще в далеком 2015 году я пытался достучаться до 1С с предложением встроить в саму платформу контрольные механизмы на блокчейне, но понимания не встретил, письмо так и осталось без ответа.
(3) Спасибо за отзыв. Я тоже примерно год назад пытался популяризовать безопасные базы данных. Но… видимо, всему свое время. Вот 200 лет назад никто не мылся и никого это не напрягало. Потом что-то произошло и все стали мыться. Думаю, с базами данных тоже самое будет. В какой-то момент пользоваться опасными базами станет «фу».
Ну-к чьтож, оставлю и я свои пять блокцентов.
Автор принимает желаемое за действительное. Это сегодня так же не очевидно, как и 10 лет назад.
Возможно, дело в том, что вы опередили время на 190 лет???
Огромное спасибо за упорство в проповедовании идеи, которая вас
поработилазахватилаочаровала,но…
В конце концов, не путает ли автор биткойны с блокчейнами?
(5)
10 лет назад это не работало, а сейчас работает.
Вы напрасно иронизируете про 200 лет. Тот факт, что все пользуются небезопасными базами данных, действительно удивителен.
(6) А давайте от баз данных к криптовалютам вернемся. Я не просто иронизирую. Я уверен, что ЭТО не работает.
(6) И никакого «большого дяди» я обязуюсь к моим рассуждениям не привлекать…
(6) Ну и раз уж меня настолько пробрало…. Постарайтесь простыми словами опровергнуть мои измышления.
Кибервалюта не является валютой!!! В узком смысле…
А в узком смысле эта ваша кибервалюта — всего лишь драгоценность. Ну как алмаз, например. Вот я такой весь из себя старатель, пошлялся по Африке и намыл в ручье алмаз. Биткойн отличается от алмаза только привязвнным к нему блокчейном.
Алмаз я могу пропить в ближайшей лавке, а когда просплюсь, спрашивать будет не с кого.
Биткойн я могу всегда проследить по его блокчейну, даже если я его
пропилпродал в пьяном виде.АДНАКА!!! Ни. алмаз, ни биткойн не обладают потребительной стоимостью.
Жрать их не будешь, штаны из них не сварганишь.
Так же, впрочем, не получится и из бумажных рублей, долларов, евро, юаней…
И в самом крайнем случае, после ядерной войны…. Алмазы, золотые слитки, рубли, баксы и евро будут котироваться на рынке крайне низко. Ну и особняк на Багамах — в центре Сибири — совсем низко. А в цене будут Водка, Тушенка и Патроны для Калаша
(и не обязательно в этом порядке)
А уж биткойны и прочая кибервалюта…
Ну возможно будет купить крышку от НьюкКолы за 20 биткойнов
(и хорошо если вместо крышки не дадут вморду)
(9) Действительно, пробрало. Что вы предлагаете провергнуть?
Что водка, тушенка и патроны — это реальные ценности, а деньги — нет?
А кто с этим спорит? Деньги вообще не ценность, а информация, как я в первой статье утверждал.
Информацию действительно не съешь и штаны из нее не сделаешь.
-совсем не по-русски…
ЭТО НЕ РАБОТАЕТ. Вот и провергните.
Ага. А Ваши статьи не информация. И соответственно такая же ценность.
Ну вот, прошли выходные. Диалог со мной сам собой заглох. Даже когда я пообещал стать нетипичным криптоскептиком и ни разу не призывать «большого дядю» в свои аргументы…
Да у меня, собственно, аргументов-то и нет уже.
Деньги — не ценность, а информация. В этом мы согласны.
Водка и тушенка — ценность. Тоже вроде согласны. (Патроны пропустим, у нас еще не было апокалипсиса.)
Осталось только мне, вульгарному материалисту, объяснить:
ЗАЧЕМ я должен поменять одну информацию на другую?
Одну, за которую я могу в ближайшее время (почти) где угодно получить вполне понятное мне количество тушенки,
на другую, за которую я могу получить тушенку, если найду контрагента, согласного на такой обмен,
и заранее непонятно, в каком соотношении обмен произойдет?
Только потому, что это новая социальная практика, и я могу в ней поучаствовать?
Еще раз повторяю, мой вопрос — не как это работает, а зачем мне так работать?
Что я с этого буду иметь, кроме лозунгов???
(И про «большого дядю» мне не рассказывайте)
(12) Вы, конечно, будете пользоваться тем, что вам удобнее. Тут сложно спорить. Я считаю, что криптовалюта будет удобнее. А вы считаете, что удобнее будут нынешние деньги. Поживем, увидим, как говорится. Тем более, что ждать не долго.
(13) Похоже, вам спорить не только сложно, но и неинтересно. Понимаю.
На всякий случай извиняюсь, если в процессе переписки как-то вас оскорбил.
Я действительно думал, что вы сможете ответить мне на вопрос «зачем».
Потому что «как» — расписано достаточно хорошо.
Я даже думал, что просто невнимательно читал и эту, и предыдущую,
и что вы мне просто скопируете абзац, в котором это «зачем» расписано по пунктам.
И я удивлюсь и признаю, что «ах я, старый дурак, читаю по диагонали,
а потом придираюсь, что ничего не понял».
Но нет, не сбылось ;-[
Кажется, люди, которые знают, «как», вообще не любят отвечать на «зачем».
Насчет же «поживем, увидим».
22/01 была опубликована статья одного автора про криптовалюты, которая получила 40 плюсов.
Другому автору «захотелось поспорить» — и он написал две статьи,
от 29/01 и от 05/02. Они набрали соответственно 6 и 13 плюсов.
На сегодня, 19/02.
Это даже не информация, это просто факт.
Всего хорошего!
(14) Вы правы. Вопрос «зачем» совсем не был затронут. Может быть, я как-нибудь соберусь и напишу на эту тему статью. Это — отдельный и очень интересный вопрос.
(15) Тогда, возможно, подумайте, не написать ли и про «почему».
Зачем — это зачем читателям.
Почему — это почему автор.
Ну не обязательно; а так до свидания.
(Если ждать не долго ;-])
(16) Не понял насчет «почему». Почему автор все это пишет?
(17) Извиняюсь, много слов проглотил. Имелось в виду «почему автор сам решил пользоваться этим инструментом».