Comparado com a Lightning Network, DLC tem as seguintes vantagens significativas:
Privacidade: O DLC oferece uma melhor proteção da privacidade do que a Lightning Network. Os detalhes do contrato são partilhados apenas entre as partes envolvidas e não são armazenados na blockchain. Em contraste, as transações da Lightning Network são encaminhadas através de canais e nós públicos, tornando as suas informações públicas e transparentes.- Complexidade e Flexibilidade dos Contratos Financeiros: DLC pode criar e executar diretamente contratos financeiros complexos na rede Bitcoin, como derivativos, seguros e apostas, enquanto a Lightning Network é usada principalmente para pagamentos rápidos de pequeno valor e não pode suportar aplicações complexas.- Risco Contraparte Reduzido: Os fundos da DLC são bloqueados em contratos de multi-assinatura e são apenas libertados quando o resultado de um evento predefinido ocorre, reduzindo o risco de qualquer parte não cumprir o contrato. Embora a Lightning Network reduza a necessidade de confiança, ela ainda carrega certos riscos de contraparte na gestão de canais e na provisão de liquidez.- Não é necessário gerir canais de pagamento: as operações de DLC não requerem a criação ou manutenção de canais de pagamento, que são centrais para a Lightning Network e envolvem uma gestão complexa e intensiva em recursos.- Escalabilidade para Casos de Uso Específicos: Embora a Lightning Network aumente um pouco a taxa de transações do Bitcoin, o DLC oferece uma melhor escalabilidade para contratos complexos na Bitcoin.Embora os DLCs tenham vantagens significativas no ecossistema do Bitcoin, ainda existem alguns riscos e questões, tais como:
Risco-chave: Existe o risco de vazamento ou perda das chaves privadas da Oracle e dos nonces comprometidos, o que pode levar à perda dos ativos do usuário.- Risco de Confiança Centralizada: A centralização nos Oracles pode facilmente levar a ataques de negação de serviço.- Problema de Derivação de Chave Descentralizada: Se o Oráculo for descentralizado, os nós do Oráculo apenas possuem partes da chave privada. No entanto, os nós descentralizados do Oráculo não podem usar diretamente o BIP32 para a derivação de chaves com base nessas partes da chave privada.- Risco de Colusão: Se os nós do Oracle conspirarem entre si ou com uma parte, a questão da confiança nos Oracles permanece por resolver. É necessário um mecanismo de monitorização fiável para minimizar a confiança nos Oracles.- Problema de Mudança de Denominação Fixa: As assinaturas condicionais exigem um conjunto determinístico e enumerável de eventos antes de construir o contrato para construir a transação. Assim, usar DLC para realocação de ativos tem uma restrição mínima de quantidade, levando ao problema da mudança de denominação fixa.Para resolver estes problemas, este artigo propõe várias soluções e ideias de otimização para mitigar os riscos e questões associadas aos DLCs, melhorando assim a segurança do ecossistema do Bitcoin.
Inicialização: O gerador da curva elíptica é G e a sua ordem é q.
Geração de chaves: O Oracle, Alice e Bob geram independentemente as suas próprias chaves privadas e públicas.
Transações de Execução de Contrato (CET): Alice e Bob criam dois CETs para gastar a transação de financiamento.
O Oráculo calcula o compromisso

e depois calcula S e S′

e transmite (R, S, S′).
Alice e Bob calculam cada um a nova chave pública correspondente

Liquidação: Após o aparecimento do (n+k)-ésimo bloco, o Oráculo gera o s ou s′ correspondente com base no valor de hash desse bloco.
Se o valor de hash do bloco (n+k)-ésimo for ímpar, o Oracle calcula e transmite
Se o valor hash do bloco (n+k) for par, o Oracle calcula e transmite
Levantamento: Tanto Alice como Bob podem levantar os ativos com base na transmissão de s ou s′ feita pelo Oráculo.
Se o Oracle transmitir s, Alice pode calcular a nova chave privada sk^{Alice} e retirar os 2 BTC bloqueados
Se o Oracle transmitir s′, Bob pode calcular a nova chave privada sk^{Bob} e retirar os 2 BTC bloqueados
Análise: A nova chave privada sk^{Alice} calculada por Alice e a nova chave pública PK^{Alice} satisfazem a relação do logaritmo discreto

