Выпуск исходного кода MultiChain

Теперь доступно для просмотра, просмотра, компиляции и разветвления

Через два года после начала разработки многоцепочечногоМы рады выпустить его исходный код в соответствии с GNU General Public License (GPLv3). Код вместе с инструкциями по компиляции для Ubuntu теперь доступны на Github, Вы можете просмотреть и просмотреть его, скомпилировать для себя или разветвить MultiChain в соответствии с лицензией GPL.

Почему именно сейчас?

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

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

Бизнес-модели

Если MultiChain с открытым исходным кодом, как мы будем генерировать доход, необходимый для поддержки его долгосрочного развития? Начнем с того, что мы уже предлагаем Соглашения об уровне обслуживания (SLA) для клиентов, которым требуется гарантированный ответ и время решения их вопросов и проблем. Несмотря на то, что MultiChain официально находится в альфа-версии, мы уже знаем случаи, когда он используется в производстве в финансовом и государственном секторах.

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

Дорожная карта до 1.0 бета

Тем временем нам еще предстоит сделать еще до того, как MultiChain 1.0 достигнет бета-версии. Полный список можно найти в TODO файл внутри репозитория исходного кода, но вот некоторые из наиболее важных элементов:

  • Добавьте поддержку автоматических «контрольных точек» в узле, чтобы навсегда заблокировать изменения в модели управления блокчейном (разрешения администратора и майнинга).
  • Разрешить контроль над майнингом пустых блоков. Это полезно для минимизации использования диска в блокчейнах с периодами низкой активности.
  • Добавьте параметр «оборот майнинга», который балансирует между (a) случайным образом все разрешенные блоки майнинга узлов и (b) майнинг с циклическим перебором, который предотвращает вилки, но все же может быстро восстановиться, если узел майнинга выйдет из строя.
  • Завершить механизм уведомления внешних процессов о новых транзакциях, связанных с адресом кошелька и / или подписанным потоком / активом.
  • Увеличьте максимальный размер метаданных транзакции (необработанный или как часть элемента потока) с текущего ограничения в 8 МБ до как минимум 32 МБ (и, надеюсь, больше).
  • Просмотрите и уменьшите размер журналов и других файлов, основная цель которых - помочь с отладкой.
  • Завершите порт MultiChain для Mac OS.

Первые три из них уже были реализованы (см. Ветку разработки на Github). Мы надеемся завершить все остальное, вместе с небольшими изменениями и изменениями, к концу первого квартала 1 года.

Бета фаза

Мы определяем «бета-версию» как «без известных недостатков», т.е. когда мы не знаем ни об одной ошибке или важной нерешенной проблеме в продукте. Таким образом, цель бета-фазы, которая, вероятно, продлится примерно 6 месяцев, состоит в том, чтобы позволить обнаруживать любые скрытые проблемы с помощью нашей пользовательской базы и внутреннего набора тестов, которые продолжают расти. Без сомнения, мы также получим запросы функций в течение этого периода, но мы будем реализовывать только те, которые имеют очень низкий риск с точки зрения стабильности продукта. Основные новые функции должны будут подождать до MultiChain 1.1, 1.5 или 2.0, в зависимости от ситуации.

Тем не менее, один из аспектов развития будет продолжаться на стадии бета-тестирования - оптимизация производительности. Пропускная способность транзакций MultiChain, которая в идеальных условиях может достигать 800 тх / с, уже более чем достаточна для большинства приложений блокчейна. Тем не менее, некоторые варианты использования требуют большего, и нет никаких причин, по которым MultiChain не может достичь тысяч ткс / сек с соответствующей оптимизацией. Естественно, мы не будем вносить какие-либо существенные архитектурные изменения на этапе бета-тестирования. Вместо этого мы сосредоточимся на локальной оптимизации, такой как кэширование промежуточных результатов.

За 1.0 и Премиум

Помимо четко определенного пути к MultiChain 1.0 и его премиум-версии, каков долгосрочный план развития платформы MultiChain? Как мы видим, что продукт будет развиваться в ближайшие пять-десять лет?

Я должен начать с разъяснения, что, как технология, мы не считаем блокчейны специфичными для банков или финансового сектора. Хотя платформы, такие как MultiChain, действительно можно использовать для реализации общих регистров финансовых активов, их приложения расширяются. Мы рассматриваем блокчейны как принципиально новый тип базы данных, которые могут быть напрямую разделены между отдельными компаниями или организациями, не требуя центрального посредника. Эта способность охватывать границы доверия отличает цепочки блоков от современных распространенных платформ баз данных, независимо от того, относятся ли они к SQL, NoSQL или NewSQL. Действительно, в долгосрочной перспективе нам, вероятно, следует называть эти «одноранговые базы данных», а не «блокчейнами», поскольку цель продукта важнее, чем описание его базовой технологии.

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

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

Пожалуйста, оставьте любые комментарии на LinkedIn.

Отметка времени:

Больше от многоцепочечного