Встречайте Corda – распределенный реестр для финансовых организаций

team
Я очень рад сообщить, что мы, консорциум R3, работаем над созданием распределенного реестра (в оригинале – Ledger) для финансовых организаций: Corda™. В течение последних 6 месяцев моя команда вместе с другими участниками R3 разрабатывала прототип специальной платформы для управления финансовыми обязательствами между различными финансовыми институтами.

Нашу команду возглавляют главный инженер Джеймс Кэрлайл (James Carlyle), а также ведущий инженер Майк Хирн (Mike Hearn). Я очень доволен нашими успехами, поэтому хочу ими с вами поделиться.

Corda: распределенный реестр для хранения и управления финансовыми обязательствами

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

  • В Corda не обязательно открывать информацию для всех участников системы;
  • Corda управляет потоками информации между участниками без центрального контроллера;
  • Corda позволяет находить консенсус для отдельных договоров/соглашений, а не только на уровне всей системы;
  • Corda позволяет создавать регулирующие и разрешающие узлы-наблюдатели;
  • Транзакция в Corda подтверждается лишь теми участниками, которые имеют отношение к ней;
  • Corda поддерживает различные алгоритмы нахождения консенсуса;
  • Corda позволяет создать прямую связь между “бумажным” документом (подтверждающим какое-либо право) и смарт-контрактом;
  • Corda построена с помощью стандартных средств и технологий разработки;
  • Corda не имеет внутренней валюты.

Corda является результатом тщательного анализа и прототипирования. Мы выложим её в открытый доступ чуть позже.

Далее я бы хотел поделиться с вами нашими мыслями. Для чего мы создали Corda? Почему мы выбрали именно такую архитектуру? Когда код будет доступен всем желающим? Как Corda связана с другими платформами и проектами?

Мысленный эксперимент

Я перешел из IBM в R3 в сентябре 2015 года. Истерия вокруг блокчейна к тому времени разрослась до огромных масштабов. Например, я встречался с техническим директором проекта, который намеревался использовать блокчейн для финансовых организаций. Именно тогда я решил сделать небольшой перерыв и спокойно подумать…

Как не поддаться на рекламную шумиху вокруг блокчейна?

Тогда я представил, что я нахожусь напротив управляющего одного из наших банков через несколько лет. Я представил также, что мы запустили множество своих продуктов поверх “блокчейна для финансов”. Блокчейн мы выбрали, потому что я поверил маркетологам и отнесся к выбору технологии недостаточно критически.

В этом воображаемом сценарии я сидел напротив разъярённого управляющего, который ждал ответа на вопрос, почему построенная мною система не работает. Почему, блин, ты построил её именно так, а не иначе?  Я понял, что ответ “потому что блокчейн был модным в 2015 году” его совершенно не устроит. Абсолютно не устроит.

Подход “сначала мы выберем технологию, а затем попытаемся найти для неё применение” редко заканчивается хорошо. Все успешные проекты, над которыми я работал, начинались с другой стороны. Со стороны требований, а не со стороны какой-то крутой технологии, которую срочно нужно куда-то встроить.

Именно это я и хотел донести до участников R3 в первую очередь.  

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

Но была и вторая причина. Технологические и финансовые компании “решили” в 2015 году, что блокчейн это “будущее финансовых услуг”. Честно говоря, я – самый большой сторонник такого утверждения! Но основная причина, почему блокчейн так важен сегодня – очень тонкий момент, который многие упускают.

Чтобы лучше понять, о чем я, давайте отвлечемся на короткое время и посмотрим на биткойн.

Его архитектура – тот редкий идеальный случай, когда можно с уверенностью сказать, что она разработана гением. Но мы забываем, что самая интересная часть биткойна не в его архитектуре. А в том, что он решает очень важную бизнес-потребность: “мне нужна система, в которой никто не сможет запретить мне потратить мои деньги”.

Я не могу знать, какие мысли витали в голове Сатоши, когда он писал свои первые тексты, но и он определённо не думал о такой постановке вопроса.

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

Более того, в такой системе удостоверяющими органами не могут являться конкретные лица или объекты, так как их тоже можно “захватить”.  Очень быстро приходит понимание, что нам нужна дублированная и распределенная (massively replicated) система нахождения консенсуса. Чтобы наделить  обычных пользователей возможностью “голосовать”, нужно придумать что-то вроде “доказательства проделанной работы” (Proof of Work). Постепенно вырисовывается и вся архитектура: блокчейн, майнинг, блоки, транзакции и т.д.

Конечно же, такая система имеет и свои особенности/недостатки, например, если ваш закрытый ключ будет украден, то откатить воровство денег уже не получится. Но давайте не будем отвлекаться.
Такой подход “от потребности к решению” показывает, что блокчейн биткойна способен решать реальные бизнес-задачи!

