Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Распределённые репозитории и реестры

Учётные системы -- это которые учитывают (т.е. отражают по формальным правилам) конфигурацию системы. Обычно это репозитарии/депозитарии (которые непосредственно хранят мастер-описания конфигурации системы) и реестры (которые обычно хранят только ссылки на мастер-описания конфигурации или конфигурацию).

В системах управления конфигурацией PDM в машиностроении (Autodesk Vault) или системах управления версиями софта (SVN, git) учётная система -- типичный депозитарий/репозиторий. Если к управлению конфигурацией добавить управление изменениями (хранить информацию не только по конфигурации, но и по причинам её изменений), то получится PLM или ALM (репозиторий с управлением версиями + issue tracker), то есть к описанию целевой системы добавляется что-то про обеспечивающую систему, про жизненный цикл. Описание целевой системы при разработке обычно используется для воплощения системы, так что многообразие вариантов описаний поощряется: разные описания ведут к воплощению разных систем. Форки и бранчи тем самым становятся главными фичами, причиняют пользу и наносят добро.

На финансовых рынках (securities и capital market) отнюдь не разработка, там конфигурация не разрабатываемой системы, а уже воплощённой. Из "разработки" там махонькие кусочки описаний -- контракты, которые нужно будет исполнять. Воплощение системы одно: какая-то часть реальной финансовой системы нашего глобуса. Тем самым форки и бранчи -- главная неприятность, зло и хоррор. Ну, и "система управления версиями" или "система управления конфигурацией" на финансовых рынках не говорят, равно как нет и никакого issue tracker для управления изменениями. Изменения там связаны с контрактами и последующими расчётами (такие уж там issues), а конфигурация ассоциируется с ведением реестра или депозитарного учёта (такие уж там "конфигурации").

И ещё важное отличие ALM/PLM проблематики от финтеха: на финансовых рынках волнует поставка против платежа, целостная сделка. Эта сделка должна:
-- протекать минимальное время (ибо в ходе сделки права собственности оказываются неопределены -- и никто не может сказать, чьи деньги и чьи бумаги/обязательства)
-- быть окончательной (то есть никаких undo, на первом же добросовестном приобретателе всё заканчивается -- "краденые вещи" не изымаются, ибо это дикие системные риски).
-- если хочется, чтобы права на владение были как-то защищены в реальном мире, нужно согласиться с текущим регулированием этих прав (иначе придётся заново поднимать вопрос про "конфигурация чего" в учётной системе -- дискуссия про обязательственные права против вещных).

Суть текущего момента: от исторически появившихся первыми централизованных учётных систем (типа SVN) появилась необходимость перейти к системам распределённым (типа git, mercurial -- https://en.wikipedia.org/wiki/Distributed_version_control). Весь шум по поводу блокчейнов именно на эту тему, и аргументы в дискуссии "централизованная система хранения версий/реестр против децентрализованной" очень похожи.

В основе всех этих распределённых учётных систем обычно лежат хэш-деревья, https://en.wikipedia.org/wiki/Merkle_tree, концепт таких деревьев был запатентован Ralph Merkle аж в 1979 году. Именно эти хэш-деревья в их разных вариантах лежат в основе самых разных систем управления конфигурациями. Впрочем, любая распределённая база данных описывает какую-то систему, она хранит конфигурацию, тем самым "распределённая база данных" подходит в качестве основы для решения задач управления конфигурацией и изменениями -- создания распределённых депозитариев/репозиториев и реестров и программ по из изменению. Блокчейн и смарт-контракты лишь одна из возможных архитектур для такой специализированной базы данных (см., например, мнение https://medium.com/@ConsenSys/programmable-blockchains-in-context-ethereum-s-future-cd8451eb421e#.96t17bboh и заметки по попыткам описать отличия блокчейна от "просто распределённой базы данных" http://www.ofnumbers.com/2015/11/03/a-dissection-of-two-bitfury-papers/). Вау, оказывается кроме целевой системы и мнения о её конфигурации в базе данных есть обеспечивающая система, состоящая из людей -- и там сразу система систем и невозможность обеспечения её целостности "автомагически", что и пытаются обеспечить механизмы блокчейна: http://www.interfluidity.com/uploads/2015/02/soylent-blockchains-to-share.pdf

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

Блокчейн + смарт контракты -- это попытка создать распределённую учётную систему на финансовом рынке. От этой технологии требуется, соответственно:
-- минимальность времени поставки против платежа
-- окончательность (неоткатываемость) операции
-- баланс между тайностью и открытостью операций, возможностью внешнего аудита

Но от этой технологии на финансовых рынках не требуется выживание в условиях войны всех со всеми (что приводит к длинным временам поставки против платежа, откатываемым операциям, дороговизне ресурсов из-за необходимости что-то майнить, proof of work). Это означает, что блокчейн нельзя выдернуть из какой-то "ничьей" криптовалюты и использовать на рынке ценных бумаг для расчётов. Ибо классические блокчейны из "ничьих" публичных криптовалют а) тормозные и б) имеют дикий накладной расход, чтобы защищаться от https://en.wikipedia.org/wiki/Sybil_attack. Подробней тут: http://tabbforum.com/opinions/settlement-risks-involving-public-blockchains?print_preview=true&single=true
(смешно, но я встречал в русскоязычных презентациях биткойнщиков при обсуждении этой темы перевод settlement как "поселение" -- понятно теперь, почему их дела на финансовых рынках идут так туго и больше шуму, чем дела?).

