Внедрение блокчейн-технологии в сфере недвижимости

Индустрии
Финтех
Компетенции
Разработка
Технологии
.NET

Клиент


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

Задачи


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

Для этой цели заказчик попросил нас разработать решение на основе технологии блокчейн.

Решение


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

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

На первом этапе мы реализовали взаимодействие клиентской части приложения с криптокошельком Metamask.

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

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

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

Однако этот подход потребовал бы от пользователей приложения обязательной установки расширения Metamask и наличия на нём криптовалютных средств для проведения транзакций. Выполнение данных условий маловероятно.

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

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

В качестве блокчейн-сети использовали тестовую сеть Rinkeby. Вот как это работает:

  • При загрузке пользователем документа на платформу клиента генерируется хеш документа.
  • Далее мы берём хеш-сумму документа, а также некоторые дополнительные данные (id документа, id ордера) и помещаем её в блокчейн.
  • Поскольку блокчейн — это распределённая сеть, которая позволяет прозрачно хранить данные в неизменном виде, мы можем гарантировать, что в блокчейне никто не менял эту хеш-сумму. Когда мы хотим проверить, был ли изменён документ или нет, мы берём от него хеш-сумму и сравниваем с той версией, которая лежит в блокчейне.

В итоге мы разработали демо-приложение — веб-сервис на .NET Core, который взаимодействует с Etherium-совместимыми смарт-контрактами, временно исполняющимися на тестовой сети Rinkeby.

Результат


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