Redes Tokenizadas: Web3, a Web de Estado - Token-Economy-Book/2ndEdition-Brazilian GitHub Wiki
Se assumirmos que a WWW revolucionou a informação, e que a Web2 revolucionou as interações, a Web3 tem o potencial de revolucionar os acordos e as trocas de valor. A Web3 altera as estruturas de dados na infraestrutura da Internet, introduzindo uma camada de Estado universal, muitas vezes, incentivando os atores de rede com um token. A espinha dorsal desta Web3 é representada por uma série de redes blockchain ou ledgers distribuídas similares.
A Internet que temos hoje está avariada. Não controlamos os nossos dados, nem temos uma camada nativa de compensação de valores. Trinta anos após a adopção em massa da Internet, as nossas arquiteturas de dados ainda são baseadas no conceito do computador autónomo, onde os dados são armazenados e geridos centralmente num servidor e enviados ou recuperados por um cliente. Cada vez que interagimos através da Internet, cópias dos nossos dados são enviados para o servidor de um fornecedor de serviços, e cada vez que isso acontece, perdemos o controlo sobre os nossos dados. Como resultado, e mesmo que vivamos num mundo cada vez mais conectado, os nossos dados são armazenados essencialmente de forma centralizada: em servidores locais ou remotos, nos nossos computadores pessoais, dispositivos móveis, flash drives, e cada vez mais também em nossos relógios, carros, TVs, ou frigoríficos. Isto levanta questões de confiança. Posso confiar nas pessoas e instituições que armazenam e gerem os meus dados contra qualquer forma de corrupção - interna ou externamente -, de propósito ou por acidente? Estruturas centralizadas de dados não só levantam questões de segurança, privacidade e controlo de dados pessoais, mas também produzem muitas ineficiências ao longo da cadeia de fornecimento de bens e serviços.
Há raízes históricas para estas questões desde que o computador precedeu a Internet. Nos primeiros dias dos computadores pessoais, uma pessoa não poderia enviar arquivos de um computador para o outro. Seria preciso gravar o arquivo numa disquete, dirigirmo-nos até à pessoa que precisava do arquivo, e copiar o arquivo para o seu computador para que ela pudesse usá-lo. Se essa pessoa estivesse noutro país, seria preciso ir aos correios e enviar a disquete. O surgimento do Protocolo Internet (IP) pôs um fim a isso, conectando todos os computadores autónomos com um protocolo de transmissão de dados, o que tornou a transferência de dados mais rápida, e cortou os custos de transação do intercâmbio de informações. No entanto, a Internet que usamos hoje ainda é predominantemente construída sobre a ideia do computador independente, onde a maioria dos dados são armazenados e geridos centralmente nos servidores de instituições (ditas) confiáveis. Os dados nesses servidores são protegidos por firewalls, e os administradores de sistema são necessários para gerir a segurança dos dados armazenados nos servidores.
O surgimento da WWW no início dos anos 90 aumentou a usabilidade da Internet com sites visualmente atraentes e fáceis de navegar. Dez anos depois, a Internet tornou-se mais madura e programável. Assistimos à ascensão da chamada Web2, que nos trouxe redes sociais, comércio eletrônico e plataformas de conhecimento. A Web2 revolucionou as interações sociais, aproximando produtores e consumidores de informação, bens e serviços. A Web2 permitiu-nos desfrutar de interações peer-to-peer (P2P) a uma escala global, mas sempre com um intermediário: uma plataforma atuando como um intermediário confiável entre duas pessoas que não se conhecem ou confiam uma na outra. Apesar de essas plataformas de Internet terem feito um trabalho fantástico de criar uma economia P2P, elas também ditam todas as regras e controlam os dados dos seus utilizadores.
Neste contexto, as redes blockchain parecem ser uma força motriz da próxima geração de Internet, a que alguns se referem como a Web3. Reinventam a forma como os dados são armazenados e geridos através da Internet, fornecendo um conjunto único de dados - uma camada universal de Estado - que é gerido coletivamente por todos os nós da rede. Esta camada de Estado única, é capaz de fornecer pela primeira vez à Internet uma camada de consenso quanto ao valor nativo de um ativo na ausência de intermediários. Ela permite transações verdadeiramente P2P, e tudo começou com o surgimento da Bitcoin.
Enquanto a Web2 era uma revolução de front-end, a Web3 é uma revolução de back-end. A Web3 reinventa como a Internet é conectada na infraestrutura, combinando as funções de sistema da Internet com as funções de sistema dos computadores. No entanto, nada vai mudar no front-end da Internet para o utilizador comum. A Web3 representa um conjunto de protocolos, com os livros-razão distribuídos como sua espinha dorsal. A informação é gerida de forma colaborativa por uma rede P2P de computadores. As regras de gestão são formalizadas no protocolo e garantidas por maioria de consenso de todos os participantes da rede, que são incentivados com um token de rede em prol de suas atividades. O protocolo formaliza as regras de governança da rede e garante que as pessoas que não se conhecem ou confiam umas nas outras alcancem e estabeleçam acordos através da Web. O tentar manipular dados num servidor centralizado assemelha-se a invadir uma casa, onde a segurança é fornecida por uma vedação e um sistema de alarme, tarefa que mais fácil do que dificilmente pode ser alcançada; a Web3 é projetada de tal maneira que seria necessário invadir várias casas ao redor do planeta simultaneamente, cada uma com sua própria vedação e sistema de alarme. Isto pode ser possível – pelo menos em teoria -, mas proibitivamente caro.