Тем самым:
-- либо управление конфигурацией (систему регистрации сделок и расчётов) на финансовых рынках нужно делать медленной и отказываться от принципа окончательности любой сделки за счёт возможности работать с любыми анонимами -- то есть привносить в текущую инфраструктуру финансовых рынков те риски, от которых медленно-медленно избавлялись много лет, создавая текущую централизованную инфраструктуру, а заодно придумывать полностью новое право -- при этом сойдёт и блокчейн Bitcoin, и блок-чейн Etherium, и любые другие "цветные койны"
-- либо нужно тяжело вздыхать, и как системы версионирования не делают на движках криптовалют, делать соответствующие специализированные учётные финансовые системы (distributed ledgers, включая, например, учётную и финансово-расчётную часть SmartGrid и IoT) на совсем других принципах: с обеспечением вполне определённых видов безопасности, с обеспечением распределённости, но без выживания в условиях атомной войны всех анонимов со всеми (а наоборот, используя стандартные репутационные механизмы, выходящие из криптовиртуального мира в реальный физический мир людей).

Куда пошли люди, разобравшиеся в криптовалютных блокчейнах? Правильно, большинство из них свиражировали (pivot: команда не распадается, но меняет целевой продукт, рынок, основную идею бизнеса) и занялись финансовыми и смежными (например, для IoT) распределёнными реестрами со смарт-контрактами. Подробный анализ лопания криптовалютного пузыря, плюс много-много подробностей можно найти в работах Tim Swanson -- читайте последние полгода в его блоге http://www.ofnumbers.com/ и смотрите последние его презентации http://www.slideshare.net/MrCollectrix/presentations.

Примеры некоторых проектов "нового поколения блокчейна", т.е. распределённых реестров
-- R3 Corda (https://gendal.me/2016/04/05/introducing-r3-corda-a-distributed-ledger-designed-for-financial-services/, перевод на русский https://bitnovosti.com/2016/04/09/r3-corda-distributed-ledger/, причём с участием Microsoft http://futurism.com/banks-partner-with-microsoft-on-blockchain-tech/
-- проект НРД (национального расчётного депозитария) для учёта голосов по ценным бумагам: http://bankir.ru/publikacii/20160415/nrd-progolosoval-za-blokchein-10007428/
-- в презентациях и текстах Tim Swanson названы десятки таких проектов (я дал ссылки выше). Иногда там просто детективные истории -- например, знаменитый Hyperledger оказывается ни разу не Hyperledger сегодня: http://www.ofnumbers.com/2016/03/05/what-is-the-difference-between-hyperledger-and-hyperledger/).

Ну, и обзорное чтиво по этим вопросам (включая подробный разбор терминологии) в докладе Distributed Ledger Technology: beyond blockchain (декабрь 2015) -- https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/492972/gs-16-1-distributed-ledger-technology.pdf

Это, конечно, не означает, что "криптовалютные блокчейны" так просто сдадутся. Они, конечно, займут своё нишевое место -- но там явно не экспоненциальный рост, пузырь за последние полгода уже лопнул, альтернативы уже найдены. Но криптовалютные блокчейны уже тут, а все эти распределённые реестры ещё только делаются (массовый их выход на рынок будет где-то в 2017). Вот и появляются разработки типа http://www.electron.org.uk/ (Electron is a completely secure, transparent, decentralised platform [для рынка газа и электричества] that runs on a block chain and provides a provably honest metering, billing and switching service using Smart Contracts and the power of Distributed Consensus. The platform will be open source and operate for the benefit of all users. It will not be owned or controlled by suppliers or brokers).

Я бы ещё ожидал появления распределённых ALM и PLM: issue trackers в их связке с системой управления версиями -- это могло бы быть продолжением идей распределённого реестра/репозитария и смартконтрактов. Можно считать, что весь пост был написан ради этой фразы (чтобы потом сюда тыкать и говорить, что я ещё весной 2016 об этом говорил).

Ещё одна мысль -- это "выучиваемые смартконтракты" (дифференцируемые виртуальные машины для смарт-контрактов), я рассказал об этом в http://ailev.livejournal.com/1258352.html. Но это пока "академическая идея", к реальной жизни имеющая малое отношение. Но кто знает, чем слово наше отзовётся?
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 14 comments