Loading

Module 1: Propriedades do Blockchain

Nota de Estudos
Study Reminders
Support
Text Version

Assinaturas Digitais

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, a outra coisa que é muito importante aqui são as assinaturas digitais porque você  
sempre quer saber em blockchain, quem está fazendo transação, a transação  
antes de ser gravado, um tem que verificar se ele realmente está sendo feito por alguém que  
afirma que ele está fazendo a transação. Então, portanto, todo mundo tem que ter um público  
chave principal e privada para fazer parte do ecossistema blockchain.  
Então eu tenho uma chave pública e eu tenho uma chave privada. Todo mundo sabe a minha chave pública se  
eles querem saber enquanto chave privada ou chave secreta é mantida comigo. Então se eu assinar um  
transação com a minha chave privada, como disse antes, as assinaturas digitais são basicamente algumas  
tipo de uma criptografia feita para provar que eu sei a chave privada. Então, qualquer um que possa  
abrir decifrá-lo com a minha chave pública sabe que sou eu quem fez isso.  
Então sempre que eu coloco uma assinatura, então as pessoas saberiam que eu fiz a transação  
e se eu era para eu fazer a transação, então essa é uma transação válida. Se eu não fosse  
supostamente para fazer a transação, é minha assinatura, então a transação será  
considerada inválida e não irá entrar no blockchain permanente. Então, como fazer o  
trabalho de assinaturas digitais?  
(Consulte O Tempo De Deslizamento: 1:15:42)  
Primeiro, você tem que ter uma função para gerar chaves. Então você diz que eu queria 256  
bit key. Assim, então você chama as funções correspondentes geram chaves. Ele vai dar um  
par de chave que é chave secreta ou chave privada e chave pública ou pk. Então, para assinar um  
documento, você leva uma mensagem ou um digerir de mensagem e, em seguida, criptografa-a com o seu  
chave privada.  
Para verificar se é a sua assinatura, tudo o que eu tenho que fazer é ter que verificar se com o seu  
chave pública, posso decifrar a mensagem. E então se eu puder fazer isso, então eu sei que isso  
assinatura é válida. Por isso, deve haver uma função isValid. Então, qualquer um que queira  
fazer o par de criar chave tem que usar esta função geram chaves. Qualquer pessoa que queira  
assinar tem que usar a chave secreta e usar a função de sinais.  
E qualquer pessoa que queira verificar se é de fato a assinatura válida tem que usar  
a função verificar.  
(Consulte O Tempo De Deslizamento: 1:16:48)  
Assim, somente assinaturas válidas, a assinatura digital deve ter a propriedade que somente o  
As assinaturas válidas verificarão aceitar outros falharão para verificar se estou dizendo que estou assinando  
mas estou usando a chave secreta de outra pessoa ’, então ela não deve verificar como minha assinatura.  
Então você não deve ser capaz de forjar a assinatura de alguém. Então, a menos que seja alguém que  
quer desafiar que é minha assinatura ou não pode usar minha chave pública para verificar isso.  
Mas ele não pode produzir minha assinatura, pois mantenho o segredo de chave privada, a não ser que seja  
curso que minha chave privada é roubada.  
(Consulte O Tempo De Deslizamento: 1:17:24)  
Então esta é muito importante parte da tecnologia blockchain que eu deveria ser capaz  
possuem uma assinatura digital verificável. E eu tenho que manter meu segredo de chave privada. E também  
Eu tenho que ser capaz de aplicar a assinatura em uma mensagem ou um digest de mensagem. Agora um  
coisa importante que devemos lembrar é que os algoritmos que usamos para todos  
criptografia como gerência de chaves e assim por diante, requer uma boa fonte de aleatoriedade.  
Agora sabemos que a criação de números aleatórios é muito difícil. E muitas vezes  
a função que produz números aleatórios acaba por não ser muito aleatória. E isso  
tem sido uma fonte de problema em muitas técnicas criptográficas. E as pessoas têm  
foi capaz de decifrar chaves usando o fato de que a aleatoriedade que você pensou foi  
aleatório, não foi muito aleatório, e eles poderiam saber, eles poderiam reconstruí-o.  
Por isso, é muito importante ter uma boa fonte de aleatoriedade. Sem isso o   todo  
A construção da assinatura digital de criptografias falhará. Também quando você assina, você pode  
assinale uma mensagem, ou você pode assinar a digestão da mensagem. Porque digerir do  
mensagem é sempre menor do que a mensagem. Assim, isso torna sua assinatura mais rápida.  
E você também pode assinar um ponteiro de hash. Então, não só você mantém um ponteiro de hash, você  
realmente então assinale o ponteiro hash e que irá cobrir toda a estrutura. So hash  
apontado cobre apenas a parte da estrutura. Mas se você assinar o ponteiro hash, ele cobre  
a estrutura inteira.  
(Consulte O Tempo De Deslizamento: 1:19:14)  
Agora o blockchain bitcoin, quando a assinatura digital bitcoin é muito crucial. Então se você usa  
bitcoin, então ele usa o ECDSA que é o Eliptic Curve Digital Signature Algoritmo,  
que nós não falamos. É uma criptografia de curva elíptica é considerada mais  
segura, e também o que chamamos de resistente quântico, que é se os computadores quânticos vêm  
em existência amanhã, então RSA por exemplo, não será mais seguro.  
Porque o RSA usa a factorização de grande número inteiro como seu problema duro em que o  
toda a construção é baseada. Agora sabe-se que se houver Computação Quântica  
então a factorização de grandes números inteiros será fácil. Portanto, o RSA por si só não será  
prova muito quântica ou segurança quântica. Considerando que a ECD a criptografia de curva elíptica,  
ECC é considerado como seguro quântico.  
E, portanto, nesse sentido, o Bitcoin fez uma boa escolha, tornando o ECDSA como seu  
padrão de assinatura para assinatura digital em blockchain bitcoin. Agora este ECDSA não é  
tão simples quanto o RSA onde eu estava descrevendo que ele requer que você conheça números primas,  
requer que você conheça um pouco sobre a aritmética modular. E isso requer que você  
conheça um pouco sobre inverso, inverso multiplicativo em um grupo.  
E isso é basicamente a matemática que você exige para entender como o RSA funciona.  
Considerando que em caso de curva elíptica, criptografia de curva, você precisa conhecer muito mais  
Matemática porque você vai fazer aritmética sobre os pontos em uma curva elíptica.  
E que você pode aprender se está interessado em muitas fontes. Um dos tais  
fonte está aqui. E a boa aleatoriedade é uma parte muito importante.  
E há toda uma área de pesquisa sobre pseudo aleatoriedade e número aleatório  
geração e assim por diante. Mas a maioria das vezes nós contamos com a aleatoriedade  
geração que vem com o sistema que compramos, mas se você está sendo muito  
seguro, então você tem que se preocupar com esta fonte de aleatoriedade que é usada para  
geram chaves e assim por diante.  
(Consulte O Tempo De Deslizamento: 1:21:42)  
Então agora a coisa final que é, nós vamos discutir hoje é chave pública também pode ser usada  
como identidade e isso é o que é feito em ethereum bitcoin e este tipo de blockchains  
o que chamamos de blockchains públicos ou cadeias de blocos livres de permissão onde você como  
pessoa, não importa quem você é. Desde que você tenha uma chave pública, você pode  
tornar-se um player no ecossistema de blockchain.  
Você pode tentar fazer mineração, você pode fazer transações, todas essas coisas e ninguém  
saiba quem você é. E isso é basicamente o que é feito é que você tem que apenas contar isso  
é a minha chave pública. E, então, a qualquer hora que você quiser me enviar uma mensagem, você basicamente usa  
esta chave pública e saber que vai ajudar os outros a verificar a sua assinatura.  
Então, quando você assina uma transação, dizendo que eu estou fazendo essa transação, desde você  
anunciaram a sua chave pública como sua identidade, então eles podem usar isso para verificar se ela  
é de fato sua assinatura. Por isso, o tipo de chave pública de fala por você e ninguém mais  
pode falar por você ou ninguém mais pode assinar por você mesmo se a sua chave pública for conhecida  
porque como discutimos antes, a chave pública não é suficiente para fazer assinatura.  
Signature requer a chave privada correspondente que você deve guardar para si mesmo.  
Então, para fazer uma nova identidade no blockchain, o que você faz é criar um novo aleatório  
par de chaves.  
(Consulte O Tempo De Deslizamento: 1:23:09)  
Sabemos como fazer isso com a função de criar chave e pk torna-se seu público  
nome e sk são mantidos como sua identidade oculta ou chave para a sua identidade. Então, se você quiser  
prove sua identidade que você tem que usar sk para assinar. Agora se pk parecer aleatório, ninguém precisa  
para saber quem você é. Portanto, portanto, um dos grandes problemas no blockchain é que eu como  
uma pessoa pode criar centenas de identidades diferentes.  
Eu posso criar como número tantos como pares de chaves, e posso usar isso para criar vários  
identidades e fazer várias coisas em sob as várias identidades. E, portanto, pessoas  
não seria capaz de saber que eu sou a pessoa que está fazendo tudo isso.  
(Consulte O Tempo De Deslizamento: 1:23:58)  
Então, é isso que o problema é que qualquer pessoa pode fazer qualquer nova identidade a qualquer momento  
e fazer o máximo que eles quiserem. E não há um ponto central de coordenação. E  
que foi por design, pois o anonimato dos usuários foi importante para o originador de  
o blockchain do bitcoin. E essas identidades também são chamadas de endereços em bitcoin.  
Porque qualquer pessoa que envia dinheiro para mim, ele envia para a minha chave pública e que é  
por que ele é chamado de endereço.  
(Consulte O Tempo De Deslizamento: 1:24:31)  
E ele não está conectado à minha identidade mundial real. Ninguém está checando. Não há  
outra vinculação ou qualquer coisa. Portanto, portanto, você não pode descobrir nunca quem eu sou. No entanto,  
pode haver algum trabalho investigativo que as pessoas possam fazer. E se você não for inteligente  
basta, então, vinculando juntos os vários endereços que você está operando, o que  
atividade que você está fazendo, e está transferindo dinheiro de volta para uma determinada identidade  
e assim por diante, eles podem de alguma forma inferir certas coisas.  
E então uma vez que eles conhecem um da identidade, um da chave pública ’ s identidade, real  
identidade mundial, depois todos os outros que também são criados por você e de alguma forma eles  
estabelecer o link entre tudo isso, eles podem fazer inferência. Então, nesse sentido, bitcoin  
blockchain não é totalmente anônimo. Ele é chamado de pseudo anônimo.  
As pessoas mostraram, pesquisadores mostraram que você pode realmente fazer vários tipos de  
algoritmos de mineração de dados para ver qual dos endereços provavelmente estão sendo mantidos  
e operado pela mesma entidade e coisas do tipo. Mas mesmo assim, descobrindo o  
identidade real exigirá trabalho investigativo externo que informações não podem ser encontradas  
no próprio blockchain.  
(Consulte O Tempo De Deslizamento: 1:25:53)  
Então resumo da palestra 2 é que cobrimos conceitos muito básicos de criptografia que  
estão usando blockchain. Falamos sobre funções hash seguras, a resistência de colisão,  
ocultar propriedade e quebra-cabeça. E esta simpatia de quebra-cabeça vai voltar  
quando discutimos os princípios operacionais básicos do blockchain do bitcoin. Falamos sobre  
SHA-256 e pouco a pouco sobre sua construção.  
Assinaturas digitais, como as chaves privadas usam para fazer uma assinatura digital e as chaves públicas usadas  
para verificá-lo. E isso é necessário para autenticação e não repúdio. Nós conversamos  
sobre ponteiros de hash, o que eles são e como eles são usados para ligar blocos e Merkle  
árvore como uma estrutura de dados, que é usada para eficiente, localizando eficiente localização de dados  
itens. E, finalmente, a chave pública como uma identidade.  
Então, em vez de ter um nome de usuário e senha sua chave pública torna-se sua identidade.  
(Consulte O Tempo De Deslizamento: 1:27:02)  
O aprendizado feito até agora no curso é de que não discutiremos mais nenhuma criptografia.  
Você pode aprender por conta própria mais sobre o RSA, como ele funciona. Também olhar para o Diffie- 
Hellman cryptosystem, que é outro criptosistema de chave pública baseado em discreto  
problema de logaritmo outro problema difícil. Mas não entraremos na profundidade de  
criptografia porque isso exigirá um curso inteiro e eu tenho certeza que há um monte de  
cursos sobre criptografia.  
Se você está interessado em saber mais sobre essas funções hash recentes, que estão sendo  
usados em várias consultas de blockchain SHA-256 512, e SHA3, que é o mais recente,  
Norma NIST. Olhe para cima as histórias de colisão como como as colisões foram encontradas em  
MD5 e SHA-1. E olhe para cima um pouco mais sobre criptosistema de curva elíptica.  
Porque isso é, você sabe que o ECDSA é o esquema de assinatura que está sendo usado em  
bitcoin.  
Então aprendemos como conceituar a ideia de hash de ponteiros de hash. E como você irá  
veja os ponteiros de hash você precisa do hash, mas nem sempre um ponteiro. Na verdade, o ponteiro  
é conceitual. Vimos como construir estruturas de árvores com ponteiros de hash como dados Merkle  
estrutura e consultar mais sobre KSI, Keyless Signature Infrastructure da Estônia e  
como eles usam a árvore Merkle. Essa é uma lição muito instrutiva.  
Você busca no KSI Estônia, você vai encontrar muitas informações. Eu acho que é uma muito  
aplicativo interessante que você deve saber sobre o ponteiro hash, Merkle tree etc.  
(Consulte O Tempo De Deslizamento: 1:28:48)  
Então, na próxima palestra veremos como criar um blockchain simples por conta própria e  
algum exercício referente a isso. E esse foi esse exemplo simples de blockchain foi  
criado pelo meu colega, Pramod Subramanyan. Assim, veremos que na próxima classe.  
Obrigado.