Я уверен, что Сатоши не просыпался с мыслью “примени блокчейн!”. Блокчейн не более чем средство решения реальной задачи.  Зачем пытаться решить все банковские задачи с помощью блокчейна? Разве блокчейн имеет отношение ко всем банковским потребностям и проблемам?

Какие характеристики являются основными для Блокчейн систем?

Весь октябрь я провёл, сидя в темной комнатушке (правда! это был наш первый лондонский коворкинг, маленькое помещение на четверых), задаваясь вопросами об основах технологии блокчейн. Что именно привлекает к блокчейну банки?

Большинство уже мысленно смирилось с тем, что “стандартный набор биткойна” невозможно встроить в банки без изменений. Например, PoW совсем не обязательно нужен в частных блокчейнах.

Я провёл в IBM несколько лет в должности “технического консультанта”. Если вы когда-либо покупали технологию у крупной компании, вы наверняка видели таких, как я. Я встречался с клиентами и был для них техническим экспертом. Я подсказывал, как работают наши продукты, и как можно применить их для решения проблем клиента.

Урок, который я вынес достаточно скоро из своей работы: не важно, со сколькими клиентами ты встретишься, или как настырно ты им будешь предлагать свои продукты. Если ты не можешь решить для клиента его реальную проблему – скорее всего ты ничего не продашь. А если и продашь, то очень скоро об этом пожалеешь.

Перенесёмся обратно на 10 лет вперед, в октябрь 2015 года.  Всё, что я сейчас вижу – агрессивные компании, которые пытаются использовать блокчейн “как он есть” и не решают никаких реальных проблем. Может быть, я чего-то не понимаю?

Но если они правы, и такой подход является спасением для финансовой индустрии, то хотя бы давайте поймем – почему. Мы стали вычленять составляющие “полного набора биткойна” и постепенно пришли к тому, что блокчейн (то, что лежит в основе биткойна или Ethereum) на самом деле имеет следующие 5 компонентов, связанных между собой. Можно изменять и комбинировать их для решения реальных бизнес-задач.

КОНСЕНСУС

Первая и главная составляющая блокчейнов. Консенсус  позволяет создать систему, в которой различные участники разделяют факты, которые принимаются всеми участниками в едином неизменном состоянии. До блокчейна мы не могли в таких масштабах сообщить, например, следующее:

Я вижу то же, что и ты… и я знаю, что ты видишь то же самое, что и я
Я знаю, что ты знаешь, что я знаю
Я знаю, что ты знаешь, что я знаю, что ты знаешь
И так далее…

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

В биткойне мы сообщаем что-то вроде “у меня есть непотраченные биткойны”, и этот факт принимают все пользователи системы в неизменном виде. В Ethereum разделяемыми фактами являются состояния виртуальной машины.

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

ДОПУСТИМОСТЬ (Validity)

Второй, очень тесно связанной с консенсусом составляющей является достоверность. Эта особенность позволяет нам убедиться, что предложенное изменение состояния системы является допустимым.

ЕДИНСТВЕННОСТЬ/ОДНОЗНАЧНОСТЬ  (Uniqueness)

Я могу создать два абсолютно допустимых обновления системы, которые будут конфликтовать между собой. Нам нужен механизм для коллективного выбора только тех обновлений, с которыми все будут согласны. Возможность запретить повторную трату (double-spend) одних и тех же средств – мощнейшая особенность блокчейна.  

НЕИЗМЕННОСТЬ (Immutability)

Четвертая особенность блокчейна немного неверно названа “неизменностью” – однажды записанные данные не могут быть более изменены. Это не так: если у меня есть данные, конечно же я могу их изменить локально. На самом деле “неизменность” означает следующее – если я изменю данные локально, то другие узлы системы мне больше не поверят. И никогда не признают мою транзакцию верной.

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

АУТЕНТИФИКАЦИЯ (Authentication)

Последняя составляющая любого блокчейна – аутентификация. Практически все действия в системе осуществляются с помощью закрытого секретного ключа. Не существует специального доступа для администраторов, как и root-прав. Это очень сильно отличает блокчейн от крупных корпоративных систем, где обычно существуют учетные записи супер-пользователей.   

Так в чем же состоит потребность финансовых организаций? 

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

Если это всё, то давайте подумаем над тем, что же такое “факты” для финансистов. Какой должна быть бизнес потребность, чтобы мы могли применить блокчейн? Этот момент озарения – то, что движет проектом Corda…

Вот пример фактов из финансовой сферы:

1) Банк А и Банк Б согласны, что Банк А занял 1 миллион долларов Банку Б. Это так называемый вклад до востребования.

2) Банк А и Банк Б согласны, что они оба входят в дефолтный своп с такими-то условиями… Это так называемый производный контракт.

