| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 1.63 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
A tecnologia blockchain é um tópico em voga, com a sua visibilidade a estar directamente associada às criptomoedas, cuja grande expansão foi impulsionada pela Bitcoin (BTC). Apesar desta “explosão” recente, os conceitos base da tecnologia blockchain já têm décadas. O Hashcash, por exemplo, já utilizava um sistema de validação semelhante à Bitcoin para mitigar spam e ataques de negação de serviço. Embora os termos Bitcoin e blockchain tenham uma forte conotação, não são equivalentes. De forma concreta, uma blockchain é uma estrutura de dados que armazena informação numa cadeia de blocos ligados (block+chain) e cuja sequência é validada através de criptografia, particularmente funções de síntese (hash). Aumentar a cadeia requer que haja consenso entre os participantes sobre qual o próximo bloco a adicionar, consenso esse que é atingido por diversos mecanismos como sendo o Nakamoto consensos da Bitcoin, baseado em Proof-of-Work. Uma vez adicionado um bloco, essa informação é propagada aos participantes, existindo uma representação global e coesa da blockchain para todos. Um ponto importante é que não é possível apagar dados uma vez inseridos, o que, combinado com a verificação criptográfica e o uso de consenso, torna-a resistente à manipulação do seu conteúdo. É claro que esta tecnologia tem um grande potencial disruptivo, o que por sua vez tem causado uma “corrida ao ouro” digital, levando a que muitas organizações criem as suas próprias blockchains para posicionar-se no mercado. Os casos de uso já comprovados aproveitam as características da blockchain e variam entre aplicações financeiras baseadas em tokens que tiram partido da descentralização e a transposição para blockchain de actividades em que a auditabilidade e resistência à manipulação é altamente valorizada como sendo a gestão de cadeias logísticas. A qubIT, enquanto criadora de soluções de sofware, propôs este projecto para explorar o uso desta tecnologia no seu âmbito principal de negócio, os sistemas de gestão académica. Foi assim ideada uma prova de conceito com o objectivo de permitir validar documentos académicos assim como partilhar dados entre (e através das) instâncias Fenix das instituições da Universidade de Lisboa. Inspirando-se num dos casos de uso comprovados de blockchain, o rastreio de cadeia logística, a visão desta prova de conceito poderia ser descrita como “rastreio de documentação académica”. A questão a responder é: como podemos avaliar a validade de um documento académico para além da assinatura digital que lhe está aposta? Um exemplo seria o caso em que o documento está assinado por alguém que, naquele momento, não tinha legitimidade para o fazer. O objectivo é publicar informação numa blockchain e, através desta, estabelecer um registo cronológico imutável que pode ser utilizado para adicionar maior legitimidade e transparência a um documento académico. Existem dois principais desafios para o uso de blockchain para documentos académicos. O primeiro provém do cumprimento do RGPD. Por exemplo, sabendo que os dados ficam de forma permanente na blockchain, como lidar com a revogação de consentimento sobre dados já publicados. Relacionado com este, surge também a falta de suporte legislativo para valores armazenados na blockchain (não está estabelecido o seu valor probatório), especialmente quando comparada com o suporte existente para as assinaturas digitais. O primeiro passo foi escolher uma blockchain para a implementação. Começámos por decidir entre a utilização de uma rede aberta, já existente, ou criar a nossa rede através de uma blockchain permissionada. Aqui analisámos o uso de Ethereum. Com a sua rede e suporte para várias linguagens de desenvolvimento, era uma opção viável. Tinha a vantagem de podermos beneficiar da infraestrutura já existente, incorrendo apenas nos custos associados ao seu uso. Contudo, devido a esses custos e à inexistência de regulamentação para os enquadrar, optámos por criar a nossa própria infraestrutura através de uma solução permissionada. Para tal, analisámos várias implementações até que a escolha foi reduzida a dois candidatos, Fabric e Corda, que comparámos extensivamente. A abordagem tomada contrastou-os em três áreas: governança, que dados são visíveis e como são acedidos pelos participantes; suporte, quão activa é a equipa de desenvolvimento e como são resolvidos incidentes; e arquitectura, explorando os aspectos técnicos relacionados com suporte para linguagens de programação ou armazenamento de dados. No fim, foi escolhido o Corda por ser baseado em Java, podendo assim ser rapidamente integrado com o conjunto de tecnologias já utilizadas e acelerar o desenvolvimento da prova de conceito. Contribuindo para esse processo foi também criado um ambiente de desenvolvimento com as ferramentas necessárias para a criação de aplicações Corda (CorDapps). A salientar, contudo, que o Corda não é estritamente uma blockchain, mas sim um livro-razão (ledger) distribuído. Esta distinção aplica-se porque, no Corda, não existe um estado global partilhado mas sim conjuntos de registos que são visíveis para as entidades consoante as transacções em que participam. Utilizando a versão open source do Corda foi construída a Academic CorDapp. Esta aplicação permitia que fosse publicada e partilhada informação entre várias instânciasdo Fenix. Os dados publicados agregavam informação relativa a estudantes, cursos, notas e documentos e, com o seu registo no ledger, permitiam estabelecer uma cronologia imutável do progresso académico de um estudante numa instituição. Esta aplicação funcionava de forma autónoma, através da linha de comandos, com a sua integração no Fenix condicionada a um parecer favorável após análise pela equipa de soluções de negócio. Nesta avaliação, determinou-se que o Corda tinha alguns aspectos técnicos mais fracos (p.ex., suporte para bases de dados) mas era capaz de cumprir os requisitos para integração. O ponto principal levantando na avaliação foi que a proposta de valor adicionado pelo uso de blockchain era insuficiente quando comparada aos mecanismos de assinatura digital qualificada já existentes, especialmente se utilizado o padrão LTV. Foram então re-avaliadas as opções que tínhamos previamente excluído no processo de escolha do Corda. A solução em Ethereum continuou inviável pelas razões que tinham determinado a sua exclusão inicial: falta de suporte legal assim como a dificuldade em estimar os custos de operação. Foi discutida a possibilidade de reimplementar a aplicação utilizando o Fabric ou outra solução permissionada. Isto, apesar de resolver as limitações tecnológicas do Corda, não conseguia sanar a comparação com as assinaturas digitais que comprometia a viabilidade comercial. Assim sendo, a equipa deu um parecer desfavorável e decidiu que o projecto não iria avançar para a fase de integração em produção. Não obstante este desfecho, este projecto foi frutífero para estabelecer uma base de conhecimento sobre as implementações blockchain existentes, permitindo guiar adequadamente projectos futuros, assim como deixou preparadas ferramentas para acelerar o processo de desenvolvimento e aumentar a competitividade em futuras oportunidades neste espaço de negócio.
The term blockchain is a “hot topic” in technology, with its visibility in the mainstream being boosted by the cryptocurrency boom brought forth by Bitcoin (BTC). An enterprise solutions developer, qubIT proposed this project to explore the use of blockchain technology in their main business scope, academic management systems. For that, a proof of concept was devised that used blockchain with the goal of providing document validation and data sharing across (and through) Fenix instances of ULisboa’s schools. Taking inspiration from a proven use case, supply chain traceability, the project’s vision could be described as “academic document transparency”. The main concerns regarding the project’s outcome were possible GDPR issues (e.g., revoking consent) and a lack of regulatory backing when compared to digital signatures. First step was to choose a blockchain implementation. We started by deciding between using an open, existing blockchain network or building it using a permissioned blockchain. For this we considered Ethereum. It was a viable option but, due to regulatory concerns, we decided to opt for a permissioned blockchain. After exploring different blockchain offerings, we narrowed the choice down to Fabric and Corda, comparing them in depth. In the end, Corda was chosen and its open source version was used for the Academic CorDapp. This application allowed Fenix instances to publish information on a shared ledger, using it to chronologically track a student’s academic achievements. It functioned in a stand-alone manner, with a favorable evaluation from the Business Solutions team determining its integration into Fenix production systems. Corda was found lacking in some technical aspects (e.g., database support) but capable. The key issue was that the value added by using blockchain was insufficient when compared to qualified digital signature mechanisms, specifically the LTV standard, which led to the decision of not pursuing the project any further. Despite this, this project had a positive outcome in building know-how regarding blockchain that will help guide future ventures in this area.
The term blockchain is a “hot topic” in technology, with its visibility in the mainstream being boosted by the cryptocurrency boom brought forth by Bitcoin (BTC). An enterprise solutions developer, qubIT proposed this project to explore the use of blockchain technology in their main business scope, academic management systems. For that, a proof of concept was devised that used blockchain with the goal of providing document validation and data sharing across (and through) Fenix instances of ULisboa’s schools. Taking inspiration from a proven use case, supply chain traceability, the project’s vision could be described as “academic document transparency”. The main concerns regarding the project’s outcome were possible GDPR issues (e.g., revoking consent) and a lack of regulatory backing when compared to digital signatures. First step was to choose a blockchain implementation. We started by deciding between using an open, existing blockchain network or building it using a permissioned blockchain. For this we considered Ethereum. It was a viable option but, due to regulatory concerns, we decided to opt for a permissioned blockchain. After exploring different blockchain offerings, we narrowed the choice down to Fabric and Corda, comparing them in depth. In the end, Corda was chosen and its open source version was used for the Academic CorDapp. This application allowed Fenix instances to publish information on a shared ledger, using it to chronologically track a student’s academic achievements. It functioned in a stand-alone manner, with a favorable evaluation from the Business Solutions team determining its integration into Fenix production systems. Corda was found lacking in some technical aspects (e.g., database support) but capable. The key issue was that the value added by using blockchain was insufficient when compared to qualified digital signature mechanisms, specifically the LTV standard, which led to the decision of not pursuing the project any further. Despite this, this project had a positive outcome in building know-how regarding blockchain that will help guide future ventures in this area.
Descrição
Trabalho de projeto de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2020
Palavras-chave
Blockchain Fabric Corda Governança Fenix Documentos Assinatura Digital Trabalhos de projeto - 2020