Blockchain: Um Protocolo de Estado
A Internet que usamos está sem Estado. Não tem um mecanismo nativo para transferir o que a ciência da computação se refere como "Estado". Estado refere-se a informação, ou o status de "quem é quem?"; "Quem detém o quê?" e "quem tem o direito de fazer o quê?" numa rede. A capacidade de transferir valor facilmente e P2P é essencial para mercados eficientes, e "estado" é uma propriedade chave para gerir e transferir valores. Na Web3, os valores são representados por símbolos criptograficamente seguros.
Se não puder manter o Estado na Internet, não pode transferir valor sem a existência de instituições centralizadas que atuem como entidades de compensação. Embora a Internet de hoje tenha acelerado a transferência de informação por ordens de magnitude do que foi possível antes, ainda precisamos de instituições confiáveis, como fornecedores de plataforma de Internet para mediar as nossas ações como uma solução para esta falta de Estado. Protocolos sem gestão de estado como a Web atual só gerem a transferência de informação, onde o remetente ou receptor dessa informação não tem conhecimento do Estado do outro. Esta falta de Estado é baseada na simplicidade dos protocolos em que a Web é construída, tais TCP/IP, SMTP ou HTTP. Esta família de protocolos regula a transmissão de dados, não como os dados são armazenados. Os dados podem ser armazenados centralmente ou de forma descentralizada. Por muitas razões, o armazenamento centralizado de dados tornou-se a forma principal de armazenamento e gestão de dados.
A introdução de cookies de sessão e prestadores de serviços centralizados ofereceu soluções de trabalho para esta Web sem Estado. Os cookies de sessão foram inventados para que as aplicações baseadas na web pudessem preservar o estado nos dispositivos locais. Antes dos cookies de sessão - nos primeiros dias da WWW - não tínhamos histórico de navegação, nenhum site favorito salvo e nenhuma ferramenta de “auto-complete”, o que significava que tínhamos de voltar a apresentar as nossas informações de utilizador cada vez que voltávamos a usar um site. Apesar de os cookies de sessão oferecerem uma melhor usabilidade, estes cookies são criados e controlados por um fornecedor de serviços, como Google, Amazon, Facebook, o seu banco, a sua Universidade, etc., cujo papel é fornecer e gerir o estado do seu utilizador.
As plataformas Web2 introduziram muitos serviços benéficos e criaram um valor social e económico considerável ao longo dos anos. No entanto, a riqueza foi acumulada principalmente pelas empresas que oferecem os serviços, e menos pelo público em geral que contribui com conteúdo e valor para esses serviços. Em vez de descentralizar o mundo, as plataformas Web2 contribuíram para uma re-centralização da tomada de decisões económicas, de decisões de Investigação & Desenvolvimento, e, posteriormente, para uma enorme concentração de poder em torno desses fornecedores de plataformas. Além disso, uma vez que o início da Internet foi criado em torno da ideia de informação livre, os clientes muitas vezes não estavam dispostos a pagar por conteúdo on-line com uma taxa de assinatura recorrente e, na maioria dos casos, os micropagamentos ainda não eram viáveis. Portanto, muitas dessas plataformas Web2 precisavam encontrar formas alternativas de lucrar com os serviços gratuitos que forneciam, e essa alternativa era a publicidade. O que se seguiu foi a publicidade orientada com base no comportamento do utilizador e a mercantilização de dados privados. Os modelos de negócio desenvolveram-se, portanto, em torno de publicidade orientada que se baseia nos conjuntos de dados recolhidos, que fornecem "estado" para estas plataformas. Como resultado disso, os utilizadores estão a pagar por serviços através dos seus dados privados.
A rede Bitcoin introduziu um mecanismo para que cada nó da rede possa enviar e receber tokens, e em que o estado dos tokens fica permanentemente gravado digitalmente num formato nativo. O protocolo de consenso da rede Bitcoin é projetado de forma a que a rede possa coletivamente lembrar eventos anteriores ou interações de utilizadores, resolvendo o problema do "gasto duplo", fornecendo uma única fonte de referência para quem recebeu o quê e quando. O protocolo Bitcoin pode, portanto, ser visto como uma mudança de paradigma, abrindo caminho para uma Web mais descentralizada. O White Paper da Bitcoin de 2008 iniciou uma nova forma de infraestrutura pública, onde o estado de todos os tokens Bitcoin são mantidos coletivamente.
As redes Blockchain, tal como a rede Bitcoin, são apenas a espinha dorsal, e o ponto de partida, mas não o único bloco de construção nesta nova Web descentralizada. A arquitetura Web3 alavanca o estado universal mantido coletivamente para a computação descentralizada. Aplicações descentralizadas podem gerir alguns ou todos os seus conteúdos e lógica através de uma rede blockchain ou outra tecnologia de ledger distribuídos. Mas outros protocolos também são necessários. Muitos desenvolvedores começaram a construir redes de blockchain alternativas, bem como protocolos complementares para o Web3.
Outros Protocolos Web3
Blockchain não é a única tecnologia necessária para descentralizar a Web. Uma infinidade de outros protocolos são necessários para criar uma aplicação descentralizada. No entanto, o termo "blockchain" parece ser usado como um sinónimo para muitos protocolos Web3[^1] ou a própria Web3, pelo menos para alguns jornalistas e público em geral. Além da computação, precisamos de armazenamento de ficheiros, mensagens, identidades, acesso a dados externos (oráculos) e muitos outros serviços descentralizados. Uma rede blockchain é simplesmente o processador para aplicações descentralizadas que operam no topo da Web3. Ela funciona como uma máquina de contabilidade distribuída registando todas as transações de tokens e executando computação.
As redes Blockchain não são ideais para armazenar dados, por duas razões principais: (i) as redes públicas de blockchain são muito lentas e muito caras para armazenar grandes conjuntos de dados; e (ii) armazenar redes de blockchain de dados de texto simples não permite a chamada "privacy by design”[^2]. Para criar um YouTube descentralizado, por exemplo, é necessário o armazenamento descentralizado de arquivos para gerir os arquivos de vídeo. Uma panóplia de soluções de redes de armazenamento descentralizadas têm vindo a surgir, tais como “IPFS”, “Filecoin”, “Swarm”, “Storj”, ou “Sia”. Redes de armazenamento descentralizadas incentivam os nós da rede a compartilhar o espaço de armazenamento, com um token nativo, transformando o armazenamento em nuvem em mercados algorítmicos. Elas diferem nos seus níveis de descentralização, privacidade e na sua escolha de mecanismos de incentivo. Algumas podem mesmo nem ter uma camada de incentivo, como a IPFS, por exemplo. Protocolos como o “Golem”, por outro lado, fornecem poder de renderização descentralizado, recompensando as contribuições na rede com o seu token de protocolo nativo. A comunidade de desenvolvedores Web3 tem evoluído ao longo dos últimos anos. Diferentes equipes estão a trabalhar em vários componentes desta Web emergente; no entanto, muitos desses protocolos encontram-se ainda em desenvolvimento. Aplicações Web3 tipicamente estabelecem comunicação com pares que são desconhecidos à partida, e têm qualidade variável em termos de velocidade e confiabilidade. Novas bibliotecas e APIs (Application Programming Interface) são necessárias para navegar por entre essas complexidades. Não está claro quando irá ser alcançada massa crítica para possivelmente substituir as atuais aplicações Web em maior escala, ou quais os padrões que prevalecerão em última instância. A transição da "web cliente-servidor" para a "web descentralizada" será, portanto, gradual em vez de radical. Parece mais estar a passar de centralizado para parcialmente descentralizado e por fim totalmente descentralizado.
Uma das questões de pesquisa aplicada mais prementes ao desenvolver tecnologias complementares para a Web3 é a questão de como recompensar os participantes da rede com um token, para que a rede permaneça resistente a ataques. Exemplos disso seriam mecanismos de incentivo para soluções descentralizadas de armazenamento de arquivos, computação descentralizada, análise de dados ou reputação. Muitos mecanismos de consenso diferentes estão a ser experimentados atualmente, como: "prova de recuperabilidade", "prova de armazenamento" e "prova de espaço-tempo". Soluções de armazenamento totalmente descentralizadas, tais como IPFS e Swarm, ainda não se encontram funcionalmente implementadas.
Pese embora as arquiteturas descentralizadas serem mais resistentes do que seus antecessores centralizados (Web2), elas também são mais lentas. Velocidade, desempenho e usabilidade são pontos de estrangulamento na Web3 que muito provavelmente serão resolvidos ao longo do tempo, logo que os componentes principais da Web3 estejam em pleno funcionamento (leia mais: anexo - escalabilidade). É provável que o futuro da Internet seja mais descentralizado, mas isso não significa que nos vamos livrar completamente dos sistemas centralizados. Os sistemas centralizados têm vantagens e provavelmente prevalecerão, pelo menos para casos de uso específicos.

Aplicações Descentralizadas na Web3
Ao contrário de aplicações centralizadas que funcionam num único computador, aplicações descentralizadas funcionam numa rede P2P de computadores. Elas existem desde o advento das redes P2P e não precisam necessariamente de correr em cima de uma rede blockchain. "Tor", "BitTorrent”, "Popcorn Time" e "BitMessage," são exemplos de aplicações descentralizadas que são executados numa rede P2P, e não numa rede blockchain, que é um tipo específico de rede P2P (leia mais: Anexo - Origens da Bitcoin e Web3).
Aplicações tradicionais usam HTML, CSS, ou javascript para renderizar uma página web ou uma aplicação móvel. O front-end de uma página web ou uma aplicação móvel interage com uma ou mais bases de dados centralizadas. Quando você usa um serviço como Twitter, Facebook, Amazon, ou Airbnb, por exemplo, a página web vai chamar uma API para processar os seus dados pessoais e outras informações necessárias armazenadas em seus servidores, para exibi-los no front-end. O ID do utilizador e as respetivas senhas são usados para identificação e autenticação, com baixos níveis de segurança, uma vez que os dados personalizados são armazenados no servidor do fornecedor de serviços (ISP).
Aplicações descentralizadas não se aparentam diferentes dos sites atuais ou aplicativos móveis. O front-end representa o que se vê e o back-end de uma aplicação descentralizada representa toda a lógica de negócio. Uma aplicação descentralizada é um cliente blockchain chamado "wallet" (carteira). Ela usa as mesmas tecnologias para renderizar uma página web ou uma aplicação móvel (como HTML, CSS, Javascript), mas a comunicação é estabelecida através duma rede blockchain em vez de um servidor e, no caso de redes de contrato inteligentes, através dos chamados “smart contracts” (leia mais: Parte 2 - contratos Inteligentes). A carteira também gere o par de chaves público-privadas e o endereço blockchain, para fornecer uma identidade única para os nós da rede para que eles possam interagir de forma segura com a rede (leia mais: Parte 1 - Segurança dos Tokens & Identidades Centradas no Utilizador). Os contratos inteligentes representam a lógica de negócio principal da aplicação descentralizada e processa os “feeds” de dados de dentro e fora da rede para gerir o estado de todos os atores da rede (leia mais: Parte 1 - contratos inteligentes). De forma simples, um nó de rede é o ponto onde uma mensagem pode ser criada, recebida ou transmitida. Se um determinado nó for um “full node” (nó completo), ele também irá gerir o estado completo de toda a blockchain desde a sua génese, (leia mais: Parte 1 - Bitcoin, Blockchain & Outras Ledgers Distribuídas). Neste caso, o nó executa as funções de um cliente HTTP e um servidor, sendo todos os dados armazenados no lado do cliente. Os dados front-end, incluindo arquivos de áudio ou vídeo e outros documentos, poderiam ser coletivamente armazenados e gerenciados por redes de armazenamento descentralizadas como "Swarm" ou "IPFS".” No momento de redação deste livro, esses dados ainda são, na maioria das vezes, armazenados e geridos por servidores.
Para o utilizador comum, as aplicações descentralizadas precisam ser vistas e sentidas da mesma forma que as aplicações existentes, o que significa que elas precisam ser tão fáceis e intuitivas de usar para serem adoptadas em maior escala. Atualmente, software de carteiras e gestão de chaves ainda são difíceis de serem usadas e percebidas por parte do utilizador comum, o que pode ser um fator de estrangulamento para a adopção em massa de aplicações Web3. Além disso, a adopção em larga escala só pode acontecer se a desconfiança em relação às soluções centralizadas for suficientemente elevada para justificar os “trade-off” de usabilidade.
Resumo do Capítulo
A Internet que temos hoje está avariada. Não controlamos os nossos dados, nem temos uma camada nativa de compensação de valores. Cada vez que interagimos através da Internet, cópias dos nossos dados são enviados para o servidor de um fornecedor de serviços, e cada vez que isso acontece, perdemos o controlo sobre os nossos dados. Isto levanta, obviamente, questões de confiança.
~
A Internet que usamos hoje armazena e gere dados nos servidores de instituições confiáveis. Na Web3 os dados são armazenados em várias cópias de uma rede P2P, e as regras de gestão são formalizadas no protocolo e garantidas por maioria de consenso de todos os participantes da rede, muitas vezes (mas nem sempre) incentivado com um token de rede para suas atividades.
~
Na Web3, o estado da rede (representada pela ledger de todas as transações registadas) é mantido coletivamente, o que garante a sua imutabilidade e segurança.
~
Enquanto a Web2 era uma revolução de front-end, a Web3 é uma revolução de back-end, introduzindo uma camada de Estado universal. É um conjunto de protocolos liderados por uma rede blockchain ou ledger distribuída similar, que pretende reinventar como a Internet é conectada na infraestrutura. A Web3 combina as funções do sistema da Internet com as funções do sistema de computadores.
~
Ao contrário das aplicações centralizadas que funcionam num único computador, as aplicações descentralizadas funcionam numa rede P2P de computadores. Existem desde o advento das redes P2P. Aplicações descentralizadas não precisam necessariamente de correr em cima de uma rede blockchain.
~
Uma aplicação descentralizada é um cliente blockchain chamado "wallet". Ele usa as mesmas tecnologias para renderizar uma página web ou um aplicativo móvel (como HTML, CSS, Javascript), mas comunica-se com uma rede blockchain em vez de um servidor e, no caso de redes de contratos inteligentes, através dos chamados “smart contracts”. A carteira também gerencia o par de chaves público-privadas e o endereço blockchain, para fornecer uma identidade única para os nós da rede e permitir que eles interajam com a rede._
Referências do Capítulo & Leitura Adicional
- Benet, Juan: “IPFS - Content Addressed, Versioned, P2P File System (DRAFT 3),” retrieved, Sept 10, 2018: https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
- Ehrsam, Fred; “The dApp Developer Stack: The Blockchain Industry Barometer”, Apr 30, 2017, retrieved from: https://medium.com/@FEhrsam/the-dapp-developer-stack-the-blockchain-industry-barometer-8d55ec1c7d4
- Gaúcho Pereira Felipe Gaúcho: “The Web3 Video Stack Charting the infrastructure for a decentralized mediaverse!”Aug 16, 2018, retrieved from: https://tokeneconomy.co/web3videostack-c423481c32a5
- Gillies, James; Cailliau, Robert: “How the Web was Born: The Story of the World Wide Web”, Oxford University Press, 2000, retrieved from https://books.google.de/books?id=pIH-JijUNS0C&lpg=PA25&ots=MKZj0F7pJN&pg=PA25&redir_esc=y#v=onepage&q&f=false
- Koblitz, N.: „Elliptic curve cryptosystems“. Mathematics of Computation. 48 (177): 203–209, 1987
- Laplante, Philip A.: “Dictionary of Computer Science, Engineering and Technology”, 2000, CRC Press. p. 466.
- McConaghy, Trent: “Blockchain Infrastructure Landscape: A First Principles Framing Manifesting Storage, Computation, and Communications”, Jul 15, 2017, retrieved from: https://medium.com/@trentmc0/blockchain-infrastructure-landscape-a-first-principles-framing-92cc5549bafe
- Miller, V.; “Use of elliptic curves in cryptography”. CRYPTO. Lecture Notes in Computer Science. 85. pp. 417–426, 1985
- Misra, Jayadev: “A Discipline of Multiprogramming: Programming Theory for Distributed Applications” Springer, 2001.
- Monegro, Joel: “Fat Protocols”, Aug 8, 2016, retrieved from: https://www.usv.com/blog/fat-protocols
- Nakamoto, Satoshi: „Bitcoin: A Peer-to-Peer Electronic Cash System,“ Bitcoin.org, 2008, Archived from the original on 20 March 2014, retrieved from: https://bitcoin.org/bitcoin.pdf
- N.N.: “Web3 Foundation - Website,” retrieved from: https://web3.foundation/
- N.N.: “Comprehensive wiki of generalised Web3 stack,” retrieved, Sept 10, 2018: https://github.com/w3f/Web3-wiki/wiki
- Pon, Bruce: “Blockchain will usher in the era of decentralised computing”, Apr 15, 2016, retrieved from: https://blog.bigchaindb.com/blockchain-will-usher-in-the-era-of-decentralised-computing-7f35e94af0b6
- Samani, Kyle: “The Web3 Stack”, July 10, 2018, retrieved from: https://multicoin.capital/2018/07/10/the-web3-stack/
- Stallings, W.: “Computer Networking with Internet Protocols and Technology”, Pearson Education, 2004.
- Tekisalp, Emre: “Understanding Web 3 — A User Controlled Internet. Coinbase breaks down the motivation and technology behind the development of Web 3”, Coinbase, Aug 29, 2018, retrieved from : https://blog.coinbase.com/understanding-web-3-a-user-controlled-internet-a39c21cf83f3
- Thomas, John; Mantri, Pam: "Complex Adaptive Blockchain Governance", MATEC Web of Conferences 223, 01010 (2018) https://doi.org/10.1051/matecconf/201822301010 ICAD 2018, , retrieved from: https://www.matec-conferences.org/articles/matecconf/pdf/2018/82/matecconf_icad2018_01010.pdf
- Tual, Stephan: “Web 3.0 Revisited — Part One: “Across Chains and Across Protocols”, May 26, 2017: https://blog.stephantual.com/web-3-0-revisited-part-one-across-chains-and-across-protocols-4282b01054c5
- Vinton G. Cerf; Robert E. Kahn (May 1974). „A Protocol for Packet Network Intercommunication“. IEEE Transactions on Communications. 22 (5): 637–648. doi:10.1109/tcom.1974.
- Wolpert, John: “Bring on the Stateful Internet”, Aug 2, 2018, retrieved from: https://media.consensys.net/bring-on-the-stateful-internet-d589adc7bb65
- Wood, Gavin: “ĐApps: What Web 3.0 Looks Like”, April 17. 2014, retrieved from: http://gavwood.com/dappsweb3.html
- Filecoin: https://filecoin.io/
- Golem: https://golem.netw
- IPFS: https://ipfs.io/
- SIA: https://sia.tech/
- Storj: https://storj.io
- Swarm: https://swarm-guide.readthedocs.io/en/latest/
Notas de rodapé
[^1]: Note que termos semelhantes, como o Web 3.0, são usados em outros domínios, fazendo muitas das vezes referência a uma Web mais inteligente ou Web Semântica, incluindo “machine learning” e Inteligência Artificial, focando na convergência de várias tecnologias-chave emergentes. No contexto do blockchain, o termo é usado por muitos para se referir a uma Internet mais descentralizada e é geralmente referido como Web3 (Não Web 3.0).
[^2]: “Privacy by Design” refere-se a “data protection through technology design.” (https://gdpr-info.eu/issues/privacy-by-design)