3) Банк А и Банк Б согласны, что Банк А обязан передать 1000 акций компании BitGo Банку Б в течение трех дней в обмен на 150 тысяч долларов. Это так называемая доставка-после-платежа.
И так далее…

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

Обычно такие системы работают с помощью обмена сообщениями. Я посылаю обновление данных и надеюсь, что вы будете с ним согласны. Мы тратим такие огромные средства именно чтобы быть уверенными в нашей общей порядочности.

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

Я вижу то же, что и ты. И я знаю, что ты видишь то же самое, что и я. И мы знаем, что это именно то, что видит и наш регулятор“.

Встречайте Corda!

Что же мы взяли из стандартного набора Блокчейна?

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

КОНСЕНСУС

Corda в первую очередь строилась для того, чтобы иметь возможность фиксировать факты вроде “я вижу то же, что и ты… и я знаю, что ты видишь то же самое о факте, что и я“. Но это вовсе не означает, что другие лица должны иметь доступ к этой информации. Мы добиваемся консенсуса только между нужными участниками, а не между всеми.

ДОПУСТИМОСТЬ

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

ЕДИНСТВЕННОСТЬ/ОДНОЗНАЧНОСТЬ

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

НЕИЗМЕННОСТЬ и АУТЕНТИФИКАЦИЯ

Здесь архитектура Corda лишь незначительно отличается от существующих систем: наши структуры данных неизменяемые, а транзакции записываются в блоки, как и везде.

Corda не сильно отличается от “традиционного блокчейна” в трех аспектах – в аутентификации, неизменности и однозначности. Но такие составляющие, как консенсус и допустимость (только для заинтересованных участников), отличаются весьма заметно.

В чем отличие Corda?

Погодите. Разве все остальные компании, связанные с блокчейном, не говорят о том же самом? Не совсем.

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

Во-вторых, мы были сфокусированы на соглашениях с самого первого дня – я говорю об упомянутых выше “текстах соглашений” (“legal prose” в оригинале). Мы понимали, что всегда будут какие-то споры, поэтому постарались их заранее пресечь.

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

Разные решения разных проблем

Но… Вы должны понимать, что Corda не является единым решением всех проблем. Эта технология может решить лишь определенный класс задач. Именно поэтому мы активно общаемся с нашими партнерами, которые создают дополняющие нас сервисы. Мы не всеведущие. Более того, нам ещё предстоит решить множество архитектурных и исследовательских задач.

Я очень доволен тем, что мы разработали! Вы услышите от нас и о других проектах, не связанных с Corda. Наш подход заключается в том, что для каждой задачи мы ищем своё решение. Те, кто посещал наши встречи, уже слышали это от меня. Задача Corda не в конкуренции с другими компаниями. Наоборот, мы вынуждены были создать эту технологию, так как не нашли готового решения наших проблем. Это то, что делает сферу нашей деятельности такой интересной!

Что дальше?

В ближайшее время вы узнаете другие факты о Corda, про наши исходные задачи и про нашу архитектуру. Мы стараемся поскорее выпустить платформу и открыть её исходный код. Следите за нами!

И мы все еще нанимаем на работу!

Источник: R3

 



Categories: Инфраструктура, Стандарты, Технологии, Финансы

Tags: ,

