Meetup #08 - ZKP & Starlight
ERC55 Meetups · 22 Apr 2024 · 2:00:51
A Portuguese-language meetup talk introduces zero-knowledge proofs, then shows how the open-source Starlight tool turns a Solidity-like contract with secret annotations into a complete private application. The speaker covers prover and verifier roles, non-interactive circuits, Merkle trees and commitments, with examples such as proving a balance threshold to an investment firm without sharing the data, which he argues avoids Brazil's data protection law. He then lists the generated circuits, verifier contracts and microservices, and describes how the Drex pilot tests an application built from it. The live demo is not completed because his node was not ready.
Speakers
Topics
From ERC55 Meetups, hosted by ERC55.
Transcript
fala gente fala acho que só é je para não dar o eco Pronto boa gente então só fazendo apresentação aqui rapidinho pra gente começar eh RC 55 para quem tá chegando aí a primeira vez é um grupo de encontros técnicos mensal por enquanto a gente tá com encontros mensais eh a intenção desse grupo é ter encontros voltados pro público de desenvolvedor mas não somente de tópicos que estão aí na Vanguarda de blockchain web3 que que toca esses temas
eh inclusive o Jeff hoje mais uma vez já a segunda vez que ele vem aqui no nesse menos de um ano do grupo Muito obrigado Jeff e o Jeff ele na verdade ele é protagonista nisso aqui que RC 55 tenta trazer que na verdade ele eu lembro de 2018 aqui no Brasil Jeff tocou praticamente sozinho ele tinha a Juju tinha o Fábio também presente mas assim o Jeff era protagonista em trazer eu lembro de atualização do solidity que teve ele fez uma toque na época era o solidity sei lá seis quando né o o 06 o Jeff troue então é muito o motivo desse grupo é muito esse assim da gente trocar conhecimento aqui um uma intuição uma
intenção até mais colaborativa do que competitiva aqui entre a comunidade técnica aqui do Brasil né seja Startup banco enfim desenvolvedora eh freelancing e o projeto então ele ele é aqui é um grupo né independente eu tô falando aqui pelo projeto hoje mas ele tem outros organizadores o siof acho que Fati tá por aí Tiaguinho e a intenção é que seja assim é que seja descentralizado né Sem eh sem usar essa palavra de uma forma ruim mas é que não seja que uma empresa seja a gente acha acho que esse a forma
Independente de de trazer o conteúdo da discussão é importante para que não tenha um viés né E ela como eu comentei ela é focado primeiramente em desenvolvedores Mas a gente não exclui outras pessoas não sei se tem outras pessoas que não são deves aqui hoje o Jeff eu acho que ele faz muito bem esse trabalho da Educação de tentar democratizar né então começa com uma parte que não é direto no código e tal eh ele é focado em evm mas não somente né então a evm na verdade já tá ficando mais democrática Ampla né você tem aqui que o assunto hoje e a gente também não é fechado se quiser mais para frente a gente fazer um evento de Solana entender como que constrói alguma coisa lá enfim é plural e mais para frente a gente vai ter tokens de reputação para eh
remunerar nem que seja de forma de reputação o que o Jeff por exemplo tá vindo fazer que é compartilhar conhecimento às vezes na forma altruísta que é a o Dev praticamente não tem nenhum motivo por trás ele tá só compartilhando um conhecimento eh de livre espontânea vontade e também de às vezes de forma mutualística né L New útil agradável eh tem alguma relação alguma coisa pô tu a empresa tal tá criando tal projeto que legal vem traz esse conteúdo pra gente aí vai ficar feliz de receber então é isso não quero falar muito Jeff de novo Muito obrigado a comunidade do Brasil deve muito a você eh sempre trazendo muito conteúdo bom
e é isso obrigado aí por est aqui de novo eu vou me mutar mais uma vez que na verdade eu que agradeço Roby e também toda o pessoal da RC 55 aí pelo pelo espaço também parabenizar vocês aí pelo trabalho que vocês têm feito organizar eventos né como você mesmo falou não é fácil a gente já fez isso eu também já fiz isso e não é não é uma coisa simples não então assim parabéns você e toda a galera que tá aí sempre trazendo convidando gente dando espaço acho que é
uma coisa que todo mundo ganha né é uma coisa que eh essa tem uma frase que eu aprendi quando eu trabalhei na red hat né que eles sempre falam né a gente cresce quando a gente compartilha né então acho que esse é o melhor espírito que eu vejo em vocês então parabéns e pessoal que Então pessoal boa noite né pessoal que tá aqui eh também o pessoal conectou remoto eh Então hoje a gente vai seguir falando eh de zero knowledge eh e nesses Acho que desde daquela apr presentação para cá
eh eu tive a oportunidade de eh auxiliando o pessoal né da da Ernest Young Brasil eh que aí a a tamila a tamila talarico que é a sócia que é responsável pela parte de ativos digitais ela me ela me convidou né para fazer para ajudá-la né nos esforços aqui de blockchain E aí para mim a grande surpresa a a a ui mas em nível Global tem uma tem um um grupo que né tem uma unidade que é só de blockchain E aí eles têm lá o o líder dessa unidade que é o Paul Brody eh já
era um cara que eu admirava pelo que a visão que ele tem paraa descentralização a visão que ele tem paraa web3 E aí então para mim tá sendo uma alegria poder fazer parte né Fazer parte desse esforço e aí como eu trabalho com Zino knowledge também deu a tive ess surpresa do do Starlight né que era uma solução que eu confesso para vocês que antes eu não conhecia porque tava antes focados em projetos que usavam eh que você montava tudo do começo tudo do zero construir o circuitos e tal e aí eu me dei de cara com essa ferramenta que eu vou falar para vocês hoje que
é sensacional porque de uma certa forma ela já constrói para você um monte de coisa ela já eh facilita principalmente para quem tá no mundo mais corporativo e aí e aí não é à toa que o pessoal eh do piloto do drex o time técnico eh o time focado na parte de privacidade resolveu uma das Ferramentas a que eles resolveram estudar e e testar a aplicabilidade no drex foi o Starlight por justamente ajudar nessa nesse nesse contexto então eh aí começando a gente eu queria começar então a ideia hoje a gente dá um ah não
tá compartilhando só um minutinho Desculpa deixa eu verdade compartilhar minha tela aqui legal acho que agora tá beleza deixa eu só mover umas umas coisas aqui para ficar melhor paraa gente gente [Música] vai só tô ajustando aqui pessoal a apresentação Opa beleza então a primeira Então qual
que é a ideia de hoje né a ideia então a gente falar acho que eu até quando eu coloquei alguns grupos né que a palestra eh A ideia é assim 50 falar sobre Zin knowledge mas a gente 50% dela 60 a gente voltar em alguns termos eh mais eh alguns conceitos mais básicos que muita gente ainda não conhece então uma oportunidade para mais gente aprender um pouco sobre alguns conceitos de zero knowledge e depois a gente falar da que a ferramenta faz E se a gente der tempo a gente fazer alguma uma demonstração aqui então então pessoal seguinte ó Zon não é
algo novo né então Eh porque às vezes algumas pessoas e algumas eh e algumas empresas né alguns bancos chegam Ah mas isso daí uma tecnologia que precisa amadurecer porque eu não sei não querido não é que você precisa estudar mais não é que a tecnologia ter que amadurecer é uma tecnologia desde 85 então que foi um paper do micali né do que acho que o mikale que continua né uns ainda no nosso contexto de web 3 porque ele também foi o Pai criador da algor né o ag também foi criado pelo mikali e também aí do God vasser e do rockoff então é uma tecnologia que já já tem
agora era uma tecnologia E aí tem um paper tá aberto quem quiser ver o paper do micali do pessoal do e foi criado no MIT Então também não foi na xiboquinha Corporation né é uma né foi criado no MIT tá então é uma é uma tecnologia que já ou seja ela a parte matemática dela a parte científica dela é um algo já foi testado já foi provado né ou seja nesse aspecto Ela já tem um campo bem robusta E aí o Zino knowledge ele tem três e ela tem três características
importantes porque a gente tem que pensar dentro do contexto de uma relação entre duas ou mais partes eu sempre vou ter no Zon alguém que quer provar a uma que quer provar algo para uma outra pessoa então eu sempre vou ter a figura do prover e do verifier sempre alguém que quer provar e alguém que vai verificar essa prova tá E essas três características que se dá nessa que os Zon tem nessa e traz para essa relação é primeiro que se uma coisa é verdadeira ela pode você pode prová-la e convencer o
verificador segunda que se alguma coisa é falsa você não tem como provar isso você não tem como enganar o verificador E aí vem o o conhecimento zero que é você não precisa abrir a informação inicial para provar isso ao verificador Então são essas eh são esses itens tá eh que são características são eh itens fundamentais de qualquer coisa que trabalha com zeron knowledge tá bom E isso também
eh e aí com o tempo depois a gente pode falar da questão do ser suscinto porque essa tecnologia ela foi amadurecendo foi melhorando Então ela começou eh e ela tem evoluído com o passar do tempo e hoje a gente tem E aí tem os snarks os starks e esse S de sucinto ou seja o tamanho da prova né que eu uso tem dependendo do contexto pode ser maior Ou pode ser menor mas cada vez te o pessoal ter trabalhado para reduzir o tamanho dessa prova para ser mais fácil e rápido a computação ou da geração da prova ou da verificação tá eh e é interessante notar aqui que essa
coisa do que eu também queria trazer é que muitos das que a gente tem usado voltando aqui pro tópico do micali é que por exemplo eu não sou matemático né eu sei que tá aqui até um um o Eduardo o Eduardo tá aqui com a gente por exemplo ele é matemático então ele conhece de umas primitivas criptográficas muito mais profundas sabe alguns detalhes que eu por exemplo não sei só que graças a que ao estudo Desse pessoal que vai criando ferramental hoje eu que sou desenvolvedor de software arquiteto de software consiga usar essas tecnologi essa tecnologia tá então assim também já
de antemão queria também dizer assim esse disclaimer importante não sou matemático então Eh eu como se tiver aqui no público alguém que for matemático etc então peço desculpa se alguma coisa não tiver 100% tá apurada aí tá legal mas aqu como o Rob falou o espírito aqui a gente a gente compartilhar com que a gente sabe então né Se alguém também tiver alguma contribuição alguma coisa né coloque de boa fé que a gente sempre gosta de aprender mais falando aqui vamos imaginar uma situação que eu queria trazer dois exemplos aqui dois casos de
de dois cenários o primeiro uma primeira interação de Zin knowledge é aonde um banco fala olha eu fiz uma transferência para você na blockchain por exemplo o banco B me prova Manda ele no no jeito inicial do zero knowledge né eu mandava para ele uma um desafio eu mandava um Desafio ou a pessoa que quer provar o banco a que no caso Calculava gerava a prova né Com base no desafio e gerava a prova mandava de volta a prova pro banco
b o banco b verificava a prova e aí poderei atualizar o balanço lógico talvez nessa época nem tinha o pessoal não usava o blockchain e tudo mas era esse conceito por tudo se alguns papers que vocês ainda vão achar sobre zero knowledge eh O pessoal ainda utiliza nesse conceito porque quem envia o desafio é o verificador não é quem faz a prova porque senão quem faz a prova poderia e fraudar podia enganar de um jeito fácil mas mas então quem verifica ó tá bom tá aqui o desafio o ver o provador né no caso que o banco a gera essa prova e mand pro
banco B ele verifica só que com a evolução por exemplo né Por exemplo não com evolução e aí vem o zero knowledge S de suscinto e o n vem de não interativo o pessoal chegou e E aí surgiu a ideia dos circuitos Ah legal então eu vou desenvolver um circuito vou programar o circuito Aonde esse digamos assim é como se previamente o banco a e o banco B acordassem que esse circuito ó Olha legal o circuito aqui nós dois Combinamos que se você me mandar uma
prova dentro desse que satisfaça esse circuito que esteja né esse dessa use esse circuito para gerar a prova eu vou confiar em você aqui aí vale a pena eh quem assistiu a minha primeira palestra sobre ziron vai lembrar porque lá a gente fez o setup do circuito né na minha primeira palestra eu ensinei como usando naquela época a gente tava usando o circum Então como você escrevia um circuito como você fazia o setup e uma das coisas do setup do circuito é usar a chave do verificador o verificador usando a chave dele eu Gero o o as ferramentas que o prover vai usar para gerar prova e o
verificador vai usar para gerar para verificar a prova ou seja desse jeito eu consigo fazer o quê esse processo ser não interativo Olha a diferença aqui num processo não interativo o banco a faz a transferência ele vai rodar o circuito que já foi previamente acordado né então ele vai rodar esse circuito Banco B até nesse momento ó tá sabo de nada roda o circuito né faz a transferência roda o circuito gera a prova e aí ele notifica o banco B Ei tem uma transferência para você aqui tá a prova e aí o banco B que tem o o o
sistema para fazer a verificação tem o circuito lá faz a verificação E aí Ah legal a para você mandou é verdade recebi Tá certo tem Vou atualizar aqui que eu recebi essa transferência vou dar um outro exemplo aqui que pode ajudar vocês a entenderem não consegui fazer o slide disso mas eu tava vivendo essa situação aí e que é o seguinte ah imposto de renda aí se você tem algum ativo de renda variável ou papel moeda alguma coisa assim você tem que fazer uma conta do valor daquele ativo no dia 31 de Dezembro de 2023 né então sei lá se você tem um e um fundo imobiliário tem uma ação sei lá da
Petrobras alguma coisa que você tinha de 2023 você tem que ir lá e declarar Mas qual que er o valor daquele negócio Ah todo mundo faz o quê Vai lá na internet vê o primeiro site que aparece no Google Vê o o valor aqueles melhores tem até o colega aqui meu Lucas né que trabalha na B3 a galera mais assim AB vai na B3 pega o extrato tal tal tal mas cadê quem me diz que aquele aquele valor mesmo quem diz que aquilo não pode ter tido um erro naquilo zir a pode ajudar nisso por quê Às vezes o imagina a eu vou ter o histórico ter que manter
um histórica enorme de por exemplo sei lá para chegar naquele valor Qual foi eu poderia ter se eu desconfiasse eu poderia ter um um fornecedor de informação que a cada dia eleit tem os dados do ativo processa aquilo e gera uma prova que ele tinha aquela informação daquele dia não se circuito que eu como contraparte conheço confio né participei do setup legal ele gera a prova e me manda informação junto com a prova legal ele não tem como ter enganado lembra os princípios ele não tem como ter enganado
forjado a informação e eu confio não nele eu confio na prova porque aquela informação aquele dia Como passou no circuito que eu também fiz parte eu também conheço eentão você Ah não se ele passou aqui ele conseguiu gerar a prova naquele circuito e o meu verificador tá tá checando legal então vou confiar nessa informação então é um mais um caso Onde eu posso usar zer knowledge porque às vezes o pessoal pensa Poxa zer knowledge é só para blockchain não Nossa imagina lá em 85 quando né o micali pensou Z knowledge cara não não tinha já tinha uma ideia de blockchain mas tava longe
ainda do satos Tava longe sei lá quantos anos 5 15 16 16 17 né do longe do do satoe até a gente ter uma blockchain mesmo vamos chamar assim né tava muito longe então a ideia era você muitas vezes gerar provas que você realizou uma computação você realizou um processamento sem ter que eu ter que por exemplo tem um pessoal que tava O Rob trouxe Num Episódio eh num num podcast um caso que o pessoal tá fazendo isso com imagens por exemplo Então em vez de eu processo a imagem em vez de ter que guardar todo
aquele histórico de imagem eu uso Gero a prova né E aí eu mando só a prova ou mando só a última imagem depois de processado e descarto todo aquele Cash é um exemplo tá então só que pro contexto de blockchain aonde eu tenho dois dois Desafios que é primeiro eu não confio às vezes na minha contraparte no caso por exemplo do drex São Meus concorrentes que que eu tô trabalhando na rede são Meus concorrentes e segundo a privacidade por qu o dado tem que est compartilhado né o estado da das informações de uma certa forma tem que est compartilhado numa rede Poxa que desafio trazer a
privacidade para isso então eu tenho que manter a confiança e ao mesmo tempo a privacidade é um ba desafio n então aí quando o pessoal meio que resgatou essa tecnologia ou seja Poxa já existe tecnologia essa tecnologia é boa vamos utilizar E aí que foi E aí o e um dos os caras que trouxeram e que trabalhou muito com isso e trouxe Isso foi o jordina que agora né falhando para poligon né que é um acho que pode dizer sócio da poig já no nível que tá e recomendo assim quem quer puxa Jeff eu quero ser top da galáxia eu quero tô
fazendo aqui quero fazer um doutorado disso mas no melhor lugar para estudar Isso Universidade da Catalunha lá tem pessoal muito fera pessoal que tá focado tá estudando detalhe disso aqui ferramentas eu acho que hoje para para mim é melhor lugar que você pode quem é acadêmico quer estudar sobre isso o melhor lugar para ir pessoal é muito bom bom voltando à nossa apresentação então aqui ó tem o segundo ponto eu falei do suscinto S E aí o n interativo que também é uma coisa super importante né porque eh no contexto de blockchain muitas vezes eu não vou não tenho como
avisar o meu minha contraparte que alguma coisa acontece né Então essa o não interativo com circuitos é o jeito da gente resolver isso Ah aqui um outro caso muito um outro caso de uso interessante que eu também acho que ajuda muito eh eu sei que aqui na audiência tem muita gente que também muita gente que trabalha em empresas e nessas empresas hoje a lgpd é uma realidade né Eh e principalmente quem trabalha com empresas que são que tem a matriz na Europa ou faz negócio com empresas europeias tem que se preocupar
também com isso daqui um tempo com a com a Mica também eh mas no contexto aqui de de lgpd zero knowledge pode ajudar muito Gente olha o exemplo aqui tá onde zero knowledge e isso aqui o Zin resolve o problema da lgpd vamos imaginar eh aqui que eu tenho uma o cliente ele tem uma conta num banco ele confia nesse banco um banco confiável né E aí esse cliente quer fazer eh negócios com uma empresa de investimentos só trabalha com investimentos vocês estão conseguindo
imaginar o cenário aí por exemplo né tem né Um cenário desse aqui e aí essa empresa de investimento fala o seguinte ó quem tiver cliente que for quar abrir a conta ou cliente que me provar que tem mais de 100.000 em investimento e qualquer instituição financeira confiável né ela fala lá Quais são as empresas eu vou dar sei lá vou vou criar um um sei lá um CDB que paga 200% do CDI pact tível isso concordam comigo certo aí o pra galera que tá que tá aqui com a gente
eh alguém concordam aí dá um ok manda um ok no chat aí o pessoal que tá aqui com a gente que eu tô com o chat aberto aqui só para ver se o exemplo que eu tô dando aqui faz sentido né se não tô viajando muito beleza então a galera Ok só que que acontece só que por questão de lgpd o banco que essa que essa o investment broker que é a empresa de inv que o banco de investimento confia ele não pode compartilhar o dado do cliente o saldo do cliente vai que o cliente tenha 105.000 100.000 tal ele não pode aí fazer todo aquele processo de
consentimento vai criar api vai vai fazer o entendeu vai fazer toda lá uma série de integração quem é Dev que tá aqui assistindo que tá aqui na sala sabe que assim às vezes criar pi não é uma a gente já conhece então é uma coisa assim não é que é difícil mas é trabalhoso você subi um endp certinho seguro etc e ainda fora toda papelada ter que acionar o jurídico lá vamos para ter que fazer o termo ter que fazer tudo aquilo por quê eu tenho lgpd certo porque eu não posso compartilhar o dado do cliente sem todas as formalidades esqueçam isso Z resolve o
problema não falei que o a empresa de investimento ela confia em alguns bancos ela cria um circuito zero knowledge aonde os eh os bancos onde o os clientes T conta vão fazer os inputs vão gerar as provas e vão dar pro cliente ó se você quer ir lá no no banco de investimento tá aqui a prova que você tem mais de r$ 1.000 por lembra o banco de investimento a campanha dele ele só quer saber se o cliente tem mais de R 100.000 para ele para ele ele liberar né esse CDB de 200% ele
né Legal atende ele gera a prova o cliente leva ó tá aqui a prova a prova foi gerada não foi gerada no circuito que o banco fez aí o banco de investimento né ou a corretora verifica essa prova Pô legal Rob Realmente você tem mais de R 100000 tá aqui ó você tem acesso a essa Mega esse Mega produto de investimento né de 200% um CDB de mais de 200% do CDI que que é legal eu não caio no lgpd por e isso Eu já conversei com vários
advogados né especialistas no tema né eu não cai por eu não compartilho nenhum momento o dado do cliente Eu não tenho o que chega para ele é um número conjunto de números né uma rei de números como prova então eu não eu se eu não compartilho o dado eu não tô sujeito não tô a lei não me porque não tô compartilhando dado tô compartilhando Band de número que é uma prova e por outro lado então todo mundo ganha nessa história o cliente tem a sua privacidade preservada e o negócio acontece porque pro banco de investimento O importante eu quero adquirir o cliente Eu quero atender o
cliente certo eu quero trabalhar com nicho correto aqui eu tenho outro caso de uso de zero knowledge então vocês estão vendo eu eu tô trazendo esse Panorama para que todos vocês tem uma ideia de que é muito o zinon é muito maior do que só blockchain entendeu tem Outras aplicações tá então para quem trabalha aqui em banco ou alguma outra instituição eh que trabalha de uma maneira correta séria E aí lgpd às vezes é um gargalo considera estudar knowledge também para para essas situações coisa e aqui veio complementando o que
acabei de falar agora como você provou você não precisa armazenar o dado por exemplo sensível on chain ou em qualquer lugar dependendo da situação Então isso é importante o Zon você gera a prova muita gente comenta eu comentei na minha primeira palestra mas eu vou reforçar isso de novo porque tem gente nova aqui que é o o seguinte zerolog não é ferramenta de encp de eh de de criptografia de dados né não vou criptografar informação não é isso eu Gero uma prova eu não tenho nenhum dado por isso que
ela não cai na gpd porque eu nemum dado criptografado vai entendeu então ele é só eh eu já vou abrir aqui paraa pergunta eh ele é só Você só manda a prova tá então isso é importante então fica dado sensível eh na blockchain por exemplo não às vezes eu posso gerar mando a prova outra pessoa aceita a prova e vai ah o que e o dado da informação não não precisa armazenar tá então lembra que é isso tá você Ah mas eu precisa da informação Olha se você precisa da informação Então você tem que seguir o outros caminhos ou algum outro
trâmite mas Zon não vai te dar informação tá não não tem como tá legal vou abrir aqui para umas perguntas Aproveita você que tá aí aí assistindo a gente remoto pode colocar a pergunta no chat mas eu já temho três perguntas aqui na sala então eu vou vou pedir para vocês fazerem Eu repito ela em voz alta aqui pro pessoal que tá ouvindo E aí eu trago a resposta Roby você tinha feito levantado mão primeiro comentar um pouco outro caso de uso prova de reserva deir provar que eu tenho a soma dos balanços em casa quanto eu tenho balanço já se você comentar um pouco
já Olha eu sei que tem até um um rapaz que trabalhou na polygon o italiano agora o me fugiu nome nome se tiver alguém que p o nome dele que tem um um até legal já assisti a palestra dele que ele até ele fala sobre os aspectos contábeis disso eh eu não sei a quantos eu não sei se por exemplo mercado Bitcoin tá por exemplo usa isso ou faz alguma coisa disso ou faz uma uma auditoria tradicional que aí onde vai um auditor de uma empresa como a a ui faz esse serviço presta esse serviço que aí o pessoal audita as contas audita as
contas cripto e e faz a checagem não abre o valor mas fala ó tá aqui auditado tem tal coisa essa auditoria por Zon tem a tecnologia mas assim que eu pelo menos no Brasil que eu sei Ó a empresa a Exchange x y z faz isso mas é possível porque eu poderia fazer um circuito zero knowledge E aí abro pro mercado até desse circuito não tem problema rodo faço o trust a cerimônia né de de setup E aí depois eu faço input zero a prova né que ah é maior que eu tenho aqui é maior de tão x porque lembra na primeira primeira palestra onde eu vou expliquei
lá os conceitos knowledge a você sempre tem que ter uma equação o produto final da prova ele tem que ser uma equação ou é maior ou é igual ou menor que alguma coisa né estamos lembrando de que isso aqui é são é cálculos por trás matemáticos então eu sempre tenho que ter uma equação tá então É mas eu não mas realmente agora não conheço tá alguém que tá aplicando pera aí Diga aí meu amigo aquele segundo exemplo eh pode servir por exemplo um CL social querendo permitir uma mas o primeiro exemplo não é mais fácil V olhar no saldo
pode o o primeiro exempo que você deu de banco provar pro outro [Música] fe então eu vou quando eu vou falar daqui a pouquinho Quando a gente tiver falando do drex Mas é uma boa pergunta né que eh Poxa não é mais fácil olhar pro saldo só que no contexto de blockchain se a outra parte se eu se meu saldo tá aberto igual hoje é o saldo das contas estão abertas então Não só você mas os seus concorrentes vão saber o seu saldo e aí a pessoa fica preocupado porque assim com a confidencialidade porque privacidade em termos legais é é paraa
pessoa física aí as empresas Elas têm com elas preservam a confidencialidade São estatutos diferentes em termos legais Então ela quer manter aquilo confidencial aí nesse contexto que que aí a gente tem que preservar Porque eu só quero só que por exemplo eh se é nome mesmo é só o Alessandro saiba então que eu mandei dinheiro para ele para ele atualizar não quero que o Rob fique sabendo então eu tenho que por isso que eu utilizo essa tecnologia entendeu porque ela tem que ficar na ela tem que ser confiável para ficar de uma certa forma na blockchain mas eu não posso ao mesmo tempo abrir então por isso que não seria só olhar o
salvo né André eu pensei que no caso de uso né duas se esse caso que eu pensei faz sentido e se eventualmente eu já pode até discutindo que é a aplicação em crédito né dentro dos bancos Então por exemp ol eu gostaria para ver uma concessão dependendo do limite ou tipo de crédito ser interessante para mim ter informação de patrimônio cliente né e no contexto de Open por fazer um ping pro Open faz uma verificação a única qu comí você tem um patrimônio a partir de alguns Alguns trashs né então só quer ver se faz sentido se realmente faz sentido Sua explicação esse essa essa esse caso de
uso e se o já Alguém já discutiu isso né ser possível porque ser bem interessante eu acho que hoje acho que ótima sua pergunta né o tá trazendo assim poxa eu não posso trazer essa tecnologia para o questão do crédito eh então a posso a questão do a questão hoje acho que eu vejo hoje muito o seguinte as pessoas precisam conhecer zeron e começar a utilizar eh Preciso começar a utilizar honestamente ponto de vista de arquitetura solução de ti muita coisa do
Open finance seria muito mais simples se o pessoal quando tivesse começado arquitetar isso pensado Poxa tem os irun aqui porque eu podia mandar uma instituição gerava uma prova a pedida do cliente o cliente levava essa prova pra instituição B E aí ela tinha isso por exemplo olha eu vou poder liberar crédito porque na Instituição a a pessoa tem um depósito x entendeu eh ou a pessoa por exemplo ela poderia a receita poderia eh receita um cartório de imóveis fala olha eh a pessoa declarou que ela tem aqui um bem xpto então sim pode ser usado na
indústria de crédito e vou falar que isso deixaria muito mais simples o open finance em muitas coisas né é que naquele momento acho que quando o pessoal começou a conceber o pessoal não conhecia zero knowledge eu acho que hoje se com com eh com esse conhecimento realmente muita coisa poderia ser provas porque muitas vezes a contraparte ela só quer saber é muitas vezes é sim ou não entendeu E aí e aí você para você compor essa essa inteligência esse cor de crédito né muitos perguntas se eu se ou não é maior ou igual entendeu E a pessoa tá negativada Não eu estou com não estou
negativado por exemplo é uma prova e aí você precisa só a prova não precisa toda meu histórico puxar todo não ó T negativo sim ou não né E aí eu posso levar uma prova então enfim eh São São alternativas e eu acho que tem muita gente que eh tem muita gente aqui que acho que tá conhecendo e esse é o papel um pouco dessa apresentação é para mais gente conhecer e mais gente eh depois começar a criar produtos sobre isso né Depois tem uma o ardo aqui no chat tá comentando de um paper do Dan do Dan Bones que aí depois fica Obrigado
por compartilhar depois eu também vou dar uma olhadinha tá Eduardo Obrigado aí pelo compartilhamento tá sobre os eh sobre aqui [Música] os como é que é o sobre os provisions obrigado não tem alguma mais alguma pergunta pessoal eu posso seguir pode seguir né Opa tá legal então pessoal eh aqui ó eu compartilhei depois eu vou mandar essa apresentação eh aqui sobre zero
knowledge eh tem ten esse primeiro artigo que é muito bom ele traz as primitivas matemáticas a questão eh as quem gosta de matrizes Ó quem adora fazer a né cálculo de Matriz multiplicação vai adorar mas lá tem as explicações lá vai explicar por como o o verificador lança o desafio por e etc enfim é bem eh é bem didático mas é vale um vale um um curso só disso eh também tem um vídeo muito legal que também explica um pouco um Deep di dis knowledge e tem um dentro da do site do eum tem uma página também da própria
que eh escrito pelo próprio pessoal da fundação entrio que explica também sobre Z knowledge tá traz os principais conceitos Então vale a pena também ler e quem tiver na empresa compartilhar com os colegas tá então tá tá aqui eh ah e agora agora eu lembrei o Rob fez um comentário aqui no chat sobre o Dan e realmente tem um podcast dele agora lembrei né que e que também foi foi bem bacana o uso E aí foi legal o Eduardo ter trazido né porque realmente como o Eduardo colocou aqui no chat o dbon é um dos mais referências é um cara que estuda isso também há muito tempo e e tem uns casos e é legal do d que ele tem uns casos de usos interessantes também
fora a blockchain então de novo mais uma vez aí o Eduardo e Rob Obrigado aí por trazer essa boa referência aqui muito bem eh continuando pessoal eu queria falar uma agora sobre merc outz por a gente em muito dos casos eh eu preciso provar que uma informa eu tinha uma informação no momento a depois eu preciso provar que eu tin informação no momento B ou seja as informações tem informação que ela vão elas vão se alterando no tempo um exemplo o preço da ação para eu colocar
no imposto de renda olha no dia primeo de dezembro Era tal no dia 2 dezembro tal e como eu faço como Qual a ferramenta que é muito utilizada quando eu crio circuitos Para justamente gerenciar os estados dessas informações com merc Tree então recapitulando aqui eu sei que tem muitas pessoas que estão aqui com a gente no assistindo conhecem já mas eu vou recapitular aqui para pessoas que não conhecem aqui na sala eh quem Já construiu já trabalhou com merc Tree não tá legal quem já sabe pelo menos os conceitos Gu Roby
Beleza então acho que vai ser uma novidade para muita gente aqui então o seguinte pessoal como eu eh como é que eu faço para eu tenho um conjunto de informações para provar o estado dela mas como de um jeito sucinto com uma informação só foi vem tem essa técnica que uma árvore binária né mas uma árvore merkle né onde eu vou ter as folhas aonde eu vou colocando as informações em si e aí eu vou gerando hashes eu pego a informação da folha por exemplo aqui eh e da i da Zero e da 1 e aqui i0
E1 calculo o rest delas virou h0 a do I2 e do i3 gera o r dela virou H1 depois eu faço o hash da h0 e da H1 aí eu tenho o Rot né a raiz que a gente chama que virou essa H2 então eu posso dizer então é aí eu falo para você olha naquele momento as informações eram nesses essas aqui e aqui tá o has dessa árvore Merco aqui esse aqui é o h que prova que as informações eram aquelas legal depois eu quero até provar a
informação que a informação que tá em i1 era sei lá 120 o preço da ação era 120 que que eu faço eu mando para você que que é o jeito que funciona até nas blockchains né que no eo por exemplo usa lá Patrícia merc né que que é usado eu vou eu vou mandar para você a prova o hash o a informação do ier depois o hash o o hash dá o H1 E aí isso a gente chama de mer proof Ou seja você tem a prova por a sua cont parte você manda isso para uma outra pessoa
você falou que era 120 não era que que ela vai fazer ela vai pegar aqui ela 120 ela vai pegar informação do I zero vai calcular o h0 você passou para ela o H1 aí com o H1 ela vai fazer o RH da g0 que você você calculou E aí você computa a raiz bateu bateu então tá certo a informação naquele momento era aquela Então você com a outra parte você só precisa ter a merc root se a pessoa quer te provar que ele realmente que a informação era 120 ela te mandando essa merc proof esse caminho você consegue reconstituir e checar ah realmente ó a a a raiz era essa eu fiz
as contas eu bateu então eu confio de novo na matemática Beleza então o que que o pessoal usa muito dentro dos circuitos e também é usado na aplicação criada através do Starlight é usada né na no projeto aqui do drex Até que a gente vai ver é usada eu calculo essa prova off chain eu tenho Circuito no circuito tá lá que ele recalcula a prova e Checa a raiz da árvore Merkel a raiz da merc
TRE como eu não posso abrir dado que que eu faço eu a minha contraparte sabe qual que é a mer root eu passo no circuito o circuito faz o cálculo faz a mer proof calcula M proof calculou calculou mof ele fala ó o has que ele tem aqui é mpro que ele tem é verdadeira te a prova é tanto que no circuito se você vê o cálculo é se o merc root bate com a o cálculo da Merle proof que você fez se você pegar o você pegar eh código fonte de muitos
circuitos é isso ele vai lá e Vai checar isso bateu ele gera prova lembra da lembra que é uma equação é equação se o e hash no fundo é número não é verdade é um número se o número se 1 é igual a 1 eu giro a prova aqui aí a contraparte só tem que saber o seguinte o que que fica armazenado geralmente nos smart contracts Qual a informação que fica fica só o a raiz da merc por qu aí lá no circuito eu vou verificar essa prova eu vou ter eu tenho como input que tá aberto que é mer merc Roots E aí eu checo a prova Opa
realmente essa prova aqui tá falando realmente bate com uma merc Rot existente Então essa pessoa sabe o valor essa pessoa tem o valor ali entendeu por por causa dessa combinação de mer TRE Num circuito porque hoje no etério como os dados estão abertos eu pego o dado de um bloco Por exemplo quando eu noto eu tô subindo o nó do etério tô recebendo o bloco eu eu pego os dados eu pego o bloco coloc calculo a mer che tá batendo tá batendo com a que eu tô recebendo então legal eu incorporo
o bloco porque ele tá correto porque sempr cheg eupr tenho calculo a nof com Z é um passo além por o não preciso abrir que eu sei Aquela informação não preciso abrir o mer eu falo que eu provo que eu sei o mer al Mac proof eu sei o Mac proof Eu provo para você que eu sei Aí você fala ah se ele sabe então realmente ele tem o estado da conta correto Essa é a sacada Essa é a grande coisa que você usa combinação das duas então Muitas das coisas que a gente vai que eles estão que aqui a gente vê que é a aplicação que eles estão testando no brex é a combinação de merc Tree que o
que o Starlight usa né é a combinação de merc Trees com zero tá então quando vocês ouvirem falar de merc Tree né Eh então é isso então essa aqui é pouca uma Block chin de verdade tem sei lá 2 elevado a 32 é folha para caramba É por isso que a gente tava até conversando agora a pouco né com Belém com eh mas acho que o André também junto ali né com a gente e perdão esqueci né Hã Luan com Luan que que que é o que que o usa muito muita computação porque muita matemática então a ve não é tanto memória muito muito processamento tá
legal então isso Ó lá o nicas tá falando que o Git também utiliza mercel TR isso aí para manter o histórico e a sequência lá ah tem um artigo que eu compartilhei no meu LinkedIn que também eu coloquei aqui tá pessoal que que é da eh deixa eu até aqui para não cometer nenhuma injustiça a que é da vivia placência né que ela escreveu um material muito didático muito bom sobre macot TRE eh porque eles ela participa de um projeto chamado semafor que é para controlar eh grupos de usuários Então você precisa saber se aquele usuário pertence mesmo ao grupo x
tipo sabe o o AD né o AD do do da Microsoft né que gerencia os usuários imagina um AD só que utilizando o quê utilizando zero knowledge para você paraa pessoa poder provar que ela pertence a aquele grupo tal tal tal né que ela tem direito a acessar o Arquivo X então você pode usar zerolog para isso e no contexto aberto onde não quero eh que o administrador da rede sabe minhas informações pessoais isso é muito útil de novo Olha a gpd aqui então eu consigo mais um caso aqui ó mais um caso de uso aí Roby para coisa eu posso ter um sistema como AD usando Ziro né E é isso que esse projeto semafor faz
vale a pena quem não conhece dá uma olhada e lá dentro do projeto semafor como é que eles controlam que a pessoa tem o direito não os ali informação é usando também por trás uma merc tre para poder aí computa merc e depois gera prova disso E aí eles usam essa eles usam aí tem vários algoritmos de merc no caso eles usam essa incremento Mc e Aqui Nesse artigo ela começa muito bem explicando que é merc Tree e depois ela mostra os o caso de uso né e o código então até Poxa como é que eu implemento uma merc tre como é que é o Codo isso em termos de código tem Nesse artigo também então vale muito a pena né o Tem um colega no grupo eu não sei se ele tá
aqui também no eh ele tá aqui assistindo a gente mas tem o Semar o semara Augusto também é um outro profissional excelente de de também conhece bem de Ziro knowledge e o cara é crack então também eh ele tem também depois eu posso até no final aqui achar o qual que é o usuário dele no github vale a pena ver os projetos que ele trabalhou e ele tem um dá para usar os códigos dele como exemplo de umas referências de como usar eh merc Tree muito bem a gente continuando aqui eh outra coisa que também é usada muito eh com os zuny né junto com os zuny são eh os esquemas compromissados vamos
traduzir assim para português né o commitment scams que eu eu me comprometo a seguir uma estrutura de informação então Ah vou usar vou armazenar o campo a b c d e nessa sequência e nessa estrutura Então por quê para que a outra possa parte possa também verificar o que que é legal é que como eu sei a outra parte para gerar prova sei as eh gente tá compromissado né a usar esse esquema de informação então eu posso eh ele me ajuda a ocultar e eh também ao mesmo tempo como eu tô compromissado ele
me ajuda com aquela estrutura ele me ajuda a prevenir fralde porque você se comprometeu a colocar no campo por exemplo idade um número então isso aí eu na hora do que eu Gero circuito isso é importante tá E então também isso aqui é um é um elemento importante eu acho que tem alguém que tirou do mudo aqui depois tá legal e Então pessoal agora vamos entrar no que que é o Starlight tá bom o o Starlight em si ele é uma ele é uma aplicação não o Starlight ele gera
aplicações diretamente de um solidity que a gente chama de isol que ele é baseado no solidity e ele essas aplicações que ele gera né são específicas pro seu negócio então que que é legal você pode escrever a vou mostrar para vocês praticamente o solidity você escreve um Smart content que serve pro seu seu negócio sua necessidade E aí o Starlight gera uma toda uma aplicação que não é pequena toda uma aplicação zero knowledge para você poder performar Esse
seu negócio com privacidade Então é isso Z porque mu desculpa é isso o Starlight porque muita gente confunde o stylight com aplicação ah usa Starlight não no contexto drex Eles não estão usando o Starlight o Starlight Já foi usado para gerar a aplicação que hoje na verdade a aplicação que é usada no teste no drex é o scroll shield Essa é a aplicação ela foi gerada a partir do quê Ela foi gerada a partir do Starlight E aí né então a a partir disso eu posso o quê eu eu posso usar essa aplicação e
customizar por qu o Starlight vocês veem Então eu tenho eu partir de solidity eu criei um solidity vamos chamar assim né um zol que eu marquei eu vou mostrar al tem alguns Alguns e decoradores vamos chamar assim paraas variáveis né os atributos específicos que por exemplo eu marquei que o campo X sint Ele é secreto eu passei a o eu eu fiz um zapify eu rodei essa eh o comando E aí a partir disso ele gerou um zap para mim né esse Zap e esse Zap ele ele é composto pessoal por vários componentes
então uma aplicação como scr shield não é só não é uma aplicação você tá rodando várias várias coisas vários artefatos ao mesmo tempo você tem os circuitos que no caso o pessoal ele gera usando uma outra linguagem não é o circul e usa usando zrs tem os ele gera os Smart conts de verificação porque você vai rodar isso A ideia é Rodar isso em blockchain Afinal você escreveu um Smart Contract né então ele vai ter o Smart Contract de verificação E aí ele tem alguns microsserviços um é um
que o papel dele é ficar escutando eventos o que o que acontece na quando uma nova Por exemplo essa foi atualizada eu preciso atualizar minha merc local oel do timber é ficar fazendo isso escutando os eventos e atualizando o orquestrador o papel dele é justamente o qu receber as chamadas então por exemplo quero fazer por exemplo no caso do scroll shield quero fazer um depósito né ou orquestador podia por exemplo no caso ali do eh daquela da empresa de banco de
investimento Olha eu quero gerar a prova né de que por exemplo o cálculo do saldo para provar que a pessoa tem mais de r$ 1 100.000 então isso você chama o orquestrador é uma pi tá você chama via pii então de novo facilita porque via arest eu chamo e aí eu sequestrador aqui por trás por exemplo vai eh gerar a prova e ele vai usar um outro microsserviço que é do Sócrates que é Para justamente gerar a prova então ele reúne as informações esse esse componente Sócrates vai pegar vai passar as informações pelo circuito e gerar a prova devolve por
ador que submete no smart Contract quando no caso para né no caso que eu tô atualizando uma informação eu Gero uma nov Gero atualizo lá o Estado então vocês veem que eh o transpirador né ele faz bastante coisa ele gera bastante artefato e posso só terminar aqui eh aí a gente continua te abro aqui já pra pergunta Luan Então aqui tem um pouco mais de detalhes né dos dos artefatos que são eh que são compilados ou são gerados através desse Smart contact desse zol tá
eh por trás Ó vocês veem aqui que a gente ele vai gerar as a merc TRE dessa mer ele também gera os circuitos né gera orquestrador tá e eh e aqui o papel dos Smart contracts né de verificar as provas né e de armazenar quem a macot de cada daquilo ali porque eu tenho que saber qual que é como é que eu vou checar a prova eu preciso saber os as Mc Roots daquelas informações e a o banco de dados aqui né Aqui é onde tá o Database mercree é o timber que ele que
é o responsável por tá controlando a merc TRE que no sua na sua Instância da aplicação que no contexto do drex que acontece cada banco cada consorciado posso chamar o participante do piloto né do que alguns são consórcios os outros não né É verdade então cada participante do do do piloto vamos chamar assim Tem a sua Instância do scroll shield tem tem essa Estância aqui lembrando não posso falar que tem uma um Starlight não porque o Starlight gente po eu posso usar eu posso depois eu vou abrir para vocês lá
quem entrar no a gente é um projeto open source e tem vários casos de uso posso criar para várias coisas entendeu o bassem o pessoal utilizou para um caso de uso né utilizou para pro scr shield para fazer essa troca eu já vou falar daqui a pouco então Eh então por isso que eu tô usando o quê cada uma dos participantes tem uma Instância do scroll shield tá legal eh antes de avançar eu vou então aqui abrir para pra pergunta do lan e eu também quero só trazer aqui para vocês Deixa eu
só que não consigo abrir aqui Ah Agora abriu eh eu queria mostrar para vocês ó que é um projeto open source Então pessoal então aqui tá o o github.com e o y blockchain bar Starlight eu conversei hoje eh com a com a com a líder do projeto né a a SWAT Rahal ela o pessoal tá muito aberto a receber eh pode abrir issues também tem o
request conversar com eles lá tá bom então de novo é um projeto open source tá como qualquer op projeto op sof mesmo kubernetes muit doos outros sempre tá sempre tem necessidade de melhorias tudo tá em evolução Então pessoal eh sugestões são bem-vindas Pi São PR vindos principalmente assim o transpirador ele é escrito em typescript então Poxa ah ah beleza Jeff typescript eu eu me sinto em casa me sinto bem legal Às vees tem algumas coisas lá que você pode ajudar Eu até comentei com ela hoje que falou olha Eh vou falar com no meetup de debs coloca Talvez algumas
issues que para que vocês estão precisando de ajuda eh coloca lá porque às vezes a galera vê é uma ISO que Poxa eu dou conta de fazer isso aqui aí o pessoal pode colaborar tá então fica é é aberto por isso até se agora a eu acho né que até por exemplo o pessoal do muito e aí de um jeito muito Prudente achei é que o pessoal até do Bass se interessou porque é um projeto aberto então assim eh o banco central não fica na mão de o vendedor por quê Por mais que seja ui que eh tá lá eh investindo e no pagando o salário dos desenvolvedores o o código
fonte é aberto Então não é uma coisa que pertence tanto que no projeto do Banco Central tem foi feito eles fizeram fork e foi feito os ajustes ão feito lá por quê eu não criei uma aplicação né eu crio aplicação Então a partir dessa aplicação eu posso mudar ela posso melhorar ela eu posso customizar ela Então isso que é legal do Starlight com você gerou a aplicação gerou pega o conteúdo dela cria um gitb um github um repositório fez isso eu mesmo paraa apresentação aqui nossa eu eu fiz aqui uma Tex
que esse aqui ó repositório é onde tenho aqui dentro desse aqui nessa pasta scroll Opa Ah aqui ó Isso aqui é uma isso aqui é um Zap os conteúdos de um Zap e aqui eu tava com o Robson aqui de tarde a gente tava eh alterando brincando algumas coisas aqui tá então eh você qualquer pessoa pode ir lá gera o aplicativo e Ah isso aqui eu não achei legal Teve até mesmo membro lá do
projeto um especialista que até colocou Fala ah mas em termos de arquitetura isso aqui não é tão bom tal Boa ideia você já abriu uma ISO Você já mandou um pr né né famoso né tio Linus ensina tal chip show me Decode né então é legal muda a arquitetura tem uma coisa aqui que eu acho que é do interesse por exemplo do pessoal hoje quando isso aqui é um projeto já de 4 anos então é um projeto maduro já um projeto só que aí como Todo projeto legado algumas coisas ficam obsoletas o pessoal usa o truffle ainda né funciona roda né mas a gente sabe que
o pessoal da conces parou de dar o suporte né na pro truffle até onde eu se acho que já faz um ano mais ou menos que dispararam então ah poxa o que que o pessoal usa hoje em termos JavaScript tá usando hard Hat que tem equipe que tá trabalhando desenvolvendo então por exemplo Poxa tem um trabalho de migração aí de transpirador eh ah ess um não super seguro funciona mas tem umas coisas mais modernas então é uma coisa de pô Poxa mas ah eu quero podia usar o hard Hat podia Champs vai lá manda o PR muda lá atualiza entendeu né E principalmente alguns lá que Poxa não tô pagando nada mas estão descendo a lei Ah
não sei o quê irmão quando você tá pagando zero Poxa então né minha mãe me ensinou que cavalo dado não se olha os dentes né então quando a gente dá mais o projeto que a gente tá eh às vezes verificando testando tal a gente é humilde né a gente coloca lá olha a gente tem essa sugestão essa contribuição Olha que tal isso né então é a a de novo a ideia até que eu falei aqui no início da palestra A ideia é Poxa vamos we grow We Share né a gente cresce quando a gente compartilha a gente tem um espírito colaborativo é por isso que eu gosto muito de estar aqui com o pessoal da i 55 porque esse é o espírito né mas de novo que que é isso importante temos corporativos agora
falando legal a sua empresa não não está ligada a não tá ligada a ui como vender Ah você é obrigado se cliente não não o projeto é aberto é open source Poxa preciso de ajuda Pô não sei o quê Tá bom pode contratar o pessoal da UI para te dar um suporte Poxa me dá uma ajuda aqui poxa essa coisa aqui tá mais complexa estão precisando a gente Poxa gente ganhar a gente precisa ganhar agilidade que vocês podem treinar meu time desenvolvimento isso sim como é que é da mesma forma que a red hat trabalha da
mesma forma que alguns produtos a oroc trabalha né Ou seja é a forma que você trabalha com Open Sour mas o que que é legal você como empresa você tem a liberdade né então isso hoje na forma corporativa de né de de governança de ter isso é algo muito importante né Mas agora vamos as perguntas aí pessoal se tiver alguma pergunta também aqui no chat pode colocar seu e aí Luan tem uma pergunta eh pode voltar naquele slide agora esse é o anterior o anterior é pelo que eu Pelo que eu entendi né o stl ele
seria que esse transfil ador de visual pro pro para uma aplicação ele gera uma aplicação Ger uma aplicação é timber ali o s eles são componentes que já vem quando eu Dero essa aplicação ou isso é US simplesmente porque eh hoje contexo do Banco Central Eles escolheram ele usado em todos todos então quando eu Gero esse Zap e já ventam todas esses componentes isso aí então uma boa pergunta aqui do Luan pessoal é o timber ou Sócrates ou alguns componentes eles
vem algumas Ah ele vem algumas aplicações e não vem outras Ou eles sempre são eh criados gerados no momento que a gente gera usar eles são esses componentes aqui esses cinco eles sempre são gerados quando você faz rodo o Zap fala você né gera o Zap né Essa aplicação circuit não os no caso Sócrates ele é uma imagem docker que você roda que ele roda Então ele recebe o circuito e ele gera a prova então ele já é uma imagem docker mas eh vou mostrar no tem um docker composer
né que é uma algo bem importante no no Zap né porque é no Doc composer que eu soubo toda essa turma e passo os parâmetros entre eles né Eh esse ali você junta então no caso aqui agora por exemplo de tarde agora aqui de tarde que eu tava fazendo o tava incorporando naé máquina do eh aqui com o Robson incorporando a máquina dele na minha rede dessa aplicação que eu tava gerando eh a gente aí você gera ele gera lá o docker o docker file E aí a gente gera as imagens né do do docker fire vocês eh tanto que eu tô falando isso aqui por exemplo ó
pessoal tem um outro disclaimer tá o que eu tô falando aqui tem algo que tá aberto no site do Bacen tá então é algo público então não tô infringindo nenhuma nenhuma regra tá que é se a gente pegar aqui bassem e aí tem piloto RD kit não é isso piloto RD it ou é piloto real digital é o que que eles estão testando se alguém tiver aí o Deixa eu ver se eu tenho eu tinha o link só um minuto aqui
que eu vou colocar pilota RD RD traço traço com bog Não não é R pesso tem aqui no chat já Opa obrigado pessoal o pessoal que deixa eu eu copio aqui então pessoal ó eh aqui tem o
um markdown falando sobre o Starlight mas aqui no caso né ó e você vê as customizações e aqui fala as imagens ó que você gera que você tem que criar né no docker build aí das imagens Tá bom então quando o pessoal que que o pessoal da leido né o Jim né Eh que é um excelente profissional eh de de criptografia o que que ele fez ele fez ele tinha uma aplicação que o Renan né criou eh que é o Red tecnologia da first que tá participando do Real digital e aí o Jim fez o fque desse projeto que o Renan
fez um zapf fez em primeira versão E aí ele customizou então é legal que vocês estão fazendo estão vendo um exemplo concreto disso crio eu faço aplicação crio um Zap e depois eu customizo até outro dia num um eh uma equipe de um banco me perguntou Jeff eu posso porque eh Aqui você vê no banco de dados que ele utiliza ele utiliza o o nessa Marc TR utiliza mongo DB como banco Poxa Jeff eu tenho aqui o serviço da Cloud xpto que a gente utiliza o mongo nessa Cloud eu posso apontar para lá pode você customiza e aponta para lá
eventualmente isso aqui é tudo microsserviço não é entre eles eles usam o quê eles usam rest fazer chamada então Eh que que acontece eu posso eventualmente mudar a estrutura por trás Ah eu quero Ah Puxa aqui no banco é só post Gris Tá bom vai lá entra na aplicação troca a parte que faz né a persistência etc e tudo bem a aplicação vai funcionar Então isso é legal né Porque dependendo eu tenho definições de arquitetura que variam de empresa para empresa de banco para banco o Starlight você vê ele é
todo componentizar desculpa né as aplicações geradas pelo Starlight são componentizar eu consigo adaptar né nicar Tem uma pergunta Jeff Existe alguma chance de de comprometimento do ecossistema por fal de configuração de um dos participantes caso um dos servios participantes caia os outros participantes para feitar problema para visualizar não Nicasso então por exemplo eh eu fiz eu eu gerei o eu gerei o circuito e eu não tenho lembra do não suscinto eh aliás desculpa do não
interativo lembra dessa propriedade aqui deixa eu ver qual o slide esse aqui eu Gero circuito se o meu se o banco a caiu ele não vai poder gerar provas ele não vai poder operar então zero problema lembra do outro princípio aqui do soundness né ou seja se uma informação é falsa ele não vai passar pelo circuito Então se por exemplo eu tô ó eu vou dar um exemplo aqui concreto ó Muito obrigado pela pergunta Nicasso eu vou dar um exemplo aqui ó concreto tá eu fiz aqui eh eu fiz aqui uma outra eu subi uma
estância e essa Estância que eu subi estava com o banco de dados a merc TRE tava para uma uma versão antiga um outro teste que eu tinha feito eu esqueci de de Reconstruir o banco de limpar o banco para reconstruir a merc aí fui lá gerar uma prova foi gerar uma transação e foi aí ten que gerar a prova né que eu fiz que que aconteceu aí ver o retorno Deixa eu ver se eu tenho aqui deixa eu ver se tá no meu [Música] histórico aqui ó ó que acontece eu gerei uma prova inválida
o verificador que tá lá no smart Contract rejeitou entendeu circuito igual input igual só que o qu a mha mer ela inválida e se a se eu não tenho consistência eu não consigo validar gerar uma prova válida aí o meu aí Onde tá o verificador tá um tient do Smart Contract ó tto muito amigão sua prova tá inválida então então você viu Nicasso que até eu mesmo ó tô aqui trabalhando conheço da ferramenta Geri se eu fosse um atacante ah tentei
gerar uma prova aqui não ia dar certo tá então eh Então essas duas coisas garantem aí a a segurança e a estabilidade aí tá bom Nic espero que eu tenha conseguido responder a a sua pergunta tá eh como então a gente continuando agora eu quero Oi Prim você dizer assim eu mando uma informação Maisa informação em mim e sugiro que essas suento manda informação ele já não
sabeo ele já não tá não por qu se você manda para ele então num contexto o o benet tá perguntando aqui eh por que que eu terho que mandar as outras né o por exemplo no caso de uma eu vou gerar uma vou provar que o meu estado da minha merc está de acordo com o estado da sua marcont Essa é a comparação entendeu então por eh como é que cada uma dessas folhas como é que na blockchain cada um cada folha tem o estado da conta por exemplo
tem estado de uma conta e eu posso fazer isso eu posso criar um sistema bancário de contas aonde os dados das minhas dos meus clientes né o saldo das contas né qual que é o seu saldo atual tá registrado numa mcot tri você fez uma operação atualizou o estado aí eu tenho que recalcular aquela marcot e falar ó agora o estado dos meus contabilmente dos meus bancos então agora é isso que o etério é fantástico o etério tem fechamento contábil vocês já pensar já Já pensaram nisso você também que tá assistindo aí que o etério tem o fechamento contábil a cada 13 segundos a cada bloco do eté eu tenho o estado É
como se eu fechasse ah sabe fechamento contábil né que eu tenho lá o estado do das contas né etc eu tenho isso no etério fechado a cada 13 segundos por a cada 3 segundos Ah qual que é o estado da conta do Jeff do rob do Luan né de todo mundo tá ali agora aí aconteceram transações entrar nesse outro bloco ó pessoal agora o estado das contas é esse mudou só que puxa eu tenho que armazenar tudo isso não se eu armazeno só a a raiz anterior eu consigo calcular a próxima e eu posso até dependendo se eu quero Só
checar o estado eu posso até apagar os dados das contas lá anteriores eu posso ir limpando aquele Cash porque eu tenho o ma eu tenho o Mac root daquilo aí aí o que que é legal você associando cozin nó é eu não preciso mandar a Merkel porque se eu para calcular a prova Merkel eu preciso ter os dados para ir só que eu não quero não posso porque é privacidade então Gero a prova de que o meu estado mercel ó tá batendo com o seu acho que agora consegui ficar mais claro ajudou perfeito então agora pessoal avançando aqui eu quero mostar um pouco assim
a isso ó atualizar aqui a sintaxe do do smart do do zol então o zol ele tem praticamente pessoal três ele tem três assim decoradores principais o Secret o n e o unown Tá vou falar aqui mais detalhes aqui o Secret pessoal é o seguinte quero mais quero que aquela informação aquela variável ou campo do do do Smart contact seja confidencial tá então ele gera eh lembra do commitment schema ele gera um commitment
skima para cada Campo que você marcar como Secret tá E vai gerar lá eh e vai ficar eu vou gerar uma cada vez que aquilo altera eu mudo o estado da minha merot Trip tá o o n é el é o Secret né que somente o dono daquela informação pode alterar aquele dado então ele é secreto né Ele é conhecido somente pelo dono tá então um terceiro não pode mandar uma informação tá Então nesse caso aqui no Add é só quem é o dono da chave ali da que tá que tá mandando
ou não um terceiro pode mandar uma informação tá E aí eu atualizo aquela por exemplo aqui ó no caso de uma transferência os dados da transferência são secretos o dado de quem tá enviando eh ali o o balance né de de quem eh eu tô debitando mas eu tô alterando o campo o saldo do da minha contraparte então no não eu o terceiro eu posso alterar eu marco que assim um terceiro pode alterar aquela informação o estado daquela informação tá mas vocês estão vendo aqui que é um código ins
solidity né que só tem o decorador a mais o transpirador é que vai fazer depois todo o trabalho de cada uma dessas variáveis tem um ID eu Gero um estado para cada uma delas e e o e a aplicação controla cada uma dessas do Estado dessas informações oi oi Guilherme eh nesse L aqui do balance se você só olhar tiver uma a rede sincronizada e olhar os inut historicamente Você sabe qual pod dep para né mas eu imagino que quando você coloca esses esses eh
modificadores esse o Secret né você falar que os balance Secret e o e o a operação né de acho que é isso né a operação de passar de uma pessoa para outra é ser anal isso eh como que isso fic armazenado Tipo isso ISO isso todos os saldos eles ficão armazenados num uma linguiça só de byes aqui ó você tem fica esse aqui é o commitment esima por exemplo dessa aplicação eh pro do scroll shield Então você tem aqui ó tá vendo é um esquema mesmo
entendeu tá vendo né E aí você tem aqui o o no caso aqui é o o valor que no caso se você fez por exemplo você vai somar esses valores e aí você tem o seu saldo entendeu Mas não fica armazenado como no Solid mesmo aberto não não fica porque at é porque o o contrato mesmo lá eh quem abre o contrato se alguém decompiler um solidity um rc20 tradicional assim que você tá a tem mais coisas né até Deixa eu ver se eu até consigo compartilhar
aqui deixa eu ver se eu tenho aqui informação do Sal tá tá na MM de alguma forma né não ó tá aqui ó esse aqui é o contrato tá ó aqui na tela vê que não tem não tô lidando aqui com ó não tenho aqui um rc20 e por eu não posso Ô gui porque eu tenho que manter a privacidade então dado não tli o que que eu tenho lá a prova entendeu eu a prova ó que eu mandei lá é isso aí é outra contraparte prova eu mandei para vocês R 100.000 tá aqui a prova circuito validou
validou então marcot TRE que o cara tinha realmente ele escreveu lá então você pode atualizar sua merc TRE e e falar que você tem o o c tem um detalhe mas eu quero eu quero só terminar isso para entrar nessa a pergunta que né O Guilherme fez né falou Poxa isso aqui tá aberto T mas enado no Solid não tá Tá legal não tá lá os saldos e nem a eh nem o valor aberto porque eu quero preservar a privacidade né um exemplo aqui que eu trouxe pessoal que achei legal é outro exemplo que eu queria eu quero desmistificar um objetivo também aqui da palestra desmistificar esse negócio que é só para blockchain não é tá então aqui ol um
contrato de exemplo de uma voz então eu posso Poxa eh eu tô trabalhando sei lá com um um CRM posso usar zero knowledge posso usar blockchain pode né Então nesse caso aqui você tá vendo as invoices E você tem você adiciona no seu contas a pagar lá que você tem um um débito a pagar e aí depois você faz o pagamento né então você eh inclui retira a as inv pagam aí pessoal a gente tem eh nesse eu vou ter lá o app. zol né aqui de solidity e no orquestrador eu
vou ter dois end points Ó lá um para adicionar a Voice outro P voice vai criar dois end points para mim né Eh eu tenho que ter eh um chaves para poder eh que as partes possam envar informações criptografadas uma para outra vou explicar depois como aí o outro componente aqui eu tenho o Sócrates que faz o quê ele né eles geram provas tanto para quando adiciono inv voicez quando que eu pago em voicez tá eu tenho ali eh dois dois circuitos depois na parte da evm eu tenho o shield porque é sempre
o Smart o ele gera alguma coisa né alguma nome da aplicação shield sempre tem esse escudo tá quando eu tô falando né esse nome que o pessoal deu pro dentro do do do contexto do Starlight né press Smart contact que fica verificando as provas tá de que eu fiz uma operação e eu torei o estado eh lá da da mecr né teori alguma informação aí eu tenho eh por trás ele chama essa o verificador então você vê que a verifica verificação se dá on chain tá se dá lá no E aí o tiber Tem o quê a merc TRE né e eh Então é isso aqui que por trás quando
eu chamo vou adicionar uma eh uma invoice tudo isso aqui que tem por trás então ou seja eh vocês veem o trabalho a vantagem de você usar o Starlight pra gente criar essa aplicação pra gente criar um monte de artefato e por trás os códigos pessoal dor estreit por exemplo é todo JavaScript então Eh quem conhece JavaScript consegue fazer ajustes e alterações tá eh só concluir aqui O Rob só para AOL lembra do comit M kimas então eu tenho que ter aquela estrutura né Eh combinada para poder né todo eu gerar essas provas todas elas com
eh como é que eu posso dizer eh todas elas coerentes né para isso aqui ó eh aí quando eu tenho aquilo coerente o que que acontece eu para cada uma daquelas variáveis que eu marquei como CET anal etc ele tem um um ID Por quê eu não posso Abir aquele dado on se ele muda né eu preciso gerar a prova que ele mudou que tem um outro estado então se chama state var ID cada variação ele tem um ele vai ter um ID Qual que é o valor novo né então o state value o o a chave a chave pública do
dono da informação né de quem deu a informação e um um número um Salt Para justamente gerar deixar randômico né para ficar não ficar tão eh para para dificultar que alguém queira eh digamos vamos assim fazer uma força bruta e tentar desse jeito gerar um hash igual Ah então se se eu gerei esse hash tá batendo então eu sei informação que seria públ que seria privada só do H então o salto é Para justamente digamos assim eh dificultar essa esse ataque de força bruta aqui tá eh Aí pessoal quando eu tenho excessão dessa
estrutura é quando eu tenho um campo o mapa que ele é marcado como Secret que aí quando o mapa é marcado como Secret essa Eh aí eu Gero esse hash né do do da estrutura com o primeiro calculo hash do state varid com a chave do mapa então por exemplo se é um igual tá aqui um balances Qual que é a chave é o address né a conta então eu faço oate da conta desculpa di da variável o rest do d da variável mais a a conta e aí eu uso isso aqui e aí eu faço o hash o
resultado desse hash mais o state novo valor mais a chave pública do dono da informação e mais esse salto então assim eu vou gerando eh esse esse esquema que aí eu fico compromissado com ele que ó esse aqui era o resto daquela informação na aquele momento tá deixa eu ver aqui só é E aí depois quando eu eu mudo o estado o que que eu tenho que fazer eu tenho que anular o anterior né até então que quando eu falo que anular um um commitment né porque aquele
estado já não vale mais então ten que anular ele então aí eu para anular ele eu tenho que quando eu mando lá pro eu faço uma nova geração eu Gero esse cara que é o state varad a chave pública desculpa a chave privada do dono da informação e o comit o resto do comit anterior aí ó isso aqui tá anulando aquele aquele estado que já agora já tá ultrapassado já tá defasado eh e aqui um pouco uma Antes de abrir pra demo Então queria
eh abrir para perguntas acho que alu ia perguntar Oi Rob eh daria para fazer se eu tenho por exemplo o map Secret de balanços de realizado e eu tenho out de balanços de Algum ativo por exemplo duplicadas e eu queria eu eu quisesse fazend um de duas dois BS privados é é possível já então aí é uma uma boa pergunta porque essa é o caso do Esse é
o caso de uso do Real digital e aí a equipe do o a equipe de né os cevs do do starlite estão trabalhando para dar esse suporte Então acho que em breve a gente vai poder ter uma uma notícia assim eh hoje o Star da forma que tá não suporta né porque seria um mapa dentro do mapa né e e pois ele não não mas o pessoal já tá bem avançado eu acredito que dentro em breve vai suportar mas hoje no caso de uso por exemplo eh uma uma das coisas do caso de uso do drex é e eu não vou eu vou trocar assim eu vou o cliente do Banco a vai comprar título
Público Federal ou do da da ou do Tesouro Nacional ou de uma outro outra instituição certo mas eles vão estar utilizando esses real digital do banco a né Mas vai ter um momento que eles vão ter que trocar esses tokens trocar por real digital né porque a outra instituição qu é real mesmo né não quer o real do banco x Então hoje eles estão testando justamente essa troca de fazer essa troca de real digital nessa compensação né que também vai precisar de privacidade Então hoje o caso que o pessoal que o Quem tá aqui assistindo né
Sabe né e trabalha num desses eh num desses bancos e também aqui tá at alguns colegas que também tá trabalhando com isso é hoje o que eles estão fazendo então como eu faço essa troca de real digital mas com privacidade usando o scroll shield que foi gerado pelo Starlight frase meio longa mas essa é a a estrutura correta E aí eles fazem e fazem isso então quando você faz aqui eh uma transferência para uma contraparte você tá fazendo isso de uma maneira secreta E aí como é que funciona a o aí chama scroll shield então essa esse escudo que faz ele faz um scroll
ele faz o quê ele armazena temporariamente o o no caso o Real digital ou qualquer rc20 então ele armazena então o que que eu faço o banco a manda dinheiro para o scroll shield pro Smart conta do scroll shield o banco B tem tá lá tá registrado ele tem uma conta também lá nesse SC shield eu aí o que que eu fiz fiz o depósito lá então Ou seja aquele aquele real digital realmente existe ele tá e o SC tá fazendo a custódia
dele muito bem aí depois o banco b o banco a faz a transferência pro banco B ele faz o aí que que ele faz ele gera uma prova né que ele fez a transferência pro banco B E aí o banco B eh isso fica essa esse dado esse dado aqui que tá aqui na tela ó esse dado é criptografado e esse dado fica armazenado on chain que com a chave eh foi criptografado com quê com a chave pública do banco B
o banco B aí da forma que tá arquitetado todos estão escutando E aí só o banco B vai conseguir descriptografar quando ele des criptografa Opa essa transação é para mim aí ele vem ele consegue gerar esse objeto aí ele atualiza merc da conta dele dizendo ó agora eu recebi aqui no caso por exemplo eu recebi eh r$ 2 E aí ele atualiza a conta dele e ele pode eventualmente até sacar aí ele pode aí ele vai sacar esse dinheiro então ele vai pegar do SC shield vai mandar pra conta dele aí vai fazer o quê ele anula esses
commitments aqui que a gente chama né você viu lembra do commitment skima que a gente né Todo mundo tá com esse essa estrutura aqui vale para todos os participantes Então tá vendo que tá aqui ó isif igual a falso ou seja ele tá ativo ele não tá essa é o estado atual ele tá ativo quando você anula ele fica isfi go through E aí ele pode aí o Smart Contract lá transfere o rc20 pra conta etum do banco B entendeu aí até foi um objeto de discussão num outro grupo um um uma uma
um objeto de discussão interessante que foi o seguinte olha Eh Poxa mas aí foi um pouco que o Gui falou se eu faço do banco a pro banco b ah eu vou inferir né que os caras ali mandou pro escorti e depois de um tempo o outro lá sacou é é por isso que aí a gente tem duas coisas que aí foi o objeto discussão que desse jeito realmente fica muito fraco fica muito e a meu nível de dedução por estatística que a gente conversou no grupo fica muito alto Ah fica fácil agora se a gente pensar eu tendo centenas milhares de transações que eu
mando pro scr shield depois eu tenho lá outros que sacam eu vou tendo aquilo aí até gostei muito da Eu gostei da Fórmula até que o nosso colega Eduardo mandou né poxa Tá bom eu vou é um sobre n o número de transações que é eu seja quanto mais transações acontecem dentro desse Escudo mais difícil fica para eu deduzir de quem foi para quem aí com isso eu garanto o quê a privacidade aí vem alguns até pode falar poxa Ah mas eu tá bom eh eu posso ganhar na Mega Cena nessa eh quando é sexta-feira não sei quando é não é
sábado né que corre sábado eu posso posso mas qual a chance entendeu então assim eh então fica uma coisa que é muita coisa que a gente usa no mundo da web3 porque no mundo da we3 nem tudo eu consigo eh garantir Só via computação algumas coisas é por E aí vocês aqui D podde sabem bem é por questão Econômica tá bom é alguém pode ser um FDP e querer mas ou economicamente é viável ele vai ganhar com isso não vai então não faz porque ninguém nem maluco só maluco
rasga dinheiro geralmente esses caras estão no hospício né não tão fazendo transação não tô trabalhando em empresas assim né então assim pouca gente é excêntrica que tem muito dinheiro Ah quer saber eu vou ferrar esse negócio aqui só pelo prazer do negócio pro Beleléu vou gastar aqui sei lá não sei quantos milhões de reais ou bilhões de reais entendeu então assim é é é nisso que então assim estatisticamente até alguém pode fazer al com B mas e e outra coisa uma coisa que depois também de debate muito grande eh foi uma coisa que a gente pode checar que é eu sempre vou na probabilística eu
sempre vou deduzir eu não tenho afirmar eu não consigo chegar no 100% então sempre vai ter uma má falar mas esa aí é 90% que foi o Robin que mandou pro Luan tá bom é 90% de chance você pode começar uma investigação a partir daí para colher outros fatos Mas a partir disso você não consegue afirmar gerar uma prova lá para você mandar para um juiz por exemplo falar ó Condena ele porque eu tenho 100% você tem 100% não veja bem mentis tem 90 90 não ah 90 é bom mas não é certeza u a única coisa que faz colocar
um intermediário transação só isso é colar esse intermediário na transação que vai garantir que realmente os Fundos Existem os Fundos podem ser foram transferidos e eu garanto esse escudo é o que garante a privacidade talvez até o termo mundo não se encaixe melhor né nesse contexto dessa aplicação seria uma fachada que ele garante aqui ali para dentro tá eh tá encapsulado não sei eh podemos dizer assim que é uma conta garantia com corporativa assim em blockchain né
É aqui o Gabriel tá colocando assim ó se eu somar todas as transações de depósito para o scr shield eu saberia o valor total daquela instituição não então ô ô ô Gabriel é uma boa é um bom ponto eu vou ter eh eu posso ter o volume eu posso ter o volume de transação operada tal Realmente você vai você vai saber o total Mas agora você não vai saber com quem que ele tá operando tá então aqui é uma esse esse é o ponto que eu essa confidencialidade que eu tô garantindo eu não sei com quem o banco A
tá fazendo negócios com quem ele tá ali quem é a contraparte dele e tal agora realmente em termos de volume como eu vou somar os depósitos os withdraws eu vou essa informação realmente eh e aí e Mas tem uma coisa pessoal também eu vou criando os os vão criando contas que são randômicas Então você também tem que acertar que aquela conta 0 X1 2 3 4 ela pertence né Tudo bem você pode fazer o TR porque uma hora ela vai ter que ser abastecida com Real digital né então mas dá mais trabalho mas que dá para você faz mas essa questão do volume é é um
ponto mesmo Gabriel no cenário de teste do Starlight envio de real digital são apenas usadas carteiras de fold das instituições É possível usar outras carteiras então ô Nicácio tem um um ponto de que quando eu vou quando eu tô mandando fazendo uma transferência aqui deixa eu ver se eu acho aqui no o código fonte para te mostrar quando eu tenho no transfer aqui eu tenho o ponto ó tá vendo que eu
pego aqui as chaves públicas e privadas eh eu essa chave pública e e e privada eh cadê que onde eu deixa eu ver se eu vou conseguir achar aqui aqui ó eu pego da minha contraparte Unico eu pego a chave pública para de quem que eu tô enviando e eu tenho que ter registrado essa chave pública no lá no scr shield lá no porque tem um aqui a gente abriu o código fonte aqui do scr shield
PSOL eu tenho aqui ó eu fico armazenada nessa nesse mapa aqui fica im nada as chaves públicas da contraparte então Eh então assim eu posso alterar o código fonte para ele suportar gerar várias porque não é só gerar o a conta etério eu tenho que gerar uma chave públic privada e ela tem que pertencer o Nicácio eh eu uso aí o uma curva elíptica né que no caso aqui foi usado o baby diab diab né mas é uma e eu uso dif hellman para poder fazer o quê para eu criptografar usando a chave pública da minha contraparte e ele só como ele tem
a chave privada ele vai conseguir descriptografar então é por isso que não é só a chave pública e privada do etério mas eu tenho que gerar essa chave pública e privada também da eh para essa criptografia então ou seja dá para fazer isso aqui mudar a aplicação e colocar dá é possível tá n caso mas mas eh Nesse contexto como é um teste a gente tá validando outros pontos eh o pessoal não achou necessário criar e fazer toda essa parte Tá mas é possível sim usar outas carteiras desde que eh se geree software que vai gerar várias contas e várias chaves para cada conta e registrar no scr shield tá então espero que eu tenha respondido sua
pergunta aí nicá eh Então pessoal eu acho que deixa eu acho que já tá já passou até um pouco do do horário aqui acho que eu vou ficar devendo devendo a demo é a gente já as 10 se quiser tá é que a gente é que o meu o meu nó não ficou não ficou pronto então que a gente não como eu falei para vocês a gente foi subindo os nós aqui e a gente encontrou alguns problemas aqueles famosos inhos eh problemas técnicos porque fazer o setup da aplicação aí quem tá participando do
piloto tá aqui é uma coisa realmente complexa então eu com o Roby a gente tava que o Roby ia ser minha contraparte vamos fazer o teste aqui vamos lá né Fazer o os Vamos tentar fazer um depósito aqui eh deixa eu ver se a minha Instância tá no ar Ah tá aqui eh e eu vou tentar fazer um primeiro um depósito aqui só para ver se se se tá atualizado o meu se eu tô olhando pro contrato certo e tudo então eu mandei aqui a requisição ó Aqui começou a trabalhar primeiro ele tá gerando o Sócrates tá gerando a prova e pelo jeito que tá demorando ele tá submetendo a transação lá e foi então ele gerou
processou lá o depósito então coloquei eu tenho aqui vamos ver quantos commitments né ou seja então eu tenho aqui 1 2 e três eu tenho os saldos Ó você vê que o depósito eu fiz de 103 né então Eh que dois aqui são as as casas decimais né então fiz aqui de 103 então agora pro para transferência eu vou colocar a conta que eu tinha definido pro hy deixa eu ver aqui Rob a conta eh deixa eu eu e tá o h deixa eu deixa agora as
coisinhas aqui do coisa tá me atrapalhando achei aqui a conta do Hobby V aqui mandar sete e 10 pro 17 E10 pro hck vamos ver né tá ativo aí o seu nome Pera aí que o Rober tá conferindo se não não não a conta já achei aqui é só ver se o log lá do docker composit tá
Então vamos ver né agora sempre os a gente Opa aqui ele não tá Ah será que tá registrado a sua conta lá no sim de minha né Não não vou ter que ver se tá no smart P teria que conferir e mas ele tá bom É pessoal vou ficar devendo aqui porque o estado da minha conta aqui a ter que teria ter não íamos tempo de atualizar
a eh como é que se diz atualizar aqui os os banc A minha merc tá atualizada a ele não tá achando aqui a né a minha Ele não tá achando aqui aqui as minhas as minhas pré images né os meus commitments então vou ficar devendo aqui mas outra coisa importante que eu queria colocar eh també mostrar pro pessoal que é é muito importante aqui que é esse docker compose tá eh o docker compose deixa eu abrir o aqui melhor abrir o exemplo porque no docker compos ele é quem junta essas
três eh todos esses componentes então o timber o Sócrates né e o orquestrador e também inicia e controla os bancos de dados que no meu caso aqui como a gente tava fazendo teste né provavelmente a minha Estância doc aqui tá rodando os os os mer o banco de dados né do do Mongo Deb que tem a merc tá desatualizado por isso que não tá conseguindo gerar ter imagem correta né Eh então ele é um arquivo sim é bem importante para você tá configurado quem tá participando do drex ele tem que tá bem configurado bem certinho para você poder eh tá rodando tá
ah ô Nicácio no caso a sua pergunta aqui o Nicasso pergunta eh é possível fazer teste entre só entre participantes diferentes eu é possível fazer testes entre carteiras da mesma instituição correto Então você tem que subir não só é a questão da carteira você tem que subir instâncias eh da do do scroll shield diferentes Ah eu eu sou o banco x Tá bom eu crio uma máquina né subo uma máquina virtual subo outra máquina virtual a máquina virtual A tá usando a carteira xpto e a e e a máquina B tá usando a conta XY
Z beleza aí elas podem fazer operação entre si podem não tem problema tá mas lembra que eu tenho que cada uma tem que ser uma exatamente Nesse contexto que tá o teste agora Nicasso é uma Instância para cada carteira tá mas isso aí como eu falei dá para trabalhar e customizar num contexto de produção realmente dá para fazer que uma mesma Instância possa suportar várias carteiras tá eh pessoal eu vou então tá encerrando por aqui eh eu acho que os conselhos a gente conseguiu tem esse código fonte Também
quem não tá participando do piloto Poxa eu quero quero ver como é que é o fonte como é que funciona já passei aqui nessa minha nesse meu repositório tem aí um exemplo eu prometo aqui que eu vou trabalhar com o a gente vai o Robson a gente vai achar um horário aqui mas eu também me coloco à disposição aí dos participantes eu tava aqui falando com o Luan né que trabalha no unibank eh que eu me coloco à disposição para tá eh podendo ajudar os membros mas assim eu vou pedir para ser alguma ajuda que a gente possa eu possa ver os logs de vocês porque é muito importante para quando dá algum problema com com o o crow shield a gente vê os blogs porque
às vezes o pessoal comenta no f Ah não tô conseguindo fazer tal coisa pode aconte ter acontecido tanta coisa que se você não vê os logs não não tem eh é muito difícil ter resposta óbvia porque vocês viram ali é um algo complexo então assim eu tô à disposição tá eh alguns casos o pessoal que tiver aqui em São Paulo eu posso até eventualmente até visitar o escritório e e ajudar tá legal leg eh obrigado aí Fábio pelo elogio eh obrigado Nicácio e queria agradecer mais uma vez mais uma vez o pessoal da if 55 pela abertura do espaço acho que é legal a gente poder ter oportunidade eu
gosto muito o Eduardo eh aqui né tem também o Eduardo tem me motivado muito também a falar de Ziro né Eh né ele sempre falou Pô a gente precisa falar mais disso porque é a algo que pouca gente conhece dá para criar tanto produto tanta solução bacana né então é algo que tá sendo construído então quanto mais pessoas saberem mais ideias vão surgir mais melhorias vão ser eh trazidas Então acho que todo mundo todo mundo ganha Então pessoal queria então com isso encerrar e eh ficamos aí à disposição um abraço
bo pessoal é E lembrando que quem quiser trazer Talk tema eh para próximas sugestões pedidos até né a gente tá montando ainda o cronograma pro ano pros encontros de temas que o pessoal Gostaria muito de ver aqui pessoas também eh pode mandar pra gente lá via o Twitter da RC 55 ou no discord ord E aí a gente tenta organizar também seria legal eh enfim Às vezes alguma instituição alguma empresa que gostaria de também hostear o evento né Eh a gente também tá aberto a isso é isso gente até a próxima vai ficar
gravado e a gente disponibiliza no YouTube em breve Ah bem legal também o comentário do Fábio sobre a petição né pessoal aí sendo respondendo na justiça por desenvolver software a gente já viu isso várias vezes na história né valeu Fábio por trazer essa essa lembrança é isso gente até a próxima Oli