Byte Jun vai primeiro apresentar a todos o que é criptografia. em suma,Criptografia é a ciência que estuda como criptografar e como descriptografar.。
A encriptação e a desencriptação existem desde a antiguidade, como a famosa "cifra de César". César é o fundador do Império Romano. É considerado por alguns historiadores como o imperador não coroado do Império Romano e é conhecido como "César, o Grande". De facto, o próprio César gostava muito de escrever textos secretos.
Durante a guerra na Gália (atual sul de França), César não só derrotou os seus inimigos, como também estabeleceu uma extensa e profunda rede de informações. Nos registos da Guerra das Gálias, é mencionado como o seu amigo, o general romano Cícero, recebia mensagens em texto cifrado quando estava cercado. César utilizou a forma de texto cifrado para evitar que "quando a mensagem for interceptada pelo inimigo, as nossas contramedidas não sejam descobertas pelo inimigo".
Este texto cifrado clássico é "VIMRJSVGIQIRXW SRXLI AEC", que é cifrado através de uma deslocação de quatro bits, como a letra inicial R+4=V. Depois de decifrar o texto cifrado, o texto simples obtido é "REINFORCEMENTS ON THE WAY", que significa "os reforços estão a caminho".
Assim, a cifra de César encripta as letras movendo as letras do texto simples para trás de acordo com um número fixo.
Com o desenvolvimento dos tempos, a encriptação e a desencriptação evoluíram gradualmente para uma ciência - a criptografia. Antes do surgimento da blockchain, a criptografia tinha muitas aplicações na Internet, como o mais famoso algoritmo de encriptação assimétrica RSA. Aqui, a Byte Jun começa por apresentar a todos o que é a encriptação simétrica e o que é a encriptação assimétrica.
A encriptação simétrica significa que é utilizada a mesma chave para a encriptação e a desencriptação. Para fazer uma analogia que ajude todos a compreender, comparamos a encriptação ao bloqueio e a desencriptação ao desbloqueio. A encriptação simétrica significa que é utilizada a mesma chave para bloquear e desbloquear. Por conseguinte, a desvantagem é que ambas as partes na transação utilizam a mesma chave, pelo que a segurança não pode ser garantida.
A encriptação 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 encriptação RSA é um algoritmo de encriptação assimétrico. Muitos protocolos da Internet utilizavam o RSA anteriormente e, atualmente, o RSA é também o algoritmo de encriptação assimétrica mais utilizado e mais compatível em vários navegadores e protocolos de correio eletrónico.
Por exemplo, o SubtleCrypto, um algoritmo quase presente nos navegadores, pode até ser utilizado em ambientes de programas pequenos; e o algoritmo WebAuthn, que se tornou uma norma recomendada pelo W3C em 2019, torna a criptografia do navegador tão poderosa como uma carteira de hardware, e a sua utilização é muito conveniente (pode ser desbloqueada por impressão digital, digitalização facial, etc.).
Voltando à cadeia de blocos, se estas infra-estruturas criptográficas da Internet puderem ser utilizadas diretamente, em vez de exigir que os utilizadores descarreguem plug-ins e aplicações para carteiras e sigam o processo de armazenamento de frases mnemónicas, o limiar de utilização das dApps pode ser significativamente reduzido.
No entanto, a criptografia das principais cadeias de blocos é geralmente codificada no nível inferior, por exemplo:
Os algoritmos de assinatura destas cadeias de blocos são incompatíveis com os sistemas de criptografia utilizados na Internet convencional e não podem ser utilizados diretamente. Só pode confiar nas instalações reinstaladas.
A diferença entre a cadeia pública do Nervos CKB é que pode utilizar criptografia personalizada e a criptografia não está codificada na base, o que significa que, quando desenvolve aplicações no Nervos, pode utilizar o sistema de criptografia utilizado pela Internet convencional ou mesmo chamar diretamente a infraestrutura da Internet existente.
Especificamente, a máquina virtual Nervos CKB pode implementar a criptografia diretamente na camada de aplicação (contrato inteligente), de modo a podermos implementar os algoritmos de encriptação assimétrica RSA, SHA-256, etc., acima mencionados. Isto estabelece a base para a utilização da infraestrutura existente. No entanto, só isso não é suficiente. A Nervos também precisa das seguintes capacidades -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 de prestar atenção à primeira: a chamada abstração é um processo. Removemos a particularidade de um sistema e depois criamos generalidade e universalidade a partir do sistema. Trata-se de um processo de generalização. Ao eliminar concepções especiais e encontrar pontos comuns, o sistema pode tornar-se mais geral e aplicável a mais cenários.
Esta explicação pode ainda ser muito abstrata, mas as palavras-chave que todos precisam de recordar sãoRemover a "particularidade", remover a "particularidade" do sistema, encontrar mais pontos comuns no sistema, colocar pontos comuns na conceção e criar "generalidade"。
Vamos explicar-lhe com um exemplo não tão blockchain. Pode ter jogado nas grandes máquinas de jogos no salão de jogos. Se compreender este tipo de máquina, saberá que cada máquina corresponde a um jogo. Para as máquinas de arcada, a conceção do sistema é uma conceção integrada do software ao hardware. Todos os desenhos servem um objetivo, que é este jogo. Quando precisamos de criar outro jogo novo, tenho de conceber outra máquina nova, por isso há dez ou vinte máquinas na sala de jogos, cada uma com um jogo diferente.
À medida que a indústria dos jogos se desenvolveu até aos dias de hoje, o mais popular já não são as máquinas de arcada, mas sim as plataformas de jogos mais gerais, como a XBox. A XBox é uma conceção geral. Pode conceber uma variedade de jogos para a XBox e depois só pode comprar jogos diferentes para correr neste sistema.
Por conseguinte, da arcada à XBOX é um processo de generalização. De outra perspetiva, a XBox é uma conceção com um nível de abstração mais elevado e pode ser aplicada a mais cenários. Há muito poucas, quase nenhumas, coisas especiais construídas para cada jogo específico. É precisamente porque não tem esses pormenores especiais que os programadores desta plataforma podem preencher os detalhes para que a plataforma se possa adaptar a uma variedade de necessidades.
Regresse 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 cadeias de blocos é relativamente simples, direta e codificada ao nível do protocolo. Por exemplo, para o BTC e o ETH, a chave pública é restaurada com base no corpo e na assinatura da transação e, em seguida, a chave pública é convertida num endereço de acordo com as regras estabelecidas. Por fim, faz corresponder o endereço a desbloquear. Se forem coerentes, o desbloqueio é bem sucedido; caso contrário, o desbloqueio falha.
Este tipo de lógica rígida não se pode adaptar a algumas situações mais amplas, tais como dados relacionados com o cliente incorporados na assinatura, ou mesmo a assinatura não é específica da própria transação. Para facilitar a compreensão, façamos uma analogia: a lógica de desbloqueio das principais cadeias de blocos é a mesma que a das fechaduras mecânicas, que só podem abrir a porta da conta num sentido.
O Nervos, que implementa capacidades de abstração de contas ao nível inferior, é equivalente a ter uma fechadura eletrónica. A sua lógica de desbloqueio pode ser feita através de palavras-passe, impressões digitais, Bluetooth, NFC, etc. Por exemplo, podemos utilizar a criptografia do e-mail para o desbloquear 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 para outra caixa de correio) através do envio de uma mensagem de correio eletrónico, e todo o processo não requer quaisquer passos. Requer a participação de qualquer "carteira".
Esta é a vantagem da abstração da conta.
Byte Jun vai primeiro apresentar a todos o que é criptografia. em suma,Criptografia é a ciência que estuda como criptografar e como descriptografar.。
A encriptação e a desencriptação existem desde a antiguidade, como a famosa "cifra de César". César é o fundador do Império Romano. É considerado por alguns historiadores como o imperador não coroado do Império Romano e é conhecido como "César, o Grande". De facto, o próprio César gostava muito de escrever textos secretos.
Durante a guerra na Gália (atual sul de França), César não só derrotou os seus inimigos, como também estabeleceu uma extensa e profunda rede de informações. Nos registos da Guerra das Gálias, é mencionado como o seu amigo, o general romano Cícero, recebia mensagens em texto cifrado quando estava cercado. César utilizou a forma de texto cifrado para evitar que "quando a mensagem for interceptada pelo inimigo, as nossas contramedidas não sejam descobertas pelo inimigo".
Este texto cifrado clássico é "VIMRJSVGIQIRXW SRXLI AEC", que é cifrado através de uma deslocação de quatro bits, como a letra inicial R+4=V. Depois de decifrar o texto cifrado, o texto simples obtido é "REINFORCEMENTS ON THE WAY", que significa "os reforços estão a caminho".
Assim, a cifra de César encripta as letras movendo as letras do texto simples para trás de acordo com um número fixo.
Com o desenvolvimento dos tempos, a encriptação e a desencriptação evoluíram gradualmente para uma ciência - a criptografia. Antes do surgimento da blockchain, a criptografia tinha muitas aplicações na Internet, como o mais famoso algoritmo de encriptação assimétrica RSA. Aqui, a Byte Jun começa por apresentar a todos o que é a encriptação simétrica e o que é a encriptação assimétrica.
A encriptação simétrica significa que é utilizada a mesma chave para a encriptação e a desencriptação. Para fazer uma analogia que ajude todos a compreender, comparamos a encriptação ao bloqueio e a desencriptação ao desbloqueio. A encriptação simétrica significa que é utilizada a mesma chave para bloquear e desbloquear. Por conseguinte, a desvantagem é que ambas as partes na transação utilizam a mesma chave, pelo que a segurança não pode ser garantida.
A encriptação 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 encriptação RSA é um algoritmo de encriptação assimétrico. Muitos protocolos da Internet utilizavam o RSA anteriormente e, atualmente, o RSA é também o algoritmo de encriptação assimétrica mais utilizado e mais compatível em vários navegadores e protocolos de correio eletrónico.
Por exemplo, o SubtleCrypto, um algoritmo quase presente nos navegadores, pode até ser utilizado em ambientes de programas pequenos; e o algoritmo WebAuthn, que se tornou uma norma recomendada pelo W3C em 2019, torna a criptografia do navegador tão poderosa como uma carteira de hardware, e a sua utilização é muito conveniente (pode ser desbloqueada por impressão digital, digitalização facial, etc.).
Voltando à cadeia de blocos, se estas infra-estruturas criptográficas da Internet puderem ser utilizadas diretamente, em vez de exigir que os utilizadores descarreguem plug-ins e aplicações para carteiras e sigam o processo de armazenamento de frases mnemónicas, o limiar de utilização das dApps pode ser significativamente reduzido.
No entanto, a criptografia das principais cadeias de blocos é geralmente codificada no nível inferior, por exemplo:
Os algoritmos de assinatura destas cadeias de blocos são incompatíveis com os sistemas de criptografia utilizados na Internet convencional e não podem ser utilizados diretamente. Só pode confiar nas instalações reinstaladas.
A diferença entre a cadeia pública do Nervos CKB é que pode utilizar criptografia personalizada e a criptografia não está codificada na base, o que significa que, quando desenvolve aplicações no Nervos, pode utilizar o sistema de criptografia utilizado pela Internet convencional ou mesmo chamar diretamente a infraestrutura da Internet existente.
Especificamente, a máquina virtual Nervos CKB pode implementar a criptografia diretamente na camada de aplicação (contrato inteligente), de modo a podermos implementar os algoritmos de encriptação assimétrica RSA, SHA-256, etc., acima mencionados. Isto estabelece a base para a utilização da infraestrutura existente. No entanto, só isso não é suficiente. A Nervos também precisa das seguintes capacidades -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 de prestar atenção à primeira: a chamada abstração é um processo. Removemos a particularidade de um sistema e depois criamos generalidade e universalidade a partir do sistema. Trata-se de um processo de generalização. Ao eliminar concepções especiais e encontrar pontos comuns, o sistema pode tornar-se mais geral e aplicável a mais cenários.
Esta explicação pode ainda ser muito abstrata, mas as palavras-chave que todos precisam de recordar sãoRemover a "particularidade", remover a "particularidade" do sistema, encontrar mais pontos comuns no sistema, colocar pontos comuns na conceção e criar "generalidade"。
Vamos explicar-lhe com um exemplo não tão blockchain. Pode ter jogado nas grandes máquinas de jogos no salão de jogos. Se compreender este tipo de máquina, saberá que cada máquina corresponde a um jogo. Para as máquinas de arcada, a conceção do sistema é uma conceção integrada do software ao hardware. Todos os desenhos servem um objetivo, que é este jogo. Quando precisamos de criar outro jogo novo, tenho de conceber outra máquina nova, por isso há dez ou vinte máquinas na sala de jogos, cada uma com um jogo diferente.
À medida que a indústria dos jogos se desenvolveu até aos dias de hoje, o mais popular já não são as máquinas de arcada, mas sim as plataformas de jogos mais gerais, como a XBox. A XBox é uma conceção geral. Pode conceber uma variedade de jogos para a XBox e depois só pode comprar jogos diferentes para correr neste sistema.
Por conseguinte, da arcada à XBOX é um processo de generalização. De outra perspetiva, a XBox é uma conceção com um nível de abstração mais elevado e pode ser aplicada a mais cenários. Há muito poucas, quase nenhumas, coisas especiais construídas para cada jogo específico. É precisamente porque não tem esses pormenores especiais que os programadores desta plataforma podem preencher os detalhes para que a plataforma se possa adaptar a uma variedade de necessidades.
Regresse 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 cadeias de blocos é relativamente simples, direta e codificada ao nível do protocolo. Por exemplo, para o BTC e o ETH, a chave pública é restaurada com base no corpo e na assinatura da transação e, em seguida, a chave pública é convertida num endereço de acordo com as regras estabelecidas. Por fim, faz corresponder o endereço a desbloquear. Se forem coerentes, o desbloqueio é bem sucedido; caso contrário, o desbloqueio falha.
Este tipo de lógica rígida não se pode adaptar a algumas situações mais amplas, tais como dados relacionados com o cliente incorporados na assinatura, ou mesmo a assinatura não é específica da própria transação. Para facilitar a compreensão, façamos uma analogia: a lógica de desbloqueio das principais cadeias de blocos é a mesma que a das fechaduras mecânicas, que só podem abrir a porta da conta num sentido.
O Nervos, que implementa capacidades de abstração de contas ao nível inferior, é equivalente a ter uma fechadura eletrónica. A sua lógica de desbloqueio pode ser feita através de palavras-passe, impressões digitais, Bluetooth, NFC, etc. Por exemplo, podemos utilizar a criptografia do e-mail para o desbloquear 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 para outra caixa de correio) através do envio de uma mensagem de correio eletrónico, e todo o processo não requer quaisquer passos. Requer a participação de qualquer "carteira".
Esta é a vantagem da abstração da conta.