Криптовалюты в терминах 1С. Продолжение

Продолжение рассказа о криптовалютах в терминах 1С.

Начало здесь: //infostart.ru/public/988498/

Итак, у нас уже есть способ гарантированно обнаружить изменение "задним числом". В принципе, мы уже сейчас могли бы построить работоспособную систему. Каждый участник, отправляя базу далее по цепочке, запоминает поледний хеш. Когда до него дойдет очередь в следующий раз, он сравнит запомненный хеш, с тем, что присутствует в базе. Если они не совпадут, он просто не станет передавать полученную им от предыдущего участника базу, а передаст дальше базу, которая есть у него сейчас (и в которой точно нет изменений задним числом). 

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

Здесь мы возвращаемся к вопросу, который был поставлен в предыдущей части. Могут ли люди самостоятельно, без помощи внешней силы, прийти к согласию. При том, что каждый обладает свободой воли. А некоторые свободой недоброй воли. Эта задача была сформулирована еще до появления криптовалют, в конце прошлого века. Она называется задачей византийских генералов и формулируется примерно так:

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

Было доказано, что в общем случае решение возможно при количестве честных генералов в 2/3 от общего числа плюс один.

 

 

Такой результат выглядел очень обнадеживающе. Для этой задачи находились новые, все более изощренные решения, и, наконец, в 2009 году было предложено такое, которое легло в основу первой криптовалюты. В этом решении использовалось другое изобретение конца прошлого века, т.н. "доказательство работы". Изначально оно было придумано для защиты от спама и DOS-атак. Но вернемся к нашим 1С-никам, и посмотрим как это работает.

Допустим, они все еще придерживаются последовательной схемы передачи базы от одного участника к другому. Но решили усложнить жизнь потенциальному злоумышленнику. Как вы помните, изменение прошлых записей должно сопровождаться пересчетом всех хэш-ключей, начиная с момента изменения. Превратим получение ключа в сложную задачу. Для этого добавим еще одно поле в наш документ и назовем его, скажем, "Добавка". Это поле будет участвовать в формировании ключа особым образом. Мы будем перебирать все возможные значения и пробовать подставлять их в это поле до тех пор, пока не получим "красивый" ключ. Например, такой в котором первые два символа будут "0". Обратите внимание на то, что подобрать такое значение будет не просто. А вот в плане проверки все останется по прежнему. Проверка будет работать все так же быстро.

Представим теперь, что большинство участников решило не тратить свои вычислительные ресурсы, а предоставить эту работу другим. А те, немногие, которые решили заниматься поиском "красивых" ключей, в качестве компенсации за это берут со всех прочих небольшую комиссию. Т.е. если вы обычный участник, то вы просто делаете платеж и подписываете его. Вы не заполняете поля "Добавка", "НачальныйКлюч" и "КонечныйКлюч". За вас это сделают другие участники, которых называют "майнерами". Такой участник соберет все необработанные еще платежи, найдет для них "красивый" хэш, и запишет результат в базу.

 

Самый простой (но, разумеется, не единственный) способ вознаградить этого участника — договориться, что сам факт оформления такого блока означает увеличение счета оформившего на некоторую величину. Для обычного же участника все это будет означать, что его платеж может быть в двух состояниях: "не обработан" или "обработан". Соответственно, сделка может считаться состоявшейся тогда, когда платеж будет обработан.

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

Примерно так это и работает в самой первой криптовалютной сети известной как Биткоин. Я не буду далее углубляться в технические детали. Я думаю гипотетическая база 1С, которую я описал, дает достаточно ясное представление. Вместо этого, давайте обратим внимание на один удивительный факт. Я только что сказал, что действия одного участника будут приняты всеми. Сейчас-то мы знаем, что это работает. Но 10 лет назад это было неочевидно. Была просто некая теория. Абсолютное большинство людей, тогда, в 2009 году, сказали бы вам, что это не будет работать. Потому что каждый будет "тянуть одеяло на себя". А люди по природе своей не способны договориться друг с другом. Самое ценное во всей этой истории — не "математическая игрушка разума", как выразился предыдущий автор. И даже не очередная IT-технология. Самое ценное — это практическое доказательство того, что общество обладает свойством договариваться и приходить к согласию.

