Em resumo, a criptografia é a ciência que estuda como criptografar e como descriptografar.
A criptografia e a descriptografia existem desde os tempos antigos, como a famosa "cifra de César". César é o fundador do Império Romano. Ele é considerado por alguns historiadores como o imperador não coroado do Império Romano e é conhecido como "César, o Grande". Na verdade, o próprio César gostava muito de escrever textos secretos.
Durante a guerra na Gália (atual sul da França), César não apenas derrotou seus inimigos, mas também estabeleceu uma extensa e profunda rede de inteligência. Nos registros da Guerra da Gália, é mencionado como seu amigo, o general romano Cícero, recebia mensagens em texto cifrado quando estava cercado. César usou a forma de texto cifrado para evitar que "quando a mensagem for interceptada pelo inimigo, nossas contramedidas não serão descobertas pelo inimigo".
Esse texto cifrado clássico é "VIMRJSVGIQIRXW SRXLI AEC", que é criptografado por meio de um deslocamento de quatro bits, como a letra inicial R+4=V. Após decifrar o texto cifrado, o texto simples obtido é "REINFORCEMENTS ON THE WAY", que significa "os reforços estão a caminho".
Portanto, a cifra de César na verdade criptografa as letras movendo as letras do texto simples para trás de acordo com um número fixo.
Com o desenvolvimento dos tempos, a criptografia e a descriptografia evoluíram gradualmente para uma ciência - a criptografia. Antes do surgimento do blockchain, a criptografia tinha muitas aplicações na Internet, como o mais famoso algoritmo de criptografia assimétrica RSA. Aqui, a Byte Jun apresentará primeiro a todos o que é criptografia simétrica e o que é criptografia assimétrica.
A criptografia simétrica significa que a mesma chave é usada para criptografia e descriptografia. Para fazer uma analogia que ajude todos a entender, comparamos a criptografia ao bloqueio e a descriptografia ao desbloqueio. A criptografia simétrica significa que a mesma chave é usada para bloquear e desbloquear. Portanto, a desvantagem é que ambas as partes da transação usam a mesma chave, e a segurança não pode ser garantida.
A criptografia assimétrica tem duas chaves, uma das quais é uma chave pública (chave pública) e a outra é uma chave privada (chave privada). É como uma fechadura com duas chaves A e B. A chave A é necessária para trancar a fechadura e a chave B é necessária para abrir a fechadura.
O algoritmo de criptografia RSA é um algoritmo de criptografia assimétrica. Muitos protocolos da Internet usavam o RSA antes, e agora o RSA também é o algoritmo de criptografia assimétrica mais amplamente usado e mais compatível em vários navegadores e protocolos de e-mail.
Por exemplo, o SubtleCrypto, um algoritmo quase encontrado em navegadores, pode ser usado até mesmo em ambientes de programas pequenos; e o algoritmo WebAuthn, que se tornou um padrão recomendado pelo W3C em 2019, torna a criptografia do navegador tão poderosa quanto uma carteira de hardware, e é muito conveniente de usar (pode ser desbloqueado por impressão digital, digitalização facial etc.).
Voltando ao blockchain, se essas infraestruturas criptográficas da Internet puderem ser usadas diretamente, em vez de exigir que os usuários baixem plug-ins e aplicativos de carteira e sigam o processo para armazenar frases mnemônicas, o limite de usuários para dApps poderá ser significativamente reduzido.
No entanto, a criptografia dos principais blockchains é geralmente codificada no nível inferior, por exemplo:
Os algoritmos de assinatura desses blockchains são incompatíveis com os sistemas de criptografia usados na Internet convencional e não podem ser usados diretamente. Eles só podem contar com instalações reinstaladas.
A diferença entre a cadeia pública do Nervos CKB é que o senhor pode usar criptografia personalizada, e a criptografia não é codificada na base, o que significa que, ao desenvolver aplicativos no Nervos, o senhor pode usar o sistema de criptografia usado pela Internet convencional ou até mesmo chamar diretamente a infraestrutura existente da Internet.
Especificamente, a máquina virtual Nervos CKB pode implementar a criptografia diretamente na camada do aplicativo (contrato inteligente), de modo que possamos implementar os algoritmos de criptografia assimétrica RSA, SHA-256 etc. mencionados acima. Isso estabelece a base para o uso da infraestrutura existente. No entanto, isso por si só não é suficiente. A Nervos também precisa dos seguintes recursos -A abstração de contas。
A própria palavra "abstrato" é muito abstrata.
A abstração em si é uma palavra relativamente técnica. Há duas explicações. Só precisamos prestar atenção ao primeiro: a chamada abstração é um processo. Removemos a particularidade de um sistema e, em seguida, criamos generalidade e universalidade a partir do sistema. Esse é um processo de generalização. Ao remover projetos especiais e encontrar pontos em comum, o sistema pode se tornar mais geral e aplicável a mais cenários.
Essa explicação ainda pode ser muito abstrata, mas as palavras-chave que todos precisam lembrar sãoRemover "particularidade", remover "particularidade" do sistema, encontrar mais pontos em comum no sistema, colocar pontos em comum no projeto e criar "generalidade"。
Vamos explicar com um exemplo não tão blockchain. O senhor pode ter jogado nas grandes máquinas de fliperama no salão de jogos. Se o senhor entender esse tipo de máquina, saberá que cada máquina corresponde a um jogo. Para máquinas de fliperama, o design do sistema é um design integrado do software ao hardware. Todos os designs servem a um propósito, que é este jogo. Quando precisamos criar outro jogo novo, preciso projetar outra máquina nova, de modo que há dez ou vinte máquinas no fliperama, cada uma com um jogo diferente.
Como o setor de jogos se desenvolveu até hoje, o mais popular não são mais as máquinas de fliperama, mas plataformas de jogos mais gerais, como o XBox. O XBox é um projeto geral. O senhor pode criar uma variedade de jogos para o XBox e, depois, só pode comprar jogos diferentes para serem executados nesse sistema.
Portanto, do fliperama para o XBOX é um processo de generalização. De outra perspectiva, o XBox é um design com um nível mais alto de abstração e pode ser aplicado a mais cenários. Há muito poucos, quase nenhum, itens especiais criados para cada jogo específico. É justamente por não ter esses detalhes especiais que os desenvolvedores dessa plataforma podem preencher os detalhes para que a plataforma possa se adaptar a uma variedade de necessidades.
De volta ao Nervos CKB. A segunda vantagem técnica da cadeia pública CKB é a abstração de contas. A chamada abstração de contas refere-se à capacidade de generalizar a lógica de desbloqueio das contas (endereços) da cadeia de blocos.
Atualmente, a lógica de desbloqueio das principais blockchains é relativamente simples, direta e codificada no nível do protocolo. Por exemplo, para BTC e ETH, a chave pública é restaurada com base no corpo e na assinatura da transação e, em seguida, a chave pública é convertida em um endereço de acordo com as regras estabelecidas. Por fim, ele corresponde ao endereço a ser desbloqueado. Se eles forem consistentes, o desbloqueio será bem-sucedido; caso contrário, o desbloqueio falhará.
Esse tipo de lógica codificada não pode se adaptar a algumas situações mais amplas, como dados relacionados ao cliente incorporados à assinatura, ou mesmo se a assinatura não for específica da própria transação. Para facilitar a compreensão, vamos fazer uma analogia: a lógica de desbloqueio das principais cadeias de blocos é a mesma das fechaduras mecânicas, que só podem abrir a porta da conta de uma maneira.
O Nervos, que implementa recursos de abstração de contas no nível inferior, é equivalente a ter uma fechadura eletrônica. Sua lógica de desbloqueio pode ser por meio de senhas, impressões digitais, Bluetooth, NFC, etc. Por exemplo, podemos usar a criptografia do e-mail para desbloqueá-lo e, em seguida, executar o contrato de acordo com as instruções do e-mail. O exemplo mais simples é enviar o CKB diretamente para o endereço especificado (ou outra caixa postal) por meio do envio de um e-mail, e todo o processo não requer nenhuma etapa. Requer a participação de qualquer "carteira".
Esse é o benefício da abstração de contas.
Compartilhar
Em resumo, a criptografia é a ciência que estuda como criptografar e como descriptografar.
A criptografia e a descriptografia existem desde os tempos antigos, como a famosa "cifra de César". César é o fundador do Império Romano. Ele é considerado por alguns historiadores como o imperador não coroado do Império Romano e é conhecido como "César, o Grande". Na verdade, o próprio César gostava muito de escrever textos secretos.
Durante a guerra na Gália (atual sul da França), César não apenas derrotou seus inimigos, mas também estabeleceu uma extensa e profunda rede de inteligência. Nos registros da Guerra da Gália, é mencionado como seu amigo, o general romano Cícero, recebia mensagens em texto cifrado quando estava cercado. César usou a forma de texto cifrado para evitar que "quando a mensagem for interceptada pelo inimigo, nossas contramedidas não serão descobertas pelo inimigo".
Esse texto cifrado clássico é "VIMRJSVGIQIRXW SRXLI AEC", que é criptografado por meio de um deslocamento de quatro bits, como a letra inicial R+4=V. Após decifrar o texto cifrado, o texto simples obtido é "REINFORCEMENTS ON THE WAY", que significa "os reforços estão a caminho".
Portanto, a cifra de César na verdade criptografa as letras movendo as letras do texto simples para trás de acordo com um número fixo.
Com o desenvolvimento dos tempos, a criptografia e a descriptografia evoluíram gradualmente para uma ciência - a criptografia. Antes do surgimento do blockchain, a criptografia tinha muitas aplicações na Internet, como o mais famoso algoritmo de criptografia assimétrica RSA. Aqui, a Byte Jun apresentará primeiro a todos o que é criptografia simétrica e o que é criptografia assimétrica.
A criptografia simétrica significa que a mesma chave é usada para criptografia e descriptografia. Para fazer uma analogia que ajude todos a entender, comparamos a criptografia ao bloqueio e a descriptografia ao desbloqueio. A criptografia simétrica significa que a mesma chave é usada para bloquear e desbloquear. Portanto, a desvantagem é que ambas as partes da transação usam a mesma chave, e a segurança não pode ser garantida.
A criptografia assimétrica tem duas chaves, uma das quais é uma chave pública (chave pública) e a outra é uma chave privada (chave privada). É como uma fechadura com duas chaves A e B. A chave A é necessária para trancar a fechadura e a chave B é necessária para abrir a fechadura.
O algoritmo de criptografia RSA é um algoritmo de criptografia assimétrica. Muitos protocolos da Internet usavam o RSA antes, e agora o RSA também é o algoritmo de criptografia assimétrica mais amplamente usado e mais compatível em vários navegadores e protocolos de e-mail.
Por exemplo, o SubtleCrypto, um algoritmo quase encontrado em navegadores, pode ser usado até mesmo em ambientes de programas pequenos; e o algoritmo WebAuthn, que se tornou um padrão recomendado pelo W3C em 2019, torna a criptografia do navegador tão poderosa quanto uma carteira de hardware, e é muito conveniente de usar (pode ser desbloqueado por impressão digital, digitalização facial etc.).
Voltando ao blockchain, se essas infraestruturas criptográficas da Internet puderem ser usadas diretamente, em vez de exigir que os usuários baixem plug-ins e aplicativos de carteira e sigam o processo para armazenar frases mnemônicas, o limite de usuários para dApps poderá ser significativamente reduzido.
No entanto, a criptografia dos principais blockchains é geralmente codificada no nível inferior, por exemplo:
Os algoritmos de assinatura desses blockchains são incompatíveis com os sistemas de criptografia usados na Internet convencional e não podem ser usados diretamente. Eles só podem contar com instalações reinstaladas.
A diferença entre a cadeia pública do Nervos CKB é que o senhor pode usar criptografia personalizada, e a criptografia não é codificada na base, o que significa que, ao desenvolver aplicativos no Nervos, o senhor pode usar o sistema de criptografia usado pela Internet convencional ou até mesmo chamar diretamente a infraestrutura existente da Internet.
Especificamente, a máquina virtual Nervos CKB pode implementar a criptografia diretamente na camada do aplicativo (contrato inteligente), de modo que possamos implementar os algoritmos de criptografia assimétrica RSA, SHA-256 etc. mencionados acima. Isso estabelece a base para o uso da infraestrutura existente. No entanto, isso por si só não é suficiente. A Nervos também precisa dos seguintes recursos -A abstração de contas。
A própria palavra "abstrato" é muito abstrata.
A abstração em si é uma palavra relativamente técnica. Há duas explicações. Só precisamos prestar atenção ao primeiro: a chamada abstração é um processo. Removemos a particularidade de um sistema e, em seguida, criamos generalidade e universalidade a partir do sistema. Esse é um processo de generalização. Ao remover projetos especiais e encontrar pontos em comum, o sistema pode se tornar mais geral e aplicável a mais cenários.
Essa explicação ainda pode ser muito abstrata, mas as palavras-chave que todos precisam lembrar sãoRemover "particularidade", remover "particularidade" do sistema, encontrar mais pontos em comum no sistema, colocar pontos em comum no projeto e criar "generalidade"。
Vamos explicar com um exemplo não tão blockchain. O senhor pode ter jogado nas grandes máquinas de fliperama no salão de jogos. Se o senhor entender esse tipo de máquina, saberá que cada máquina corresponde a um jogo. Para máquinas de fliperama, o design do sistema é um design integrado do software ao hardware. Todos os designs servem a um propósito, que é este jogo. Quando precisamos criar outro jogo novo, preciso projetar outra máquina nova, de modo que há dez ou vinte máquinas no fliperama, cada uma com um jogo diferente.
Como o setor de jogos se desenvolveu até hoje, o mais popular não são mais as máquinas de fliperama, mas plataformas de jogos mais gerais, como o XBox. O XBox é um projeto geral. O senhor pode criar uma variedade de jogos para o XBox e, depois, só pode comprar jogos diferentes para serem executados nesse sistema.
Portanto, do fliperama para o XBOX é um processo de generalização. De outra perspectiva, o XBox é um design com um nível mais alto de abstração e pode ser aplicado a mais cenários. Há muito poucos, quase nenhum, itens especiais criados para cada jogo específico. É justamente por não ter esses detalhes especiais que os desenvolvedores dessa plataforma podem preencher os detalhes para que a plataforma possa se adaptar a uma variedade de necessidades.
De volta ao Nervos CKB. A segunda vantagem técnica da cadeia pública CKB é a abstração de contas. A chamada abstração de contas refere-se à capacidade de generalizar a lógica de desbloqueio das contas (endereços) da cadeia de blocos.
Atualmente, a lógica de desbloqueio das principais blockchains é relativamente simples, direta e codificada no nível do protocolo. Por exemplo, para BTC e ETH, a chave pública é restaurada com base no corpo e na assinatura da transação e, em seguida, a chave pública é convertida em um endereço de acordo com as regras estabelecidas. Por fim, ele corresponde ao endereço a ser desbloqueado. Se eles forem consistentes, o desbloqueio será bem-sucedido; caso contrário, o desbloqueio falhará.
Esse tipo de lógica codificada não pode se adaptar a algumas situações mais amplas, como dados relacionados ao cliente incorporados à assinatura, ou mesmo se a assinatura não for específica da própria transação. Para facilitar a compreensão, vamos fazer uma analogia: a lógica de desbloqueio das principais cadeias de blocos é a mesma das fechaduras mecânicas, que só podem abrir a porta da conta de uma maneira.
O Nervos, que implementa recursos de abstração de contas no nível inferior, é equivalente a ter uma fechadura eletrônica. Sua lógica de desbloqueio pode ser por meio de senhas, impressões digitais, Bluetooth, NFC, etc. Por exemplo, podemos usar a criptografia do e-mail para desbloqueá-lo e, em seguida, executar o contrato de acordo com as instruções do e-mail. O exemplo mais simples é enviar o CKB diretamente para o endereço especificado (ou outra caixa postal) por meio do envio de um e-mail, e todo o processo não requer nenhuma etapa. Requer a participação de qualquer "carteira".
Esse é o benefício da abstração de contas.