Assim, o levantamento de Alice será bem-sucedido.
Da mesma forma, a nova chave privada sk^{Bob} calculada por Bob e a nova chave pública PK^{Bob} satisfazem a relação do logaritmo discreto

Assim, o levantamento de Bob será bem-sucedido.
Além disso, se o Oráculo transmitir s, é útil para Alice, mas não para Bob porque Bob não consegue calcular a nova chave privada correspondente sk^{Bob}. Da mesma forma, se o Oráculo transmitir s′, é útil para Bob, mas não para Alice, porque Alice não consegue calcular a nova chave privada correspondente sk^{Alice}. Por fim, a descrição acima omite o bloqueio temporal. Um bloqueio temporal deve ser adicionado para permitir que uma das partes calcule a nova chave privada e faça o levantamento dentro do tempo t. Caso contrário, se exceder o tempo t, a outra parte pode usar a chave privada original para levantar os ativos.
(1) Oracle Perde Chave Privada z
Se o Oracle perder a sua chave privada, o DLC não pode ser resolvido, tornando necessária a execução de um contrato de reembolso de DLC. Portanto, o protocolo DLC inclui uma transação de reembolso para prevenir as consequências da perda da chave privada do Oracle.
(2) Vazamento da Chave Privada z da Oracle
Se a chave privada do Oracle for divulgada, todos os DLCs baseados nessa chave privada enfrentam o risco de liquidação fraudulenta. Um atacante que rouba a chave privada pode assinar qualquer mensagem desejada, ganhando controle completo sobre os resultados de todos os contratos futuros. Além disso, o atacante não está limitado a emitir uma única mensagem assinada, mas também pode publicar mensagens conflitantes, como assinar que o valor de hash do bloco (n+k)-ésimo é tanto ímpar quanto par.
(3) Vazamento ou Reutilização do Nounce k da Oracle
Se o Oráculo divulgar o nonce k, então na fase de liquidação, independentemente de o Oráculo transmitir s ou s′, um atacante pode calcular a chave privada z do Oráculo da seguinte forma:

Se o Oracle reutilizar o nonce k, então após dois acordos, um atacante pode resolver o sistema de equações com base nas assinaturas de transmissão do Oracle para deduzir a chave privada z do Oracle em um dos quatro cenários possíveis.
caso 1:

caso 2:

caso 3:

caso 4:

(4) Oracle Perde Nonce k
Se o Oráculo perder o nonce k, o DLC correspondente não pode liquidar, sendo necessária a execução de um contrato de reembolso do DLC.
Portanto, para aumentar a segurança da chave privada do Oracle, é aconselhável usar BIP32 para derivar chaves filhas ou netas para assinar. Além disso, para aumentar a segurança do nonce, o valor de hash k:=hash(z, counter) deve ser usado como o nonce k, para evitar repetição ou perda do nonce.
Assinaturas de limiar de Schnorr podem ser usadas para implementar Oráculos descentralizados. As assinaturas de limiar de Schnorr oferecem as seguintes vantagens:
No cenário do Oráculo descentralizado, existem n participantes, e uma assinatura de limiar requer t+1 participantes, onde t- O modelo “n-of-n” envolve o uso de n Oráculos para assinar o contrato e executar o contrato com base nos resultados de todos os Oráculos. Este modelo requer que todos os Oráculos estejam online para assinar. Se algum Oráculo ficar offline ou houver um desacordo sobre os resultados, isso afeta a execução do contrato DLC. A suposição de confiança aqui é que todos os Oráculos são honestos.- O modelo "k-of-n" envolve o uso de n Oráculos para assinar o contrato, executando o contrato com base nos resultados de quaisquer k Oráculos. Se mais do que k Oráculos conspirarem, isso afeta a execução justa do contrato. Além disso, o número de CETs necessários no modelo "k-of-n" é C_n^k vezes o de um único Oráculo ou do modelo "n-of-n". A suposição de confiança neste modelo é que pelo menos k dos n Oráculos são honestos.A simples aumento do número de Oracles não alcança a desconfiança dos Oracles porque, após ações maliciosas por parte de um Oracle, a parte lesada no contrato não tem recurso on-chain.
Portanto, propomos OP-DLC, que incorpora um mecanismo de desafio otimista no DLC. Antes de participarem na configuração do DLC, n Oráculos precisam fazer uma promessa e construir um jogo OP sem permissão on-chain antecipadamente, comprometendo-se a não agir maliciosamente. Se algum Oráculo agir maliciosamente, então Alice, Bob, qualquer outro Oráculo honesto, ou qualquer outro observador honesto de terceiros pode iniciar um desafio. Se o desafiante vencer o jogo, o sistema on-chain penaliza o Oráculo malicioso ao confiscar seu depósito. Além disso, o OP-DLC também pode adotar o modelo "k-de-n" para assinaturas, onde o valor de k pode ser até 1. Portanto, a suposição de confiança é reduzida apenas necessitando de um participante honesto na rede para iniciar um desafio OP e penalizar um nó Oráculo malicioso.
Ao liquidar OP-DLC com base nos resultados da computação da Camada 2:
No OP-DLC, o Oracle é a federação BitVM, com Alice como utilizadora regular e Bob como a federação BitVM. Ao configurar o OP-DLC, os CETs construídos permitem o gasto imediato da saída de Alice na Camada 1, enquanto a saída de Bob inclui um “jogo DLC que Alice pode desafiar” com um período de timelock. Quando Alice deseja retirar:
Se a federação BitVM, atuando como o Oráculo, assinar corretamente, Alice pode retirar na Camada 1. No entanto, Bob pode retirar na Camada 1 após o período de bloqueio temporal.- Se a federação BitVM, atuando como o Oracle, trapacear, causando uma perda para Alice, ela pode desafiar o UTXO de Bob. Se o desafio for bem-sucedido, o montante de Bob pode ser confiscado. Nota: outro membro da federação BitVM também pode iniciar o desafio, mas Alice, sendo a parte prejudicada, é a mais motivada a fazê-lo.- Se a federação BitVM, atuando como o Oráculo, trapacear, causando uma perda a Bob, um membro honesto da federação BitVM pode desafiar o “jogo BitVM” para penalizar o nó do Oráculo trapaceiro.Além disso, se o usuário Alice deseja sacar da Camada 2, mas os CETs pré-definidos no contrato OP-DLC não correspondem ao montante, Alice pode escolher os seguintes métodos:
Retirar através do BitVM, com o operador BitVM a antecipar o montante na Camada 1. A ponte BitVM assume que existe pelo menos um participante honesto na federação BitVM.- Levante-se através de um CET específico em OP-DLC, com a mudança restante antecipada pelo operador BitVM na Camada 1. Levantar através do OP-DLC irá fechar o canal DLC, mas os fundos restantes no canal DLC irão mover-se para o pool da Camada 1 do BitVM, sem obrigar outros utilizadores da Camada 2 a levantar. A ponte OP-DLC pressupõe que existe pelo menos um participante honesto no canal.- Alice e Bob negociam despesas sem o envolvimento de um Oracle, exigindo cooperação de Bob.Assim, a ponte dupla OP-DLC + BitVM oferece as seguintes vantagens:
O BitVM resolve o problema de alteração do canal DLC, reduz o número de CETs necessários e não é afetado pela granularidade do fundo CET;- Ao combinar a ponte OP-DLC com a ponte BitVM, fornece aos utilizadores múltiplos canais para depósitos e levantamentos, melhorando a experiência do utilizador;- Configurar o consórcio BitVM tanto como Bob quanto como o oráculo, e utilizar o mecanismo OP, minimiza a confiança no oráculo;- Integrar o saque excessivo do canal DLC na piscina de ponte BitVM aumenta a utilização de fundos.## 4. ConclusãoDLC surgiu antes da ativação do Segwit v1 (Taproot) e já foi integrado à Lightning Network, permitindo a extensão do DLC para atualizar e executar contratos contínuos dentro do mesmo canal de DLC. Com tecnologias como Taproot e BitVM, verificações e liquidações de contratos off-chain mais complexos podem ser implementadas dentro do DLC. Além disso, ao integrar o mecanismo de desafio OP, é possível minimizar a confiança em Oracles.
Aviso Legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
Outras versões do artigo foram traduzidas pela equipe Gate Learn. Sem menção de Gate, os artigos traduzidos não podem ser copiados, disseminados ou plagiados.