Вернемся к самой первой статье, в ответ на которую я стал все это писать (//infostart.ru/public/986126/).  С самого заголовка у автора чувствуется какое-то неприятие самой идеи криптовалют. Причем, как видно, автор и сам не понимает — в чем причина. Сначала он говорит о том, что система технически не совершенна и неспособна обеспечить действительно массовую обработку платежей. А через пару абзацев сам же себя поправляет, и теперь говорит, что технические проблемы, конечно же решаемы, а проблема совсем в другом. В том, что… ну не может такого быть, чтобы люди сами себе сделали хорошо. В этом он не одинок. "Криптоскептиков" довольно много. Давайте попробуем разобраться — в чем они правы, и в чем не правы.

Первым делом надо признать что они правы в том, что биткоин не стал тем, что от него ожидали. Эта сеть не стала платежной системой  и, по всей вероятности, уже и не станет. Проблема здесь, конечно же не техническая. Но и не та, что сразу приходит на ум противникам криптовалют. Дескать, биткоин — ничего не значащая пустышка, кто ее у вас будет принимать? Они, наверное, очень удивятся, но проблема была прямо противоположного характера. Дело было не в том, что никто не хотел принимать биткоины. Дело было в том, что никто не хотел их отдавать. К тому моменту, как биткоин приобрел  более или менее широкую известность, все уже успели наслушаться ужасных историй про то, как кто-то купил себе пиццу, а мог бы чуть подождать и купить квартиру в центре Манхеттена. Кто, после этого, в здравом уме будет расплачиваться биткоинами?

Без чьей-либо злой воли, а просто сам-собой, биткоин ушел в лапы спекулянтов. Что тут скажешь. Такова судьба многих пионеров. Неправильно делать из этой истории вывод, что криптовалюты в принципе работать не будут. Как я уже говорил выше, биткоин вполне убедительно продемонстрировал — на что способны свободно и самостоятельно действующие участники. И, в этом смысле, эксперимент следует признать скорее чересчур удачным. 

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

В чем же все-таки неправы "криптоскептики"? Пообщавшись со многими из них, я для себя понял следующее. Все их аргументы (как бы они ни выражались) сводятся, по большому счету, к одному. Есть некий "большой дядя", назовем его так. Этот дядя готов применять насилие, для защиты своих интересов. И он не допустит никакой людской самодеятельности. И, между прочим, говорят они, и хорошо, что не допустит. Потому что люди сами для себя могут сделать только плохое. Если вдуматься — глубоко иррациональная позиция. Какой такой дядя? Откуда он взялся? Инопланетяне завезли? Конечно же, нет никакого "дяди" и никаких "дядиных" интересов. Есть плод общественного согласия, саму возможность которого скептики так категорически отрицают.  Есть общество, с присущей ему способностью приходить к согласию. А технологии блокчейна и криптовалют — всего лишь одно из доказательств этого. Здесь мы имеем дело не просто с какой-то новой компьютерной технологией. Гораздо важнее то, что здесь новые социальные практики. Отмахиваться от них также глупо, как пытаться игнорировать социальные сети и мессенджеры. Надо разбираться в том, как они работают, чтобы сознательно участвовать в этом процессе. И я надеюсь, что моя статья хоть немного вам в этом помогла.

18 Comments

  1. Идальго

    Мне понравилась статья. Можно конечно было и попроще наверное и, я не понял зачем тут про скептиков писать. Знаете, были же скептики, которые утверждали, что машины нафиг не нужны, ведь есть же лошади и т.п. А так, крипта же с успехом функцию денег и финансового инструмента выполняет — фигли тут полимезировать и скептизировать)))

    Reply
  2. mkalimulin

    (1) Спасибо за отзыв. Я вроде бы и так старался упростить, где только можно.

    Reply
  3. felix

    Огромное спасибо за статью! Прочитал этот небольшой «криптосериал» с большим удовольствием, т.к. полностью разделяю позицию автора. Впервые встречаю такое простое и доходчивое описание принципа консенсуса PoW )). Также, как и автор, считаю что блокчейн — один из 3-х китов цифрового будущего наряду с искусственным интеллектом и BigData. И криптовалюта, как платежное средство , лишь частный случай применения технологии, хотя никакой блокчейн и не будет нормально функционировать без вознаграждений поддерживающих его работу подписантов блоков. Будущее блокчейна, конечно, не в энергозатратном алгоритме консенсуса PoW, а в PoS, DPoS и других появляющихся им на смену. А причина нынешнего «криптокризиса» и «криптоскептицизма», на мой взгляд, не только и не столько в спекулянтах и волатильности, сколько в политике регуляторов всех стран, которые пока не могут найти способа, как приручить этого неподвластного им «зверя» и поэтому активно топят его. Кстати, еще в далеком 2015 году я пытался достучаться до 1С с предложением встроить в саму платформу контрольные механизмы на блокчейне, но понимания не встретил, письмо так и осталось без ответа.

    Reply
  4. mkalimulin

    (3) Спасибо за отзыв. Я тоже примерно год назад пытался популяризовать безопасные базы данных. Но… видимо, всему свое время. Вот 200 лет назад никто не мылся и никого это не напрягало. Потом что-то произошло и все стали мыться. Думаю, с базами данных тоже самое будет. В какой-то момент пользоваться опасными базами станет «фу».

    Reply
  5. gaglo

    Ну-к чьтож, оставлю и я свои пять блокцентов.

    Я только что сказал, что действия одного участника будут приняты всеми. Сейчас-то мы знаем, что это работает. Но 10 лет назад это было неочевидно.

    Автор принимает желаемое за действительное. Это сегодня так же не очевидно, как и 10 лет назад.

    Вот 200 лет назад никто не мылся и никого это не напрягало.

    Возможно, дело в том, что вы опередили время на 190 лет???

    Огромное спасибо за упорство в проповедовании идеи, которая вас поработила захватила очаровала,

    но…

    новые социальные практики

    Биткоин ушел в лапы спекулянтов. Что тут скажешь

    автор и сам не понимает — в чем причина

    В конце концов, не путает ли автор биткойны с блокчейнами?

    Reply
  6. mkalimulin

    (5)

    10 лет назад это не работало, а сейчас работает.

    Вы напрасно иронизируете про 200 лет. Тот факт, что все пользуются небезопасными базами данных, действительно удивителен.

    Reply
  7. gaglo

    (6) А давайте от баз данных к криптовалютам вернемся. Я не просто иронизирую. Я уверен, что ЭТО не работает.

    Reply
  8. gaglo

    (6) И никакого «большого дяди» я обязуюсь к моим рассуждениям не привлекать…

    Reply
  9. gaglo

    (6) Ну и раз уж меня настолько пробрало…. Постарайтесь простыми словами опровергнуть мои измышления.

    Кибервалюта не является валютой!!! В узком смысле…

    Ряд авторов считает, что валютой в широком смысле является любой товар, способный выполнять функцию денег при совершении обмена на рынке

    А в узком смысле эта ваша кибервалюта — всего лишь драгоценность. Ну как алмаз, например. Вот я такой весь из себя старатель, пошлялся по Африке и намыл в ручье алмаз. Биткойн отличается от алмаза только привязвнным к нему блокчейном.

    Алмаз я могу пропить в ближайшей лавке, а когда просплюсь, спрашивать будет не с кого.

    Биткойн я могу всегда проследить по его блокчейну, даже если я его пропил продал в пьяном виде.

    АДНАКА!!! Ни. алмаз, ни биткойн не обладают потребительной стоимостью.

    Жрать их не будешь, штаны из них не сварганишь.

    Так же, впрочем, не получится и из бумажных рублей, долларов, евро, юаней…

    И в самом крайнем случае, после ядерной войны…. Алмазы, золотые слитки, рубли, баксы и евро будут котироваться на рынке крайне низко. Ну и особняк на Багамах — в центре Сибири — совсем низко. А в цене будут Водка, Тушенка и Патроны для Калаша

    (и не обязательно в этом порядке)

    А уж биткойны и прочая кибервалюта…

    Ну возможно будет купить крышку от НьюкКолы за 20 биткойнов

    (и хорошо если вместо крышки не дадут вморду)

    Reply
  10. mkalimulin

    (9) Действительно, пробрало. Что вы предлагаете провергнуть?

    Что водка, тушенка и патроны — это реальные ценности, а деньги — нет?

    А кто с этим спорит? Деньги вообще не ценность, а информация, как я в первой статье утверждал.

    Информацию действительно не съешь и штаны из нее не сделаешь.

    Reply
  11. gaglo
    провергнуть

    -совсем не по-русски…

    10 лет назад это не работало, а сейчас работает.

    ЭТО НЕ РАБОТАЕТ. Вот и провергните.

    Деньги вообще не ценность

    Ага. А Ваши статьи не информация. И соответственно такая же ценность.

    Reply
  12. gaglo

    Ну вот, прошли выходные. Диалог со мной сам собой заглох. Даже когда я пообещал стать нетипичным криптоскептиком и ни разу не призывать «большого дядю» в свои аргументы…

    Да у меня, собственно, аргументов-то и нет уже.

    Деньги — не ценность, а информация. В этом мы согласны.

    Водка и тушенка — ценность. Тоже вроде согласны. (Патроны пропустим, у нас еще не было апокалипсиса.)

    Осталось только мне, вульгарному материалисту, объяснить:

    ЗАЧЕМ я должен поменять одну информацию на другую?

    Одну, за которую я могу в ближайшее время (почти) где угодно получить вполне понятное мне количество тушенки,

    на другую, за которую я могу получить тушенку, если найду контрагента, согласного на такой обмен,

    и заранее непонятно, в каком соотношении обмен произойдет?

    Только потому, что это новая социальная практика, и я могу в ней поучаствовать?

    Еще раз повторяю, мой вопрос — не как это работает, а зачем мне так работать?

    Что я с этого буду иметь, кроме лозунгов???

    (И про «большого дядю» мне не рассказывайте)

    Reply
  13. mkalimulin

    (12) Вы, конечно, будете пользоваться тем, что вам удобнее. Тут сложно спорить. Я считаю, что криптовалюта будет удобнее. А вы считаете, что удобнее будут нынешние деньги. Поживем, увидим, как говорится. Тем более, что ждать не долго.

    Reply
  14. gaglo

    (13) Похоже, вам спорить не только сложно, но и неинтересно. Понимаю.

    На всякий случай извиняюсь, если в процессе переписки как-то вас оскорбил.

    Я действительно думал, что вы сможете ответить мне на вопрос «зачем».

    Потому что «как» — расписано достаточно хорошо.

    Я даже думал, что просто невнимательно читал и эту, и предыдущую,

    и что вы мне просто скопируете абзац, в котором это «зачем» расписано по пунктам.

    И я удивлюсь и признаю, что «ах я, старый дурак, читаю по диагонали,

    а потом придираюсь, что ничего не понял».

    Но нет, не сбылось ;-[

    Кажется, люди, которые знают, «как», вообще не любят отвечать на «зачем».

    Насчет же «поживем, увидим».

    22/01 была опубликована статья одного автора про криптовалюты, которая получила 40 плюсов.

    Другому автору «захотелось поспорить» — и он написал две статьи,

    от 29/01 и от 05/02. Они набрали соответственно 6 и 13 плюсов.

    На сегодня, 19/02.

    Это даже не информация, это просто факт.

    Всего хорошего!

    Reply
  15. mkalimulin

    (14) Вы правы. Вопрос «зачем» совсем не был затронут. Может быть, я как-нибудь соберусь и напишу на эту тему статью. Это — отдельный и очень интересный вопрос.

    Reply
  16. gaglo

    (15) Тогда, возможно, подумайте, не написать ли и про «почему».

    Зачем — это зачем читателям.

    Почему — это почему автор.

    Ну не обязательно; а так до свидания.

    (Если ждать не долго ;-])

    Reply
  17. mkalimulin

    (16) Не понял насчет «почему». Почему автор все это пишет?

    Reply
  18. gaglo

    (17) Извиняюсь, много слов проглотил. Имелось в виду «почему автор сам решил пользоваться этим инструментом».

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *