sMPC (Computação Multipartidária Segura) explicada visualmente
Para economizar seu tempo e sanar suas dúvidas, criamos um explicador visual.
Resumo
Um blockchain pode ser confiável para correção, mas não para privacidade. Qualquer pessoa pode visualizar o código e o conteúdo de qualquer transação ou contrato inteligente na rede. Embora isso não seja um problema para muitos aplicativos de blockchain, há muitos casos de uso que exigem contratos inteligentes para acessar dados privados. O Keep Network fornece uma maneira para que os contratos inteligentes em blockchains públicos acessem em segurança dados privados armazenados off-chain.
Esboço
Contratos inteligentes em blockchains públicos carecem de privacidade. Seu código e conteúdo estão disponíveis para qualquer pessoa ver.
Atualmente não há como um contrato inteligente em um blockchain público acessar dados privados com segurança. Isso não é um problema para os muitos aplicativos de blockchain que já existem, mas limita severamente a aceitação de blockchain públicos por empresas e instituições mainstream.
Em alguns casos, esses dados privados podem ser simplesmente informações confidenciais que não deveriam ser visíveis no blockchain — como registros médicos ou informações de negócios. Em outros, aumentaria a funcionalidade dos contratos inteligentes, permitindo que eles acessassem dados confidenciais, como a chave privada de uma carteira Bitcoin.
A Keep Network pretende se tornar a solução de privacidade padrão para o armazenamento de pequenos pacotes confidenciais de dados off-chain com segurança e, ao fazer isso, expandir drasticamente a funcionalidade dos contratos inteligentes e a adoção da tecnologia blockchain.
Aplicativos Keep — Foco em DeFi (Finanças Descentralizadas)
O aplicativo 1# na Rede Keep é o Random Beacon, usado para gerar números provavelmente aleatórios.
O aplicativo 2# na Rede Keep é tBTC https://tbtc.network/, TLDR é um token ERC, apoiado pelo Bitcoin, que é armazenado com segurança no Keeps, mas isso é outro artigo.
Detalhes técnicos
O Keep Network é um contrato inteligente da Ethereum que fornece um sMPC Oracle para dados privados.
Existem alguns conceitos que precisamos desempacotar para entender o que isso significa:
Computação Multipartidária Segura (sMPC) é um protocolo em que vários computadores precisam concluir um “aperto de mão” seguro para acessar dados secretos. O Keep usa sMPC para armazenar com segurança cópias de dados privados em vários computadores fora do blockchain — “off-chain”. Nenhum computador na rede pode acessar os dados sozinho — fornecendo um ambiente confiável para armazenamento de informações privadas.
Oráculos encontram, validam e transferem dados que existem off-chain para o blockchain. A Keep Network atua como um Oracle, transportando dados privados armazenados off-chain para usuários e contratos inteligentes que exigem esses dados na cadeia.
A Keep Network fornece essa funcionalidade organizando programaticamente dois grupos de usuários por meio de contratos inteligentes:
Clientes: dApps, contratos inteligentes ou usuários que pagam uma taxa para armazenar e, posteriormente, acessar seus dados privados na Keep Network.
Provedores: computadores que armazenam esses dados privados, gerando ao seu proprietário uma parte da taxa paga pelos Clientes. Cada Provedor atua como um node na Rede.
O desenvolvimento de software faz uso de bibliotecas de software para resolver problemas comuns. A Keep Network pretende ser a solução padrão para contratos inteligentes da Ethereum que desejam acessar dados privados. Na verdade, é um contrato inteligente que ficará dentro de outros contratos inteligentes e fornecerá a eles funcionalidade extra.
A Rede Keep pretende ser a solução padrão para contratos inteligentes ethereum que desejam acessar dados privados.
Se a rede for bem projetada e tiver demanda suficiente, ela se tornará um mercado descentralizado e autossustentável de usuários e provedores privados de armazenamento de dados.
Computação multipartidária segura (sMPC)
Para manter os dados privados, a versão do sMPC da Keep Network utiliza o conceito de compartilhamento de segredo Shamir. O princípio básico é simples: um segredo é dividido em partes, e essas partes são distribuídas a diferentes participantes de uma rede. O segredo original só pode ser reconstruído quando um número suficiente de peças são combinadas.
No contexto da Keep Network, os “segredos” são os dados privados dos usuários que são armazenados por seus Provedores. Os compartilhadores secretos são os próprios Provedores, cada um dos quais armazena uma parte dos dados privados. Quando um cliente solicita seus dados, o Keep Network solicita que os provedores concluam um “aperto de mão” seguro e reconstruam os dados privados.
Vitalik Buterin, cofundador da Ethereum, descreve o princípio matemático do compartilhamento de segredos abaixo:
“A maneira mais simples de descrever matematicamente o compartilhamento de segredos é a seguinte. Sabemos que dois pontos formam uma linha:
Assim, para implementar o compartilhamento de segredo 2-de-N, pegamos nosso segredo S, geramos uma inclinação aleatória m e criamos a linha y = mx + S. Em seguida, damos às N partes os pontos da linha (1, m + S), (2, 2m + S), (3, 3m + S), etc. Quaisquer dois deles podem reconstruir a linha e recuperar o segredo original, mas uma pessoa não pode fazer nada ”
Provedores, clientes e proprietários
Conforme mencionado anteriormente, os provedores oferecem armazenamento seguro aos clientes em troca de uma taxa. Quando um cliente envia seus dados para a Keep Network, a rede distribui cópias criptografadas desses dados para vários provedores. Esse armazenamento seguro e distribuído é chamado de ‘Keep’.
Tornando-se um provedor
Um computador se torna um Provedor “staking”(piquetagem) KEEP tokens. A piquetagem funciona como a emissão de um título — travando parte da moeda de um Provedor para garantir que eles não ajam contra a rede. Se um Provedor tentar atacar a rede, ele perderá seu stake e será expulso do sistema.
Primeiro, o novo provedor envia uma transação para colocar seus KEEP tokens junto com a chave pública de seu node.
Quando ocorre o staking do node com sucesso, o contrato inteligente é notificado.
O Keep Network possui um registro de Staking que mantém o controle das chaves públicas de todos os Provedores da rede. O node recém implantado tem sua chave pública gravada nesse registro.
Depois que um computador se torna um provedor e é gravado no Registro de Staking, ele pode ser selecionado aleatoriamente para armazenar dados privados como parte de um Keep. Um computador pode atuar como um provedor para muitos Keeps, armazenando dados para muitos clientes. Nesse ponto, ele começará a gerar renda para seu dono.
Criação de um Keep
Quando um cliente deseja armazenar dados na Keep Network, ele invoca um contrato inteligente que inicia o processo de geração de um novo Keep.
Um Keep é composto por um grupo de Provedores selecionados aleatoriamente no Registro de Staking. No exemplo abaixo, o Keep Network seleciona três provedores aleatórios.
Ressaltamos que ter um grande e diversificado número de provedores é muito importante para a integridade da rede. Se um usuário tiver acesso a muitos dos computadores que atuam como Provedores, ele poderá reconstruir os dados privados por conta própria.
Os dados privados do usuário são divididos em partes usando o compartilhamento secreto de Shamir.
Quando selecionado, cada Provedor precisa fazer stake de ETH como um título para fazer parte do Keep. Isso atua como um incentivo para fornecer armazenamento seguro e responsivo para os clientes. Se um Provedor ficar offline ou não responder à solicitação de um cliente para os dados armazenados na fortaleza, ele perde seu vínculo.
Assim que o processo de criação do Keep começa, os provedores se reúnem e fazem um “aperto de mão”.
Durante esse “aperto de mão”, as partes dos dados confidenciais são armazenadas em cada um dos computadores no Keep.
Cada Provedor tem uma parte dos dados privados do Cliente. É aqui que o compartilhamento segredo de Shamir entra em jogo, garantindo que nenhum provedor sozinho possa reconstruir os dados privados em um Keep.
O número de Provedores pelos quais o Keep está distribuído e o número de Provedores necessários para reconstruir os dados privados podem ser configurados pelo Client Smart Contract (contrato inteligente do cliente)
Mais provedores aumentam a segurança de um Keep, mas também aumentam o custo de executá-lo. Se o número de provedores em um Keep cair abaixo do número de provedores necessários para reconstruir os dados privados, o acesso aos dados privados será perdido. Não há como recuperar os dados — por isso, é importante ter um grande conjunto de provedores como parte do Keep.
A chave pública Keep é armazenada localmente por cada Provedor e no Keep Registry. A chave pública Keep é retornada do Keep Network Smart Contract para o Client Smart Contract, permitindo que eles acessem o Keep no futuro.
Quando o cliente precisa acessar seus dados privados, ele envia uma solicitação ao Keep Network Smart Contract. Essa solicitação é transmitida a todos os Provedores no registro de staking. Por exemplo, a chave pública de ‘Keep 123’ seria transmitida para a rede e os Provedores B, D e G agiriam na solicitação e executariam o “aperto de mão” seguro, pois eles são parte desse Keep.
O registro de staking é usado para selecionar nodes aleatoriamente para uma fortaleza.
O registro de manutenção é uma lista de todas as fortalezas que foram criadas.
Não há vínculo no Keep Smart Contract entre os nodes e os keeps, isso evita que os computadores em um Keep específico sejam alvos de invasores.
Embora os provedores não precisem executar um Ethereum Blockchain Node, eles precisam ser capazes de acessar o Ethereum Blockchain.
Economia
A Keep Network usa a economia de ETH e seu KEEP token nativo como uma incentivo e uma vara: em resumo, há incentivos para servir bem a rede e impedimentos para atacar a rede ou fornecer um serviço ruim.
Para se tornar um Provedor, um computador deve fazer stake de tokens KEEP. Esse vínculo atua como um portão de entrada para a rede. Se for descoberto que um Provedor está atacando ou manipulando a rede, eles perdem esse vínculo e perdem o acesso à Keep Network.
O valor do KEEP token e da rede está vinculado ao fornecimento de um bom serviço de armazenamento de dados privados.
Além de fazer stake de tokes KEEP para serem listados no registro de staking da rede, um Provedor também faz stake de Ethereum para cada Keep do qual faz parte. O stake necessário varia com cada Keep — um vínculo mais alto pode ser definido para dados mais valiosos.
Portanto, o KEEP token é usado para proteger a Keep Network contra agentes mal intencionados.
ETH é usado para proteger Keeps individuais de agentes maliciosos.
A razão para usar Ethereum, bem como o KEEP token, é fornecer uma camada de proteção adicional para a própria Keep Network. Uma vez que o valor do token e da rede está vinculado ao fornecimento de um bom serviço para armazenamento de dados privados, um provedor que fornece um serviço ruim ou que compromete os dados de um cliente só irá desvalorizar o token que ele fez stake. Em vez disso, o Ethereum fornece um impedimento caro para os possíveis invasores.
O incentivo para operar corretamente na rede, é claro, é que os Provedores vão ganhar passivamente ETH dos Clientes, proporcionando-lhes bom acesso e disponibilidade para seus Keeps.
Quanto melhor for a rede, mais os clientes irão desejar armazenar seus dados seguros no Keeps — tornando os provedores mais lucrativos e, portanto, aumentando o valor dos KEEP tokens.
Tecnologias e projetos semelhantes
Existem cinco abordagens para usar dados privados com a tecnologia blockchain: sMPC off-chain, blockchain privado, provas de conhecimento zero e revelação de hash. Cada abordagem tem limitações.
- O sMPC off-chain tem uma sobrecarga de comunicação para a comunicação entre os nodes;
- Os blockchains privados perdem a responsabilidade pública e não são capazes de funcionar em um ambiente sem intermediários;
- Zero Knowledged Proofs (provas de conhecimento zero) não são capazes de fornecer delegação segura de dados;
- O padrão de revelação de hash exige que todas as partes envolvidas na transação estejam online ao mesmo tempo;
- Re-criptografia de proxy.
O projeto mais semelhante ao Keep é o Enigma. Para obter mais informações sobre como os projetos diferem, acesse o seguinte link:.
https://medium.com/coinremix/technology-comparison-keep-network-vs-enigma-e4bde0c28680