Рубрика «пороговая схема разделения секрета»

Всех приветствую. Меня зовут Алексей и я блокчейн инженер.

В этой статье я хотел бы немного рассказать о сложностях построения безопасных cross-chain протоколов и поделиться тем, как мы реализовали собственный механизм консенсуса.

Вкратце: мы разработали децентрализованный протокол, обеспечивающий передачу сообщений и ассетов между блокчейнами TON и Cosmos-EVM блокчейном TAC.

Все cross-chain сообщения, циркулирующие между блокчейнами TON и TAC, “упаковываются” в merkle-дерево, после чего в контрактах консенсуса хранится только merkle-root, который позволяет верифицировать сразу множество сообщений одним значением.

Читать полностью »

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

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js