Prova de Queima ( PoB ) protocolo: nova solução do ecossistema Cardano
Recentemente, uma solução para o desafio proposto por Charles Hoskinson surgiu. Esta solução introduziu o protocolo de prova de queima (PoB) no ecossistema Cardano. Este artigo apresentará esta nova solução desenvolvida, incluindo:
Visão geral do mecanismo de prova de queima e suas aplicações
A implementação e o mecanismo de operação do contrato inteligente desta solução PoB na rede Cardano
Implementação e teste de contratos inteligentes ( na rede de testes )
Executar o protocolo PoB enviando tokens para o endereço "buraco negro".
1. Prova de queima e suas aplicações
A queima de tokens (, a destruição ) é uma prática comum, essencialmente enviando tokens para um endereço de "buraco negro" inacessível. Este endereço não possui chaves privadas que possam recuperar os tokens destruídos. O público pode verificar que a destruição realmente ocorreu, mas só conhece um valor de "promessa" "secreto". O design deste mecanismo é para garantir que os fundos destruídos não sejam sujeitos a fiscalização por intermediários.
O mecanismo de queima tem várias utilizações, podendo aumentar o valor dos tokens restantes ou servir como prova de compromisso de um protocolo de blockchain. A queima em grande escala de tokens pode causar pressão deflacionária, pois reduz a quantidade total de tokens em circulação. Embora as transações de queima sejam comuns, ainda precisam da aceitação dos mineradores. Apesar desses mecanismos terem benefícios, também há quem se oponha à queima de tokens. Nesse sentido, algumas equipas estão a trabalhar na introdução de um protocolo de queima de tokens que não possa ser censurado. Esta operação especial chamou a atenção de Charles Hoskinson.
A segurança da prova de queima e a segurança das transações de transferência de tokens baseiam-se no mesmo mecanismo - funções de hash criptográficas. Essas funções são fáceis de calcular, mas muito difíceis de reverter. Essencialmente, a razão pela qual é difícil reverter é que uma única mudança de bit na entrada resulta em cada bit da saída mudando de forma aleatória. Isso significa que reverter a partir da saída da função de hash criptográfica levará um tempo extremamente longo. Em resumo, inverter o bit menos significativo da função de hash criptográfica pode criar um endereço de buraco negro. Qualquer coisa enviada para esse endereço se tornará difícil ou impossível de recuperar.
A segurança das transações criptográficas baseia-se completamente na criptografia de chave pública e nas funções de hash criptográficas: "Sempre que enviar fundos, um novo output de transação não gasto (UTxO) é criado." Este UTxO registra a quantidade de fundos e o hash criptográfico da chave pública do destinatário. Se o destinatário quiser usar esses fundos, deve assinar uma nova transação de gasto com a mesma chave pública.
Por que inverter o bit menos significativo da saída da função hash, em vez de usar diretamente o hash de 0x0? A razão é que usar um valor conhecido tornaria a queima imediatamente visível. No entanto, o protocolo propõe que primeiro se queime os fundos e depois (, em um passo separado, ) prove que foi queimado. Para alcançar isso, é necessário começar primeiro com o hash que cria o valor de compromisso. Em seguida, o valor de compromisso indica que um endereço de buraco negro foi criado.
2. Protocolo de queima na rede Cardano ( PoB ) contrato inteligente
Esta seção explicará o mecanismo de prova de queima nos contratos inteligentes do Cardano. Os contratos inteligentes do Cardano são programas que rodam na rede Cardano, permitindo que os desenvolvedores de contratos executem transações financeiras ( de acordo com regras específicas. Os contratos inteligentes visam estabelecer transações transparentes e verificáveis entre diferentes partes transacionadoras. Recentemente, o surgimento de serviços financeiros descentralizados e organizações descentralizadas impulsionou o crescimento exponencial da aplicação de contratos inteligentes.
Os contratos inteligentes tradicionais do Ethereum consistem em um estado registrado no livro-razão e programas que chamam esse estado de forma assíncrona. Como o estado no livro-razão pertence ao contrato inteligente, ele só pode ser alterado por programas, e todas as operações de estado permitidas podem ser deduzidas do código do programa e registradas na blockchain.
O ecossistema Cardano adota uma estrutura diferente, permitindo que os usuários simulem cada transação em suas próprias carteiras, tornando ) a rede ( mais difícil de atacar. As mudanças resultantes são validadas por nós de blockchain e, em seguida, registradas. Para isso, os contratos inteligentes Cardano têm três componentes:
Script do resgatador: permite ou proíbe o gasto de eUTxOs
Script de carteira: representa a execução do usuário, para resgatar fundos e criar novos eUTxOs
eUTxOs: cada eUTxO possui fundos e um ponto de dados )datum(, que o resgatador usa para determinar sob quais condições esses fundos podem ser reutilizados.
Isso significa que os contratos inteligentes Cardano não têm estado centralizado no livro-razão. Cada eUTxO tem um estado independente )datum(, que é indivisível de seus fundos. Isso leva às seguintes quatro operações possíveis:
Queimar: enviar fundos para um endereço de buraco negro com um valor de compromisso de hash secreto
Destruído: a queima que verifica que um valor de compromisso específico realmente ocorreu.
Bloqueio: enviar fundos para um endereço com chave
Resgatar: resgatar os fundos bloqueados anteriormente
É importante notar que o endpoint é executado na carteira do usuário. Após a execução do script do endpoint na carteira, a transação gerada será movida para a blockchain. No nosso caso, essa transação moverá os fundos para o script de resgate. Esse script verifica que os fundos só podem ser acessados pelo endereço de destino que possui o hash correspondente.
Na operação de bloqueio, o valor hash pode ser o nosso próprio endereço. Na queima, o valor hash aponta para um endereço de buraco negro. Realizamos isso dando ao hash um valor de compromisso secreto e, em seguida, revertendo-o. Como usamos funções de hash criptográficas, é quase impossível encontrar um valor hash correspondente ao seu resultado.
Atenção: flipCommitment apenas inverte o bit menos significativo do hash )LSB(.
Os intermediários que aceitam as transações não conseguem saber se se trata de uma transação de queima ou de bloqueio. Ao usar este script, os intermediários não podem revisar seletivamente qualquer transação de queima. Queima e bloqueio usam o mesmo formato de resgatador, apenas o iniciador da transação sabe se é uma queima ou um bloqueio. O valor da queima pode ser verificado usando o ponto final destruído com o valor de compromisso dado. Antes da divulgação do valor de compromisso, ninguém sabe a quantidade de fundos destruídos. Se você estiver interessado no código, o repositório de código será detalhado na próxima seção.
3. A implantação do protocolo inteligente ) na rede de testes (
Para iniciar um nó de teste com carteira, são necessárias a frase de recuperação e uma senha aleatória. Você pode implantar um contrato inteligente executando as seguintes etapas:
) 1. Instalar a cadeia de ferramentas Haskell
2. Construir scripts Plutus
3. Iniciar o contêiner de conexão ao nó Cardano e à carteira Cardano
4. Recuperar a carteira e exportar o ID da carteira ### os passos seguintes necessitam de (, execute o seguinte código ) para gerar uma frase mnemónica aleatória para testes (
) 5. Executar queimar tokens
6. Operar, validar a queima
Ao seguir os passos acima, terceiros não conseguem saber se se trata de uma transação de queima ou de bloqueio. No entanto, após a publicação deste script, as pessoas podem tentar compilar um rejeitador de resgates, correspondente ao hash do script de resgate que propuseram. Isso exige um enorme esforço, mas pode levar a algumas queimaduras sendo censuradas. Para evitar que isso aconteça e tornar as violações mais difíceis, a próxima seção discutirá como tornar esta solução mais segura.
Aproveitando o fato de que a maioria das operações de contratos inteligentes ocorre nas carteiras dos usuários, criar um esquema que utilize apenas carteiras pode tornar os contratos inteligentes desnecessários. No entanto, essa abordagem pode ter uma vantagem prática, que é a impossibilidade de bloquear seletivamente as transações de contratos inteligentes correspondentes ao queima. Contudo, aqueles que desejam bloquear todas as transações de queima podem alcançar seu objetivo bloqueando todos os scripts. Usando apenas carteiras, a única maneira de revisar a queima é revisar todas as transações do Cardano. Isso representa uma resistência definitiva à censura.
Para alcançar isso, precisamos substituir o hash da chave pública pelo hash do valor de compromisso e inverter o bit menos significativo do valor de compromisso. Mas isso não é suficiente. O Cardano previne erros de entrada em endereços verificando a estrutura e o código CRC. Portanto, a maneira mais simples de gerar um endereço a partir de um compromisso é usar o seguinte script e a biblioteca da API do Cardano.
Para ver como funciona, você pode usar o seguinte código para gerar um endereço de queima:
Em seguida, você pode usar o seguinte código para enviar a transação para a blockchain Cardano:
Para validar a queima, você precisa usar o seguinte código para ver as transações enviadas para o endereço de queima:
Este artigo divide a implementação do protocolo de prova de queima em duas maneiras: contratos inteligentes ou transações de carteira. No entanto, os contratos inteligentes Alonzo atualmente carecem da infraestrutura necessária, como a biblioteca PAB. Portanto, sugerimos o uso de scripts de carteira. De qualquer forma, a biblioteca PAB será implementada em breve para o desenvolvimento de aplicações baseadas em Cardano, e a combinação de scripts de carteira com uma solução complexa de contrato inteligente pode ser mais viável para criar um ambiente que resista a possíveis censuras. Se você quiser saber mais sobre essa solução, pode conferir todas as informações relevantes no GitHub.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
8 Curtidas
Recompensa
8
4
Compartilhar
Comentário
0/400
MetaMisery
· 10h atrás
ada pode subir agora, certo?
Ver originalResponder0
MetamaskMechanic
· 10h atrás
Uau, isso está muito quente!
Ver originalResponder0
OldLeekMaster
· 10h atrás
É só queimar, pode cair para algumas dezenas de cêntimos.
Ver originalResponder0
FalseProfitProphet
· 10h atrás
Com essa intensidade de queima, que efeito pode ter?
Cardano introduz o protocolo de prova de queima: Detalhes da solução PoB
Prova de Queima ( PoB ) protocolo: nova solução do ecossistema Cardano
Recentemente, uma solução para o desafio proposto por Charles Hoskinson surgiu. Esta solução introduziu o protocolo de prova de queima (PoB) no ecossistema Cardano. Este artigo apresentará esta nova solução desenvolvida, incluindo:
1. Prova de queima e suas aplicações
A queima de tokens (, a destruição ) é uma prática comum, essencialmente enviando tokens para um endereço de "buraco negro" inacessível. Este endereço não possui chaves privadas que possam recuperar os tokens destruídos. O público pode verificar que a destruição realmente ocorreu, mas só conhece um valor de "promessa" "secreto". O design deste mecanismo é para garantir que os fundos destruídos não sejam sujeitos a fiscalização por intermediários.
O mecanismo de queima tem várias utilizações, podendo aumentar o valor dos tokens restantes ou servir como prova de compromisso de um protocolo de blockchain. A queima em grande escala de tokens pode causar pressão deflacionária, pois reduz a quantidade total de tokens em circulação. Embora as transações de queima sejam comuns, ainda precisam da aceitação dos mineradores. Apesar desses mecanismos terem benefícios, também há quem se oponha à queima de tokens. Nesse sentido, algumas equipas estão a trabalhar na introdução de um protocolo de queima de tokens que não possa ser censurado. Esta operação especial chamou a atenção de Charles Hoskinson.
A segurança da prova de queima e a segurança das transações de transferência de tokens baseiam-se no mesmo mecanismo - funções de hash criptográficas. Essas funções são fáceis de calcular, mas muito difíceis de reverter. Essencialmente, a razão pela qual é difícil reverter é que uma única mudança de bit na entrada resulta em cada bit da saída mudando de forma aleatória. Isso significa que reverter a partir da saída da função de hash criptográfica levará um tempo extremamente longo. Em resumo, inverter o bit menos significativo da função de hash criptográfica pode criar um endereço de buraco negro. Qualquer coisa enviada para esse endereço se tornará difícil ou impossível de recuperar.
A segurança das transações criptográficas baseia-se completamente na criptografia de chave pública e nas funções de hash criptográficas: "Sempre que enviar fundos, um novo output de transação não gasto (UTxO) é criado." Este UTxO registra a quantidade de fundos e o hash criptográfico da chave pública do destinatário. Se o destinatário quiser usar esses fundos, deve assinar uma nova transação de gasto com a mesma chave pública.
Por que inverter o bit menos significativo da saída da função hash, em vez de usar diretamente o hash de 0x0? A razão é que usar um valor conhecido tornaria a queima imediatamente visível. No entanto, o protocolo propõe que primeiro se queime os fundos e depois (, em um passo separado, ) prove que foi queimado. Para alcançar isso, é necessário começar primeiro com o hash que cria o valor de compromisso. Em seguida, o valor de compromisso indica que um endereço de buraco negro foi criado.
2. Protocolo de queima na rede Cardano ( PoB ) contrato inteligente
Esta seção explicará o mecanismo de prova de queima nos contratos inteligentes do Cardano. Os contratos inteligentes do Cardano são programas que rodam na rede Cardano, permitindo que os desenvolvedores de contratos executem transações financeiras ( de acordo com regras específicas. Os contratos inteligentes visam estabelecer transações transparentes e verificáveis entre diferentes partes transacionadoras. Recentemente, o surgimento de serviços financeiros descentralizados e organizações descentralizadas impulsionou o crescimento exponencial da aplicação de contratos inteligentes.
Os contratos inteligentes tradicionais do Ethereum consistem em um estado registrado no livro-razão e programas que chamam esse estado de forma assíncrona. Como o estado no livro-razão pertence ao contrato inteligente, ele só pode ser alterado por programas, e todas as operações de estado permitidas podem ser deduzidas do código do programa e registradas na blockchain.
O ecossistema Cardano adota uma estrutura diferente, permitindo que os usuários simulem cada transação em suas próprias carteiras, tornando ) a rede ( mais difícil de atacar. As mudanças resultantes são validadas por nós de blockchain e, em seguida, registradas. Para isso, os contratos inteligentes Cardano têm três componentes:
Isso significa que os contratos inteligentes Cardano não têm estado centralizado no livro-razão. Cada eUTxO tem um estado independente )datum(, que é indivisível de seus fundos. Isso leva às seguintes quatro operações possíveis:
É importante notar que o endpoint é executado na carteira do usuário. Após a execução do script do endpoint na carteira, a transação gerada será movida para a blockchain. No nosso caso, essa transação moverá os fundos para o script de resgate. Esse script verifica que os fundos só podem ser acessados pelo endereço de destino que possui o hash correspondente.
Na operação de bloqueio, o valor hash pode ser o nosso próprio endereço. Na queima, o valor hash aponta para um endereço de buraco negro. Realizamos isso dando ao hash um valor de compromisso secreto e, em seguida, revertendo-o. Como usamos funções de hash criptográficas, é quase impossível encontrar um valor hash correspondente ao seu resultado.
Atenção: flipCommitment apenas inverte o bit menos significativo do hash )LSB(.
Os intermediários que aceitam as transações não conseguem saber se se trata de uma transação de queima ou de bloqueio. Ao usar este script, os intermediários não podem revisar seletivamente qualquer transação de queima. Queima e bloqueio usam o mesmo formato de resgatador, apenas o iniciador da transação sabe se é uma queima ou um bloqueio. O valor da queima pode ser verificado usando o ponto final destruído com o valor de compromisso dado. Antes da divulgação do valor de compromisso, ninguém sabe a quantidade de fundos destruídos. Se você estiver interessado no código, o repositório de código será detalhado na próxima seção.
![])https://img-cdn.gateio.im/webp-social/moments-f7f162dc2a412b8d5ff903636b2e631b.webp(
3. A implantação do protocolo inteligente ) na rede de testes (
Para iniciar um nó de teste com carteira, são necessárias a frase de recuperação e uma senha aleatória. Você pode implantar um contrato inteligente executando as seguintes etapas:
) 1. Instalar a cadeia de ferramentas Haskell
2. Construir scripts Plutus
3. Iniciar o contêiner de conexão ao nó Cardano e à carteira Cardano
4. Recuperar a carteira e exportar o ID da carteira ### os passos seguintes necessitam de (, execute o seguinte código ) para gerar uma frase mnemónica aleatória para testes (
) 5. Executar queimar tokens
6. Operar, validar a queima
Ao seguir os passos acima, terceiros não conseguem saber se se trata de uma transação de queima ou de bloqueio. No entanto, após a publicação deste script, as pessoas podem tentar compilar um rejeitador de resgates, correspondente ao hash do script de resgate que propuseram. Isso exige um enorme esforço, mas pode levar a algumas queimaduras sendo censuradas. Para evitar que isso aconteça e tornar as violações mais difíceis, a próxima seção discutirá como tornar esta solução mais segura.
![]###https://img-cdn.gateio.im/webp-social/moments-7777b1db89195a287d84464f2b80b5e9.webp(
4. Do protocolo inteligente ao script de carteira
Aproveitando o fato de que a maioria das operações de contratos inteligentes ocorre nas carteiras dos usuários, criar um esquema que utilize apenas carteiras pode tornar os contratos inteligentes desnecessários. No entanto, essa abordagem pode ter uma vantagem prática, que é a impossibilidade de bloquear seletivamente as transações de contratos inteligentes correspondentes ao queima. Contudo, aqueles que desejam bloquear todas as transações de queima podem alcançar seu objetivo bloqueando todos os scripts. Usando apenas carteiras, a única maneira de revisar a queima é revisar todas as transações do Cardano. Isso representa uma resistência definitiva à censura.
Para alcançar isso, precisamos substituir o hash da chave pública pelo hash do valor de compromisso e inverter o bit menos significativo do valor de compromisso. Mas isso não é suficiente. O Cardano previne erros de entrada em endereços verificando a estrutura e o código CRC. Portanto, a maneira mais simples de gerar um endereço a partir de um compromisso é usar o seguinte script e a biblioteca da API do Cardano.
Para ver como funciona, você pode usar o seguinte código para gerar um endereço de queima:
Em seguida, você pode usar o seguinte código para enviar a transação para a blockchain Cardano:
Para validar a queima, você precisa usar o seguinte código para ver as transações enviadas para o endereço de queima:
![])https://img-cdn.gateio.im/webp-social/moments-fed84a6717b012408df1b428b2d80586.webp(
Conclusão
Este artigo divide a implementação do protocolo de prova de queima em duas maneiras: contratos inteligentes ou transações de carteira. No entanto, os contratos inteligentes Alonzo atualmente carecem da infraestrutura necessária, como a biblioteca PAB. Portanto, sugerimos o uso de scripts de carteira. De qualquer forma, a biblioteca PAB será implementada em breve para o desenvolvimento de aplicações baseadas em Cardano, e a combinação de scripts de carteira com uma solução complexa de contrato inteligente pode ser mais viável para criar um ambiente que resista a possíveis censuras. Se você quiser saber mais sobre essa solução, pode conferir todas as informações relevantes no GitHub.
![])https://img-cdn.gateio.im/webp-social/moments-3d2bf883bd43da42085612065d17c6ef.webp(