Дискретный контракт регистрации (DLC) - это фреймворк исполнения контрактов на основе Оракула, предложенный Тадж Драйей из Массачусетского технологического института в 2018 году. DLC позволяет двум сторонам выполнять условные платежи на основе предопределенных условий. Стороны определяют возможные результаты, предварительно подписывают их и используют эти предварительные подписи для выполнения платежей, когда Оракул утверждает результат. Таким образом, DLC обеспечивает появление новых децентрализованных финансовых приложений, обеспечивая при этом безопасность депозитов в биткойнах.
По сравнению с Lightning Network, DLC имеет следующие значительные преимущества:
Хотя DLC имеют значительные преимущества в экосистеме биткойна, все еще существуют определенные риски и проблемы, такие как:
Для решения этих проблем настоящая статья предлагает несколько решений и идей оптимизации для смягчения рисков и проблем, связанных с DLC, тем самым улучшая безопасность биткойн-экосистемы.
Алиса и Боб заключают пари на то, будет ли значение хэша (n+k)-го блока нечетным или четным. Если оно нечетное, Алиса выигрывает игру и может вывести активы в течение времени t; если оно четное, Боб выигрывает игру и может вывести активы в течение времени t. С использованием DLC информация о (n+k)-м блоке передается через Оракул для построения условной подписи, обеспечивая, что правильный победитель получает все активы.
Инициализация: Генератор эллиптической кривой - G, и его порядок - q.
Генерация ключей: Оракул, Алиса и Боб независимо генерируют свои собственные частные и открытые ключи.
Транзакция финансирования: Алиса и Боб создают транзакцию финансирования вместе, блокируя по 1 BTC каждый в выходе многоадресной подписи 2 из 2 (один открытый ключ X принадлежит Алисе, а другой Y - Бобу).
Транзакции исполнения контракта (CET): Алиса и Боб создают две CET для расходования транзакции финансирования.
Оракул вычисляет обязательство
а затем вычисляет S и S′
и транслирует (R, S, S′).
Алиса и Боб вычисляют соответствующий новый открытый ключ
Расчет: После появления (n+k)-го блока Оракул генерирует соответствующий s или s′ на основе хеш-значения этого блока.
Вывод: Алиса или Боб могут вывести активы на основе s или s′, переданных Оракулом.
Анализ: новый закрытый ключ sk^{Alice}, рассчитанный Алисой, и новый открытый ключ PK^{Alice} удовлетворяют дискретное логарифмическое соотношение
Таким образом, вывод Алисы будет успешным.
Точно так же новый закрытый ключ sk^{Bob}, рассчитанный Бобом, и новый открытый ключ PK^{Bob} удовлетворяют дискретному логарифмическому отношению
Таким образом, вывод Боба будет успешным.
Кроме того, если Оракул транслирует s, это полезно для Алисы, но не для Боба, потому что Боб не может вычислить соответствующий новый закрытый ключ sk^{Bob}. Аналогично, если Оракул транслирует s′, это полезно для Боба, но не для Алисы, потому что Алиса не может вычислить соответствующий новый закрытый ключ sk^{Alice}. Наконец, в вышеуказанном описании пропущен временной замок. Временной замок должен быть добавлен, чтобы позволить одной стороне вычислить новый закрытый ключ и вывести его в течение времени t. В противном случае, если это превысит время t, другая сторона сможет использовать исходный закрытый ключ для вывода активов.
В протоколе DLC ключевыми являются закрытый ключ Оракула и зафиксированный nonce. Утечка или потеря закрытого ключа Оракула и зафиксированного nonce могут привести к следующим четырем проблемам безопасности:
(1) Oracle теряет закрытый ключ z
Если Оракул потеряет свой закрытый ключ, DLC не сможет завершиться, что требует выполнения контракта на возврат DLC. Поэтому протокол DLC включает транзакцию возврата, чтобы предотвратить последствия потери Оракулом своего закрытого ключа.
(2) Утечка закрытого ключа Oracle’s z
Если закрытый ключ Оракула утекает, все DLC, основанные на этом закрытом ключе, подвергаются риску мошеннического урегулирования. Злоумышленник, который украдет закрытый ключ, может подписать любое желаемое сообщение, получив полный контроль над результатами всех будущих контрактов. Более того, злоумышленник не ограничивается выдачей одного подписанного сообщения, но также может публиковать противоречивые сообщения, такие как подписание того, что хэш-значение (n+k)-го блока как нечетное, так и четное.
(3) Утечка или повторное использование Nonce k Oracle
Если оракул утекает номер k, то на этапе расчетов, независимо от того, транслирует ли оракул s или s′, злоумышленник может вычислить закрытый ключ оракула z следующим образом:
Если Оракул повторно использует счетчик k, то после двух расчетов злоумышленник может решить систему уравнений на основе подписей трансляции Оракула, чтобы вывести закрытый ключ z Оракула в одном из четырех возможных сценариев,
case 1:
case 2:
случай 3:
случай 4:
(4) Oracle теряет Nonce k
Если Оракул потеряет номер k, соответствующий DLC не сможет быть завершен, что потребует выполнения контракта на возврат DLC.
Для повышения безопасности закрытого ключа оракула рекомендуется использовать BIP32 для выведения дочерних или внучаческих ключей для подписи. Кроме того, для увеличения безопасности номера использования следует использовать значение хэша k:=hash(z, counter) в качестве номера k, чтобы предотвратить повторение или потерю номера использования.
В DLC роль Оракула критическая, поскольку он предоставляет ключевые внешние данные, которые определяют результат контракта. Для повышения безопасности таких контрактов требуются децентрализованные Оракулы. В отличие от централизованных Оракулов, децентрализованные Оракулы распределяют ответственность за предоставление точных и защищенных от вмешательства данных между несколькими независимыми узлами, уменьшая риск, связанный с единой точкой отказа, и снижая вероятность манипуляций или целенаправленных атак. С децентрализованным Оракулом DLC может достичь более высокой степени бездоверия и надежности, обеспечивая полное доверие к исполнению контракта исключительно объективности предопределенных условий.
Многосторонние подписи Шнорра могут быть использованы для реализации децентрализованных оракулов. Многосторонние подписи Шнорра предлагают следующие преимущества:
Поэтому протокол пороговой подписи Шнорра имеет значительные преимущества в децентрализованных оракулах в терминах повышения безопасности, надежности, гибкости, масштабируемости и ответственности.
В технологии управления ключами Oracle обладает полным ключом z и, используя BIP32 вместе с приращениями ω, может вывести множество дочерних ключей z+ω^{(1)} и внучатых ключей z+ω^{(1)}+ω^{(2)}. Для различных событий Oracle может использовать различные внучатые частные ключи z+ω^{(1)}+ω^{(2)} для генерации соответствующих подписей σ для соответствующих событий msg.
В сценарии децентрализованного Оракула есть n участников, и для подписи порога требуется t+1 участников, где t Однако в децентрализованном сценарии Оракула полный закрытый ключ z не появляется, и поэтому прямое производное использование BIP32 невозможно. Иными словами, технология децентрализованного Оракула и технология управления ключами не могут быть прямо интегрированы. Статья "Распределенное производство ключей для многопартийного управления цифровыми активами блокчейна«предлагает схему распределенного выведения ключа в сценариях пороговой подписи. Основная идея основана на интерполяционных полиномах Лагранжа, где закрытая часть ключа z_i и полный закрытый ключ z удовлетворяют следующему интерполяционному отношению: Добавление приращения ω к обеим сторонам уравнения приводит к: Это уравнение показывает, что частный ключ share z_i плюс прирост ω по-прежнему удовлетворяет интерполяционному отношению со полным частным ключом z плюс ω. Другими словами, дочерний частный ключ share z_i+ω и дочерний ключ z+ω удовлетворяют интерполяционному отношению. Следовательно, каждый участник может использовать свой частный ключ share z_i плюс прирост ω для получения дочернего частного ключа share z_i+ω, используемого для генерации долей дочерних подписей и их проверки с использованием соответствующего дочернего открытого ключа Z+ω⋅G. Однако следует учитывать закаленный и незакаленный BIP32. Закаленный BIP32 берет личный ключ, цепной код и путь в качестве входных данных, выполняет SHA512 и выдает приращение и дочерний цепной код. Незакаленный BIP32, с другой стороны, берет общедоступный ключ, цепной код и путь в качестве входных данных, выполняет SHA512 и выдает приращение и дочерний цепной код. В сценарии пороговой подписи личный ключ не существует, поэтому может использоваться только незакаленный BIP32. Или же можно применить закаленный BIP32 с использованием гомоморфной хэш-функции. Однако гомоморфная хэш-функция отличается от SHA512 и несовместима с оригинальным BIP32. В DLC контракт между Алисой и Бобом исполняется на основе подписанного результата Оракула, что требует определенного уровня доверия к Оракулу. Следовательно, правильное поведение Оракула является основной предпосылкой для работы DLC. Для снижения доверия к Оракулу были проведены исследования по выполнению DLC на основе результатов n Оракулов, уменьшая зависимость от одного Оракула. Простое увеличение количества Оракулов не обеспечивает доверия к Оракулам, потому что после злонамеренных действий Оракула страдающая сторона в договоре не имеет возможности обратиться к цепочке. Поэтому мы предлагаем OP-DLC, который включает оптимистичный механизм вызова в DLC. Прежде чем принять участие в настройке DLC, n оракулов должны заложить и создать разрешенную на цепи OP-игру заранее, обязавшись не действовать злонамеренно. Если какой-либо Оракул действует злонамеренно, то Алиса, Боб, любой другой честный Оракул или любой другой третьесторонний честный наблюдатель могут инициировать вызов. Если вызывающий выигрывает игру, то система на цепи наказывает злонамеренного Оракула путем конфискации его депозита. Кроме того, OP-DLC также может принять модель “k-of-n” для подписания, где значение k даже может быть 1. Поэтому доверительное предположение сокращается до необходимости только одного честного участника в сети для инициирования оптимистичного вызова и наказания злонамеренного узла Оракула. При расчете OP-DLC на основе результатов вычислений уровня 2: Таким образом, OP-DLC облегчает взаимный контроль между узлами оракула, минимизируя доверие, оказанное оракулам. Этот механизм требует только одного честного участника и имеет 99% отказоустойчивость, что эффективно решает проблему коллаборации оракулов. Когда DLC используется для мостов межцепочечных, распределение средств должно произойти при закрытии контракта DLC: Поэтому, чтобы решить вышеупомянутую проблему, мы предлагаем двойной мост OP-DLC + BitVM. Это решение позволяет пользователям депонировать и выводить через бесразрешительный мост BitVM, а также через механизм OP-DLC, добиваясь изменений с любой гранулярностью и увеличивая ликвидность. В OP-DLC Оракул - это федерация BitVM, где Алиса является обычным пользователем, а Боб - федерацией BitVM. При настройке OP-DLC построенные CETs позволяют немедленно тратить выходные данные Алисы на уровне 1, в то время как выходные данные Боба включают в себя «DLC игру, в которой Алиса может бросить вызов», с периодом временной блокировки. Когда Алиса хочет снять деньги: Более того, если пользователь Alice хочет вывести средства из Уровня 2, но заранее установленные CET в контракте OP-DLC не соответствуют сумме, Alice может выбрать следующие методы: Таким образом, двойной мост OP-DLC + BitVM предлагает следующие преимущества: DLC появился до активации Segwit v1 (Taproot) и уже интегрирован с Lightning Network, позволяя расширить DLC для обновления и выполнения непрерывных контрактов в пределах того же канала DLC. С использованием технологий, таких как Taproot и BitVM, можно реализовать более сложные верификации и расчеты контрактов вне цепочки блоков в рамках DLC. Кроме того, путем интеграции механизма вызова OP можно минимизировать доверие к Оракулам. Эта статья перепечатана из средний, изначально называлась «Технология ядра Bitlayer: DLC и ее оптимизационные соображения». Права принадлежат оригинальному автору, Битлейер. Если есть возражения против этого повторного издания, пожалуйста, свяжитесь с Команда Gate LearnКоманда обработает это в соответствии с соответствующими процедурами как можно быстрее. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными советами. Другие языковые версии статьи были переведены командой Gate Learn. Без упоминания Gate.io, переведенные статьи не могут быть скопированы, распространены или использованы в качестве плагиата.3.4 OP-DLC: Оракул Trust-minimized
3.5 OP-DLC + BitVM Двойной мост
4. Заключение
Утверждение:
Дискретный контракт регистрации (DLC) - это фреймворк исполнения контрактов на основе Оракула, предложенный Тадж Драйей из Массачусетского технологического института в 2018 году. DLC позволяет двум сторонам выполнять условные платежи на основе предопределенных условий. Стороны определяют возможные результаты, предварительно подписывают их и используют эти предварительные подписи для выполнения платежей, когда Оракул утверждает результат. Таким образом, DLC обеспечивает появление новых децентрализованных финансовых приложений, обеспечивая при этом безопасность депозитов в биткойнах.
По сравнению с Lightning Network, DLC имеет следующие значительные преимущества:
Хотя DLC имеют значительные преимущества в экосистеме биткойна, все еще существуют определенные риски и проблемы, такие как:
Для решения этих проблем настоящая статья предлагает несколько решений и идей оптимизации для смягчения рисков и проблем, связанных с DLC, тем самым улучшая безопасность биткойн-экосистемы.
Алиса и Боб заключают пари на то, будет ли значение хэша (n+k)-го блока нечетным или четным. Если оно нечетное, Алиса выигрывает игру и может вывести активы в течение времени t; если оно четное, Боб выигрывает игру и может вывести активы в течение времени t. С использованием DLC информация о (n+k)-м блоке передается через Оракул для построения условной подписи, обеспечивая, что правильный победитель получает все активы.
Инициализация: Генератор эллиптической кривой - G, и его порядок - q.
Генерация ключей: Оракул, Алиса и Боб независимо генерируют свои собственные частные и открытые ключи.
Транзакция финансирования: Алиса и Боб создают транзакцию финансирования вместе, блокируя по 1 BTC каждый в выходе многоадресной подписи 2 из 2 (один открытый ключ X принадлежит Алисе, а другой Y - Бобу).
Транзакции исполнения контракта (CET): Алиса и Боб создают две CET для расходования транзакции финансирования.
Оракул вычисляет обязательство
а затем вычисляет S и S′
и транслирует (R, S, S′).
Алиса и Боб вычисляют соответствующий новый открытый ключ
Расчет: После появления (n+k)-го блока Оракул генерирует соответствующий s или s′ на основе хеш-значения этого блока.
Вывод: Алиса или Боб могут вывести активы на основе s или s′, переданных Оракулом.
Анализ: новый закрытый ключ sk^{Alice}, рассчитанный Алисой, и новый открытый ключ PK^{Alice} удовлетворяют дискретное логарифмическое соотношение
Таким образом, вывод Алисы будет успешным.
Точно так же новый закрытый ключ sk^{Bob}, рассчитанный Бобом, и новый открытый ключ PK^{Bob} удовлетворяют дискретному логарифмическому отношению
Таким образом, вывод Боба будет успешным.
Кроме того, если Оракул транслирует s, это полезно для Алисы, но не для Боба, потому что Боб не может вычислить соответствующий новый закрытый ключ sk^{Bob}. Аналогично, если Оракул транслирует s′, это полезно для Боба, но не для Алисы, потому что Алиса не может вычислить соответствующий новый закрытый ключ sk^{Alice}. Наконец, в вышеуказанном описании пропущен временной замок. Временной замок должен быть добавлен, чтобы позволить одной стороне вычислить новый закрытый ключ и вывести его в течение времени t. В противном случае, если это превысит время t, другая сторона сможет использовать исходный закрытый ключ для вывода активов.
В протоколе DLC ключевыми являются закрытый ключ Оракула и зафиксированный nonce. Утечка или потеря закрытого ключа Оракула и зафиксированного nonce могут привести к следующим четырем проблемам безопасности:
(1) Oracle теряет закрытый ключ z
Если Оракул потеряет свой закрытый ключ, DLC не сможет завершиться, что требует выполнения контракта на возврат DLC. Поэтому протокол DLC включает транзакцию возврата, чтобы предотвратить последствия потери Оракулом своего закрытого ключа.
(2) Утечка закрытого ключа Oracle’s z
Если закрытый ключ Оракула утекает, все DLC, основанные на этом закрытом ключе, подвергаются риску мошеннического урегулирования. Злоумышленник, который украдет закрытый ключ, может подписать любое желаемое сообщение, получив полный контроль над результатами всех будущих контрактов. Более того, злоумышленник не ограничивается выдачей одного подписанного сообщения, но также может публиковать противоречивые сообщения, такие как подписание того, что хэш-значение (n+k)-го блока как нечетное, так и четное.
(3) Утечка или повторное использование Nonce k Oracle
Если оракул утекает номер k, то на этапе расчетов, независимо от того, транслирует ли оракул s или s′, злоумышленник может вычислить закрытый ключ оракула z следующим образом:
Если Оракул повторно использует счетчик k, то после двух расчетов злоумышленник может решить систему уравнений на основе подписей трансляции Оракула, чтобы вывести закрытый ключ z Оракула в одном из четырех возможных сценариев,
case 1:
case 2:
случай 3:
случай 4:
(4) Oracle теряет Nonce k
Если Оракул потеряет номер k, соответствующий DLC не сможет быть завершен, что потребует выполнения контракта на возврат DLC.
Для повышения безопасности закрытого ключа оракула рекомендуется использовать BIP32 для выведения дочерних или внучаческих ключей для подписи. Кроме того, для увеличения безопасности номера использования следует использовать значение хэша k:=hash(z, counter) в качестве номера k, чтобы предотвратить повторение или потерю номера использования.
В DLC роль Оракула критическая, поскольку он предоставляет ключевые внешние данные, которые определяют результат контракта. Для повышения безопасности таких контрактов требуются децентрализованные Оракулы. В отличие от централизованных Оракулов, децентрализованные Оракулы распределяют ответственность за предоставление точных и защищенных от вмешательства данных между несколькими независимыми узлами, уменьшая риск, связанный с единой точкой отказа, и снижая вероятность манипуляций или целенаправленных атак. С децентрализованным Оракулом DLC может достичь более высокой степени бездоверия и надежности, обеспечивая полное доверие к исполнению контракта исключительно объективности предопределенных условий.
Многосторонние подписи Шнорра могут быть использованы для реализации децентрализованных оракулов. Многосторонние подписи Шнорра предлагают следующие преимущества:
Поэтому протокол пороговой подписи Шнорра имеет значительные преимущества в децентрализованных оракулах в терминах повышения безопасности, надежности, гибкости, масштабируемости и ответственности.
В технологии управления ключами Oracle обладает полным ключом z и, используя BIP32 вместе с приращениями ω, может вывести множество дочерних ключей z+ω^{(1)} и внучатых ключей z+ω^{(1)}+ω^{(2)}. Для различных событий Oracle может использовать различные внучатые частные ключи z+ω^{(1)}+ω^{(2)} для генерации соответствующих подписей σ для соответствующих событий msg.
В сценарии децентрализованного Оракула есть n участников, и для подписи порога требуется t+1 участников, где t Однако в децентрализованном сценарии Оракула полный закрытый ключ z не появляется, и поэтому прямое производное использование BIP32 невозможно. Иными словами, технология децентрализованного Оракула и технология управления ключами не могут быть прямо интегрированы. Статья "Распределенное производство ключей для многопартийного управления цифровыми активами блокчейна«предлагает схему распределенного выведения ключа в сценариях пороговой подписи. Основная идея основана на интерполяционных полиномах Лагранжа, где закрытая часть ключа z_i и полный закрытый ключ z удовлетворяют следующему интерполяционному отношению: Добавление приращения ω к обеим сторонам уравнения приводит к: Это уравнение показывает, что частный ключ share z_i плюс прирост ω по-прежнему удовлетворяет интерполяционному отношению со полным частным ключом z плюс ω. Другими словами, дочерний частный ключ share z_i+ω и дочерний ключ z+ω удовлетворяют интерполяционному отношению. Следовательно, каждый участник может использовать свой частный ключ share z_i плюс прирост ω для получения дочернего частного ключа share z_i+ω, используемого для генерации долей дочерних подписей и их проверки с использованием соответствующего дочернего открытого ключа Z+ω⋅G. Однако следует учитывать закаленный и незакаленный BIP32. Закаленный BIP32 берет личный ключ, цепной код и путь в качестве входных данных, выполняет SHA512 и выдает приращение и дочерний цепной код. Незакаленный BIP32, с другой стороны, берет общедоступный ключ, цепной код и путь в качестве входных данных, выполняет SHA512 и выдает приращение и дочерний цепной код. В сценарии пороговой подписи личный ключ не существует, поэтому может использоваться только незакаленный BIP32. Или же можно применить закаленный BIP32 с использованием гомоморфной хэш-функции. Однако гомоморфная хэш-функция отличается от SHA512 и несовместима с оригинальным BIP32. В DLC контракт между Алисой и Бобом исполняется на основе подписанного результата Оракула, что требует определенного уровня доверия к Оракулу. Следовательно, правильное поведение Оракула является основной предпосылкой для работы DLC. Для снижения доверия к Оракулу были проведены исследования по выполнению DLC на основе результатов n Оракулов, уменьшая зависимость от одного Оракула. Простое увеличение количества Оракулов не обеспечивает доверия к Оракулам, потому что после злонамеренных действий Оракула страдающая сторона в договоре не имеет возможности обратиться к цепочке. Поэтому мы предлагаем OP-DLC, который включает оптимистичный механизм вызова в DLC. Прежде чем принять участие в настройке DLC, n оракулов должны заложить и создать разрешенную на цепи OP-игру заранее, обязавшись не действовать злонамеренно. Если какой-либо Оракул действует злонамеренно, то Алиса, Боб, любой другой честный Оракул или любой другой третьесторонний честный наблюдатель могут инициировать вызов. Если вызывающий выигрывает игру, то система на цепи наказывает злонамеренного Оракула путем конфискации его депозита. Кроме того, OP-DLC также может принять модель “k-of-n” для подписания, где значение k даже может быть 1. Поэтому доверительное предположение сокращается до необходимости только одного честного участника в сети для инициирования оптимистичного вызова и наказания злонамеренного узла Оракула. При расчете OP-DLC на основе результатов вычислений уровня 2: Таким образом, OP-DLC облегчает взаимный контроль между узлами оракула, минимизируя доверие, оказанное оракулам. Этот механизм требует только одного честного участника и имеет 99% отказоустойчивость, что эффективно решает проблему коллаборации оракулов. Когда DLC используется для мостов межцепочечных, распределение средств должно произойти при закрытии контракта DLC: Поэтому, чтобы решить вышеупомянутую проблему, мы предлагаем двойной мост OP-DLC + BitVM. Это решение позволяет пользователям депонировать и выводить через бесразрешительный мост BitVM, а также через механизм OP-DLC, добиваясь изменений с любой гранулярностью и увеличивая ликвидность. В OP-DLC Оракул - это федерация BitVM, где Алиса является обычным пользователем, а Боб - федерацией BitVM. При настройке OP-DLC построенные CETs позволяют немедленно тратить выходные данные Алисы на уровне 1, в то время как выходные данные Боба включают в себя «DLC игру, в которой Алиса может бросить вызов», с периодом временной блокировки. Когда Алиса хочет снять деньги: Более того, если пользователь Alice хочет вывести средства из Уровня 2, но заранее установленные CET в контракте OP-DLC не соответствуют сумме, Alice может выбрать следующие методы: Таким образом, двойной мост OP-DLC + BitVM предлагает следующие преимущества: DLC появился до активации Segwit v1 (Taproot) и уже интегрирован с Lightning Network, позволяя расширить DLC для обновления и выполнения непрерывных контрактов в пределах того же канала DLC. С использованием технологий, таких как Taproot и BitVM, можно реализовать более сложные верификации и расчеты контрактов вне цепочки блоков в рамках DLC. Кроме того, путем интеграции механизма вызова OP можно минимизировать доверие к Оракулам. Эта статья перепечатана из средний, изначально называлась «Технология ядра Bitlayer: DLC и ее оптимизационные соображения». Права принадлежат оригинальному автору, Битлейер. Если есть возражения против этого повторного издания, пожалуйста, свяжитесь с Команда Gate LearnКоманда обработает это в соответствии с соответствующими процедурами как можно быстрее. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными советами. Другие языковые версии статьи были переведены командой Gate Learn. Без упоминания Gate.io, переведенные статьи не могут быть скопированы, распространены или использованы в качестве плагиата.3.4 OP-DLC: Оракул Trust-minimized
3.5 OP-DLC + BitVM Двойной мост
4. Заключение
Утверждение: