Loading

Module 1: Propriedades do Blockchain

Nota de Estudos
Study Reminders
Support
Text Version

Como Funcionam Os Códigos De Validação

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Então uma questão é que falamos sobre repudiamento muito nas palestras anteriores. Por isso, digamos no  
transação descobriu que Carol deu a Dan 100 moedas. Agora, Carol volta e diz, eu nunca  
pagou a Dan esse dinheiro. Então, mas por que está em sua transação, ela está afetando meu saldo no  
tabela de equilíbrio. E por isso repito ainda não concordava que eu fiz essa transação.  
(Consulte O Tempo De Deslizamento: 36 :42)  
O que você faz no caso do banco de hoje? Esse banco volta para você e diz que olha, aqui  
é o cheque que você assinou? Esta é a sua assinatura, verificamos a sua assinatura e, portanto, você  
não pode repetir aqui em caso de um internet banking. O que você faz é que você diz, olha, Carol, esta  
foi feito a partir de sua conta, você usa a assinatura, você usa o nome de usuário, senha e OTP  
e, portanto, você está certo? Então é assim que os bancos lidam com casos de repúdio.  
Mas em caso de blockchain como eu disse que blockchain é que não há autoridade central. Assim você não pode  
basta ir e reclamar para 10.000 pessoas que são todas parte do blockchain, estão todas checando  
validade das transações, todos eles estão tentando fazer blocos de transações e esperando que seus  
bloco faz com que ele seja para o blockchain. Então, não há ninguém em particular para ouvir a sua reputação. Então,  
portanto, este sistema deve ser não repetível. Assim, qualquer transação que tenha sido validada  
deve ser não repudiar.  
(Consulte O Tempo De Deslizamento: 37 :46)  
E é aqui que as assinaturas digitais vêm a calhar. É quando Alice diz que eu estou pagando  
moedas de Dan 100, Alice deve assiná-lo com sua chave privada, e então a chave pública de Alice deve ser  
disponível para todo mundo. Por isso, qualquer pessoa que queira verificar a validade da transação,  
agora, não só eles verificam a quantidade da transação sendo menor do que o saldo Alice tem, isso  
é uma parte da validação. Mas a segunda parte da validação seria que eles usam o   Alice's  
chave pública para verificá-la é realmente a assinatura de Alice.  
Se for a assinatura de Alice, então somente eles declararam que a transação é válida. Portanto, que  
transação uma vez que ela está lá, torna-se não repetível porque sem a chave privada de Alice ninguém  
poderia ter assinado para Alice. Portanto, portanto, a verificação da assinatura tem que ser feita. Agora se o  
A assinatura de chase não confere, por isso eles conhecem a chave pública de Alice e eles verificam e o  
transação está dizendo que, é Alice está pagando Bob, mas é assinada por outra pessoa, então nós fizemos  
não ter nenhum motivo para validar essa transação.  
Então, portanto, ninguém deve ser capaz de forjar assinatura sem a chave privada de Alice. Que é o  
assunção agora se a chave privada de Alice é roubada, então essa é uma história diferente. Mas assumimos  
que a chave privada de Alice é a responsabilidade de Alice. E também, se Alice disse que eu quero pagar 100.  
Mas alguém no intercepto do meio, veja esta mensagem está indo para a transmissão para o inteiro  
blockchain. É assim que o blockchain funciona. Tudo é enviado para todo mundo.  
Então, se Alice paga Dan, digamos, alguém muda isso para dizer que Alice paga a Dan 200 moedas, Alice  
disseram 100 moedas e cada um assinale a transação, lembre-se e como eles assinam a transação, eles  
basicamente pegar a mensagem de transação e depois aplicar a chave privada e depois eles criptografá-la.  
E essa criptografia é basicamente com a chave privada de Alice. Então com a chave privada, alguém  
deve ser capaz de abri-lo e, em seguida, eles obterão a mensagem de volta.  
Assim, portanto, se a mensagem é forjada por alguém, eles têm que forjar também a assinatura de Alice.  
Caso contrário, se a mensagem for alterada para mensagem prime quando alguém criptografá-la com alguns  
outra chave privada, então isso não será capaz de verificar com a chave pública de Alice direito. Então, o  
quando você tentar descriptografá-lo, ele vai sair como lixo. Portanto, portanto, se a mensagem de transação  
vem por meio da assinatura de Alice.  
E eu sou capaz de descriptografá-lo com a chave pública de Alice que significa que Alice deve ter não apenas  
feito essa transação, sua quantia de transação ou qualquer informação que ela tenha colocado na mensagem é  
também não adulterá-lo assim, que basicamente nos dá a não apenas autenticidade, também a integridade de  
a transação.  
(Consulte O Tempo De Deslizamento: 40 :51)  
Então, portanto, agora, no ledger, temos que não apenas armazenar a mensagem de transações ou o  
informações como quem ganha o quanto temos que também colocar a assinatura digital que veio com ela.  
Então, mais adiante se eu quiser novamente validar todas as transações, eu deveria ser capaz de validá-lo usando  
a chave pública da pessoa que colocou a transação no remetente e, em seguida, usa-se que para verificar isso  
o montante da transação e o de quem está dizendo que a transação é de são genuínos. Então, nós  
têm que adicionar também a assinatura digital como parte das informações da transação.  
(Consulte O Tempo De Deslizamento: 41:30)  
Então, agora temos a validade da transação redefinida ou estendida a definição. Portanto, não apenas o  
saldo do remetente deve ser maior do que a quantidade. Também assinatura de transação, validação  
sucede. Por isso, a chave pública do remetente deve ser usada para validar a assinatura e ela deve  
sucesso.  
(Consulte O Tempo De Deslizamento: 41:52)  
Então agora como fazemos as assinaturas de forma programática? Portanto, há este tipo de chave pública RSA  
Então, RSA falamos sobre o Rivest, Shamir, Adleman. Então, aqui estamos assumindo que somos  
indo usar a criptografia de chave pública RSA, e como uma chave pública é representada está realmente lá  
são múltiplas formas diferentes de representar uma chave pública. Lembre-se que dissemos que no RSA como um  
lado a lado, na anterior alguma palestra anterior.  
Nós dissemos que tiramos 2 números muito grandes números primos p e q, nós computamos n = p times q  
e nós computamos phi n = p – 1 vezes q-1. Em seguida, escolhemos um número e depois escolhemos um  
número e que é mute, que era GCD, que phi n é 1 e então escolhemos d qual é um  
inverso multiplicativo de e módulo do phi n e depois publicamos e, n é chave pública e mantemos d  
e n é chave privada.  
Então, neste caso, a chave pública é representada pelo, isto é chamado de expoente e este é o  
número. Então, este é e e n tem que ser representado e como você representa que você realmente faz  
às vezes você faz estes são números inteiros muito grandes. Então, se você irá representá-los em binário e depois  
convertê-los em hex ou você pode retorná-los para binário e então você pode fazer uma codificação base 64.  
Então, baseado em que há muitos esquemas de codificação, vários esquemas de codificação.  
Então, aqui estamos falando sobre a, nossa codificação, que é uma das codificadores padrão do  
chave. Assim, os dados da chave pública lerão essas informações e, em seguida, o tamanho da chave pública  
então as informações de tamanho. Agora, então você tem essa chave pública tem uma função de verificação e verificar  
função basicamente é sucesso quando a assinatura, verifica com essa chave pública. Assim a chave pública  
informações estão aqui, as informações da assinatura estão aqui, você envia para a função verificar. E se ele  
é sucesso, então dizemos que nós verificamos que a assinatura é genuína.  
(Consulte O Tempo De Deslizamento: 44 :33)  
Então, é assim que a assinatura vai ser representada. Agora, a questão é, onde você fica  
a chave pública? Então, você sabe, em ssh, se você tiver usado ssh, então há uma função Gen chave que  
permite que você crie chave privada e chave pública, portanto, quando você usa uma função Gen de chave, que você  
pode criar a sua própria chave privada e chave pública, então você pode manter a chave privada guardada por  
algumas passcode. De modo que ninguém mais que realmente quem acessa o seu computador não pode facilmente ler  
a menos que eles conheçam o seu código de passcode a chave pública.  
Você tem que publicar ou tem que fazer upload para nos deixar dizer, github ou algo assim. Então, então o assim é  
como realmente geramos as chaves. Mas esse não é o ponto que estamos discutindo aqui geração de  
a chave não é difícil. O que estamos discutindo aqui é o que discutimos em um anterior nós também  
é, o que é, como você diz a outras pessoas qual é a sua chave pública? Agora, em nossa configuração, para  
exemplo, neste exemplo específico, podemos dizer ao banco, nossa chave pública e o banco pode armazenar  
eles.  
Mas a questão é que, se isso acontecer, então o banco pode usá-los mal, especialmente se o banco tiver o  
chave privada também, como se o banco nos desse uma chave pública e chave privada, então o banco gerou o  
chave privada também e, portanto, o banco conhecerá a chave privada para chave pública, portanto, então banco  
podem realmente forjar transações de mensagens em nosso nome, o que não é bom. Então, similarmente, se eu tiver  
um blockchain que não é mantido por um banco.  
Mas mantida por deixa-nos dizer uma multidão inteira como de 10.000 pessoas que estão todas participando do  
blockchain, então e eu gero meu par de chave pública privada, então posso anunciar que este é o meu  
chave pública. Agora, o problema com isso é que o que se alguém mais anunciar uma chave pública como  
minha. Então, esse problema ainda está lá.  
(Consulte O Tempo De Deslizamento: 46 :40)  
Então, no nosso caso, no nosso caso de blockchain controlado único, como resolvemos aqui neste exemplo, é  
que em vez de banco nos dar o número da conta veja agora, quando você abre uma conta em um banco conta  
você este é o número da sua conta. Neste sistema, o que supomos é que eu gero a minha chave pública  
par de chave privada, mantenha a chave privada e hash a chave pública direito e envie banco o hash e  
dizem que esta é a minha chave pública, este é o meu fazer este meu número de conta.  
Então, o cliente agora está escolhendo seu número de conta os bancos podem ou não gostar disso, mas neste  
caso que, já que este é um banco constituído, assumimos que o banco está bem com isso. Então, banco fica  
o número da conta para mim. E quando eu assino transações com o público com a chave privada,  
então o meu número de conta pode ser vir à mão em muito validar que a minha assinatura é genuína.