Encryption (side quest)
click here to edit this workflow on eth.build
disclaimer: Todos esses blocos ja são conhecidos portando não vou reexplica-los, se quiser revisar veja o primeiro post da série.
O legal desse workflow é pra notar algo, o endereço gerado pelo KEY PAIR. Se você notar, o address são os 42 últimos caracteres da hash da public key.
Encrypt a message
click here to edit this workflow on eth.build
O bloco ENCRYPT é o bloco que consegue criptografar uma mensagem usando uma public key, ele recebe como parâmetro a public key e a message. Semelhante ao funcionamento da criptografia PGP.
Parâmetros usados:
Public Key: 0x5eed5fa3a67696c334762bb4823e585e2ee579aba3558d9955296d6c04541b426078dbd48d74af1fd0c72aa1a05147cf17be6b60bdbed6ba19b08ec28445b0ca
Message: hello word this is alice for alice
E devolve a mensagem criptografada: 0xabc62f77ba4447a16825e10764687a9902f5bc3c03dab4660dacc1ced1a311665b713113d0ad029e7f174d0c3439b11ebafaacaebbddc897c17f67c8ee3a3d4e8fe861cef74897931e7a09e253fb553a0e0032e55ce503e405b6089505e1529456e684b98150c7a48e7115897c4ceb572e174ead1f60b75a153ed832a5abdda3bc
Decrypt a message
click here to edit this workflow on eth.build
O bloco DECRYPT, como o próprio nome diz, faz o inverso do bloco ENCRYPT. Ele recebe como parâmetro a private key e encrypted (a mensagem criptografada no bloco ENCRYPT).
Private Key usada: 0x9c0257114eb9399a2985f8e75dad7600c5d89fe3824ffa99ec1c3eb8bf3b0501
Este bloco devolve como retorno a mensagem inicial descriptografada ("hello word this is alice for alice"
).
Full Encrypt/Decrypt Workflow
click here to edit this workflow on eth.build
Publish/Subscribe messages
click here to edit this workflow on eth.build
O bloco PUBLISH serve pra enviar uma determinada mensagem em uma rede, tipo um canal IRC (no caso a rede padrão é network.eth.build). E o bloco SUBSCRIBE é o bloco que recebe a mensagem. A cada envio no PUBLISH o SUBSCRIBE recebe automaticamente, de qualquer um que enviar uma mensagem.
Encrypt messages on the network
click here to edit this workflow on eth.build
Aqui podemos combinar os blocos ENCRYPT e PUBLISH para enviarmos uma mensagem criptografada na rede. E depois obtermos a mensagem criptografada com o SUBSCRIBE: 0xf0565fb9b8d0ce71b5886c71dfad9803020bd4e8329e66b63b93703283f6e6dbae5c181458a166966a5a70bedc96f3f3ad52261ab619ee312ff5979af11cc4f0eeb0c9af9baeb6b3dd66af72c97a371482066a5cd40e11bf24d4f469416b27831c03189b3e07b3c5a8044ca95392b1d5c9
Decrypt messages on the network
click here to edit this workflow on eth.build
Combinando o workflow anterior com o bloco DECRYPT conseguimos descriptografar a mensagem enviada na rede.
referências
Austin Griffith: https://www.youtube.com/playlist?list=PLJz1HruEnenCXH7KW7wBCEBnBLOVkiqIi