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

TL/DR — я разработал это и встроил в модель. Вот краткий пример использования примитивов для организации данных. Сначала идет ValueType, затем TransferType, на него накладывается _Issuer, и все начинает выглядеть довольно круто.

И пример использования для поиска TransferType для ValueType:

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

В исходном блоге основное внимание уделяется доллару США, но с помощью этой модели гораздо проще искать конкретные валюты и быстро переходить к ACH или системам реального времени, поддерживающим эту валюту. Например, вы можете углубиться в Румынию (_Issuer), к RON (_ValueType), а также к ReGis, Plati Instant и TransFonD SENT ACH (_TransferType) и повторить это для каждой страны и валюты, которые я добавил.

Каждая точка данных имеет одну из небольшого числа связанных меток:

_ValueTypeСимвол значения, в данном случае символ валюты
_TransferTypeСпособ электронного обмена значением
_IssuerСтрана, выпускающая валюту
ПонятиеЭто используется только один раз для Value Layer

Я собрал исходные данные для общего обзора, используя Википедию, старый добрый Google и отчет Flavors of Fast. Несколько моментов, о которых стоит упомянуть:

  1. Я обнаружил несколько ошибок в Википедии и потенциально недостающую информацию в отчете «Flavors of Fast». Отчет не является свежим, но если вы найдете различия, то это потому, что оба источника имеют недостатки. Один из примеров — термин RTGS используется в разных местах, подразумевая одну и ту же систему, но на самом деле в разных частях мира используются похожие слова/аббревиатуры. Я постарался как можно лучше разделить системы, когда они различались. 
  2. Мне еще предстоит добавить закрытые экосистемы третьих сторон (CashApp, Paypal), которые представляют собой дополнительные типы переводов для различных валют. Я решил ограничить свою рабочую нагрузку на сегодня и заставить себя работать в те немногие часы, которые у меня были.
  3. Модель еще должна быть расширена на экосистемы криптовалют. Я не добавил их из-за нехватки времени, но намерен сделать это в будущем.
  4.  Я добавил концепцию _Issuer и указал страну, но не центральный банк того или иного правительства, ответственного за выпуск ValueType. Я сделал это, чтобы сэкономить время, но в будущем это будет полезным дополнением.
  5.  Вы можете спросить себя, почему использовать «ценность» вместо «валюты», и ответ заключается в том, что не всякая ценность является валютой, выпущенной правительством. Как только эта модель выйдет за пределы валюты, выпущенной правительством, это станет более понятным.
  6.  Я сознательно не включил ссылки на какие-либо CBDC или проекты цифрового доллара, поддерживаемые правительством. Я знаю, что их не хватает, и надеюсь добавить их, когда/если позволит время.

Когда я говорю «Value Layer», это расширенное представление того, что я вижу в своей голове. Без какой-либо несовместимости, просто набор географически ориентированных валют, эмитентов и механизмов перевода.

Добавление некоторого контекста связывает все воедино.

По крайней мере, я рад, что у меня есть место, где я могу искать это, вместо того чтобы гуглить, когда мне нужно что-то вспомнить. Если вы хотите внести свой вклад в проект, дайте мне знать. Не идеально, но хорошее начало. Вот ссылка IPFS на «JSON» в модели в том виде, в каком она есть. Данные из модели на момент публикации этого поста приведены ниже.

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