Informações de lançamento da Sandbox
Ricardo Pinto - Fevereiro 21, 2020
A equipa da BlockBase lançou recentemente uma sandbox online na qual qualquer pessoa pode testar as funcionalidades de querying da base de dados principal da BlockBase sem a necessidade de correr um nó completo. Este lançamento aproxima a BlockBase da rede principal como versão beta, e mostra as funcionalidades da BlockBase a qualquer pessoa que esteja interessada em usar a plataforma.
Numa entrevista com Matt Haynes no seu canal de Youtube Costa Crypto, demonstrámos o poder da tecnologia BlockBase usando a sandbox. E a melhor parte é que também pode testá-lo você mesmo. O que fizémos foi mostrar o quão fácil é utilizar o serviço de base de dados da BlockBase, e quão semelhante é ao SQL tradicional. O exemplo utilizado foi a criação de uma base de dados que iria guardar informações relacionadas com os pacientes de coronavírus, onde alguma informação seria encriptada e o resto acessível ao público. Isto é um cenário interessante pois mostra como se pode fazer query a dados encriptados e não-encriptados com relativa facilidade.
Construindo uma base de dados segura e auditável de coronavírus usando BlockBase em EOSIO
A melhor parte é que todos os dados chegam encriptados ao nó da BlockBase, e que todas as queries que retornam esses dados encriptados não revelam informação ao nó da BlockBase. Pode experimentar por si mesmo aqui.
Como funciona
Existem dois tipos principais de utilizadores da plataforma BlockBase, os solicitadores de serviços e os fornecedores de serviços. Esta sandbox é maioritariamente focada nos primeiros, aqueles que irão usar os serviços de bases de dados seguras da BlockBase para armazenar os seus dados.
Nesta sandbox, qualquer pessoa pode testar a linguagem de query da BlockBase, e experimentar a manipulação de bases de dados da BlockBase e dados. Esta linguagem foi desenhada para ser bastante semelhante com SQL tradicional, para tornar fácil a mudança de bases de dados tradicionais para os serviços BlockBase sem problemas.
Por trás das cortinas, temos um nó da BlockBase a correr a sidechain na EOS Jungle Test Net. Portanto, quando uma query é executada na sandbox esta é armazenada sequencialmente no bloco mais recente da sidechain, e é depois executada numa base de dados tradicional Postgres. O nó da BlockBase também publica o cabeçalho do bloco no nosso smart contract que está a correr na EOS Jungle Test Net de modo a assegurar um histórico de operações. A sidechain assim constitui uma prova de todas as operações executadas e é backed up por uma chain EOSIO, que neste caso é a chain EOS Jungle Test.
Enquanto as bases de dados tradicionais têm um registo de operações que já foram executadas na base de dados, a BlockBase tem um registo de operações que vão ser executadas na base de dados. Cada sidechain armazena esse registo, que é backed up por uma chain principal EOSIO. Isto assegura um histórico de todas as operações, e qualquer pessoa com acesso à sidechain pode executar todas as operações na ordem certa numa base de dados tradicional e acabar com um estado actualizado da base de dados.
BlockBase SQL
O SQL BlockBase tem uma característica muito interessante que nos demorou meses a pesquisar e desenvolver. É também o tema principal de uma tese de mestrado em ciências da computação de um dos nossos colegas de trabalho.
Como a BlockBase é um sistema distríbuido para o armazenamento de operações de bases de dados, as quais em muitos casos terão dados altamente confidenciais, desenhámos a nossa linguagem SQL para supportar encriptação do lado do cliente e querying do lado do servidor sem revelar dados confidenciais. Isto significa que qualquer query enviada para um nó da BlockBase, pode ter os seus dados sensíveis previamente encriptados de tal maneira que o nó retornará os dados corretos sem conhecimento do que foi pedido ou recolhido.
Este método de encriptação difere largamente do que é feito em bases de dados tradicionais. Nas bases de dados tradicionais, todos os dados que chegam ao servidor de bases de dados são desencriptados, e normalmente armazenados na mesma forma na base de dados. A encriptação pode ser ativada na base de dados, mas só é aplicada aos dados armazenados. Todos os dados que entram e saiem da base de dados continuam desencriptados. Além disso, mesmo que a base de dados tenha a encriptação ativada, continua a ser um sistema centralizado onde uma pessoa com autoridade suficiente tem as chaves para desencriptar todos os dados.
Publicado por Ricardo Schiller
Lead Architect