12 replies

  1. Реплицируемая база данных с учётными записями от главного админа. Обалдеть какое новшество. Умеют же люди красиво пилить деньги, нашим govнюкам учиться и учиться.

    За перевод спасибо, такую хрень тоже надо знать. 🙂

  2. Сейчас многие заняты построением блокчейнов для банков . Частные блокчейны , облачные блокчейны без внутренней криптовалюты … Я хочу сказать то что из – за большой конкуренции в итоге потеряется весь смысл . Даже сам Хирн в моменте как бы намекает на то что мы поддаёмся на что – то новое пока оно считается модным . А в силу того , что эти технологии быстро растущие , быстро развивающиеся , и также быстро на их смену приходят уже новые технологии , то уже завтра , с уверенностью в 99 % , можно сказать о том , что появится что – то лучше чем блокчейн , более распределённое , с беспрецендентной масштабируемостью , расширением сети до бесконечности , с возможностью никому не платить комиссии , с возможностью совершать микроплатежи , с полным отсутствием майнеров , с отсутствием блоков , с мгновенными платежами в любой момент времени , и без всех тех без кого обычный блокчейн не сможет работать … Я хочу сказать то что в течении 5 лет все забудут про блокчейн и будут отдавать своё предпочтение какой – то уже новой технологии , которая будет следующая после блокчейна и она будет лучше чем блокчейн с его множественными проблемами и недостатками , одним из которых является бесконечный рост данных … Посмотрите даже на то как в статье упоминается слово Ethereum ? Всё это говорит о том , что как Ethereum пришёл , и о нём все говорят , также придёт в течении 5 лет что – то новое , и об этом будет говорить весь мир , потому что я вижу , да и многие из вас это уже заметили , как все мы уже наелись технологией блокчейн . Нам нужно что – то новое . И так как мир развивается , не стоит на месте , то в ближайшие 5 лет разработчики нас удивят чем – то беспрецедентно новым , чтобы мы удивились , сказав уау , как в 2010 году , впервые тогда увидев технологию блокчейн . Кстати , я помню , мы тогда говорили , что нет ничего более совершеннее на свете чем технология блокчейн и думали о том , что это будет теперь всегда . Но время проходит , и все мы теперь уже понимаем то , как мы ошибались . Сейчас пришёл Ethereum , он принёс только умные контракты с собой , блокчейн архитектура на нём осталась та же . Т. е. по сути ничего нового . Ждём в течении 5 лет того что взорвёт умы всех людей на планете и все будут кричать от радости уау , как это круто ! Теперь нет майнеров , нет бесконечного роста данных , не нужно ничего заранее синхронизировать перед использованием сети , да и блокчейна , по сути старого , и приевшегося уже многим , тоже теперь нет . Наступит совершенно новая эпоха и мы также будем думать , как и впервые однажды увидев блокчейн , что это навсегда … Но ошибёмся , в очередной раз , также как и всегда … Итог таков всего в этом мире , что нет ничего вечного и уж тем более бесконечного . На всё есть своё определённое время , после чего появляется что – то новое и весь мир уже ходит под новыми флагами и кричит от радости своё уау ! Пример Ethereum , и много ещё будет таких примеров после Ethereum . Прогресс никогда не останавливается , движущая сила прогресса всегда будет идти вперёд ради того чтобы люди вновь и вновь кричали своё уау от удивления чем – то реально новым , от чего захватывает дух . Блокчейн , на данном отрезке времени , уже полностью себя реализовал во множественных тысячах проектах , которые по всякому что – то переставляли и всячески дорабатывали технологию блокчейн , доводя её до совершенства , но при этом так и не решив главные проблемы : Присутствия майнеров . Платы за транзакции . Не мгновенность платежей . Невозможность совершения быстрых микроплатежей на очень малые суммы (0.00000001) без каких – либо комиссий . Невозможность масштабирования сети на одновременное её использование 100 миллиардами (людей + компьютеров + других умных устройств с использованием умных контрактов) . Бесконечный рост данных о транзакциях . И так далее .

    • Товарищ, похоже на шизуху или троллинг! Блокчейн никогда не являлся самодостатчной технологией! Появился лишь постольку поскольку, чтобы не допустить двойной траты криптовалюты.

      Банки/власти форсят блокчейн с такой силой, чтобы отвлечь/рассеять внимание общественности от криптовалюты с конечной эмиссией, военная хитрость, чтобы сохранить на некоторое время монополию на эмиссию активов.

      Криптовалюта с конечной эмиссией может существовать и без блокчейна.

      В сухом остатке важна только криптовалюта и как обеспечивается консенсус.

  3. А я то думал они создадут что-то типа межбанковской криптовалюты, начальный премайн, которой распределят согласно взносу в уставной фонд и запустят внутреннюю банковскую площадку, где банки между собой будут ей торговать. Каждый банк построит мощный дата центр, в котором будет идти добыча и которую со врёменем плавно подомнёт под себя федрезерв. А тут блокчейн без майна и PoW. Это если хотите полный пи$дец! Мне их жалко…

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

    • Спасибо! Как только появится продолжение от автора, обязательно переведу и опубликую.

  5. И правда было интересно,но прочитав-посмеялся.Несколько десятков лямов $ вытрясли на эту х…ту. Жесть =)

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

  7. Мужика попросили придумать что-нить умное и бессмысленное на “блокчейне” за их деньги. Поднял бабла на лохах. Блог про криптовалюту биткоин, не? Зачем здесь публиковавать?

    • Ну, интересно же, что пытаются втюхать существующей финансовой системе под соусом “достойная альтернатива Биткойну”. Тем более, что техдиректором R3 подвизается небезызвестный Майк Хирн, который не далее как в начале года с помпой заявил, что Биткойн сдох, а уж он-то сваяет кое-что получше: https://bitnovosti.com/2016/01/16/mike-hearn-wishes-bitcoin-to-burn-in-hell/

      • Че это втюхать? Просто апдейтят телеграф в 2016м году 🙂

      • Ну они вроде как ясно выражаются что это не биткойн. То есть втюхать алтернативу биткойну они и не пытаются, и так себя не позиционируют.

        Мне вот только интерестно, если есть регулятор, так зачем вообще использовать слово консенсус. Регулятор запускает сервак с базой данных, и раздает участникам учетные записи. Вот и весь консенсус – все соглашаются с тем что выдает регулятор.

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s