Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update roadmap and privacy docs #148

Merged
merged 1 commit into from
Jul 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 5 additions & 26 deletions docs/privacidad.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,10 @@ sidebar_label: Privacidad en Blockchain

La tecnología Blockchain proporciona las herramientas necesarias para descentralizar la información de forma segura e inquebrantable. La introducción de Bitcoin hizo posible que miles de nodos de todo el mundo compartan y mantengan la misma información. Sin embargo, en la mayoría de las Blockchains, la idea central es hacer pública esta información para que todos accedan a ella y verificarla, sin la necesidad de una autoridad central. Por lo tanto, las cadenas de bloques públicas se definen como * sin confianza * (no es necesario confiar). Sin embargo, muchas empresas y entidades privadas que desean usar la tecnología blockchain se encuentran con una pregunta muy importante: ¿cómo mantener la información privada y al mismo tiempo mantener la seguridad y la transparencia de una blockchain pública?

La privacidad en LACChain EOSIO se centra en hacer que los datos solo estén disponibles para una lista específica de participantes. Para lograr esto, se debe implementar un mecanismo que garantice que las transacciones se distribuyan solo a una lista de participantes que pueden enviar transacciones privadas entre ellos.

Esto trae unas cuantas de preguntas:
## Soluciones de Privacidad de Datos en Blockchain

- ¿Qué cuentas pueden ver la transacción?
- ¿Qué nodos pueden ver la transacción?
- ¿Qué nodos pueden ver el contrato inteligente?
- ¿Quién maneja la lista de actores permitidos? (en cadena vs. fuera de cadena)


## Revisión tecnológica de las soluciones de privacidad de datos de Blockchain

[Este informe](https://arxiv.org/pdf/2105.01316) estudia las tecnologías de blockchain empresarial existentes: sistemas impulsados ​​por EOSIO, Hyperledger Fabric y Besu, Consensus Quorum, R3 Corda y Ernst and Young's Nightfall, que brindan privacidad de datos al mismo tiempo que aprovechan los beneficios de la integridad de datos de blockchain. Al revisar y comparar cómo y qué tan bien estas tecnologías logran la privacidad de los datos, se logra capturar una noción de las mejores prácticas y modelos de privacidad de datos actuales de la industria. Las principales tecnologías empresariales se contrastan en paralelo con EOSIO para comprender mejor cómo EOSIO puede evolucionar para cumplir con las tendencias observadas en la privacidad de la cadena de bloques empresarial. En general, se observaron las siguientes estrategias y tendencias en estas tecnologías:
[Este informe](https://arxiv.org/pdf/2105.01316) estudia las tecnologías de blockchain empresarial existentes: sistemas impulsados ​​por EOSIO, Hyperledger Fabric y Besu, Consensus Quorum, R3 Corda y Ernst and Young's Nightfall, que brindan privacidad de datos al mismo tiempo que aprovechan los beneficios de la integridad de datos de blockchain. Al revisar y comparar cómo y qué tan bien estas tecnologías logran la privacidad de los datos, se logra capturar una noción de las mejores prácticas y modelos de privacidad de datos actuales de la industria. Las principales tecnologías empresariales se comparan con EOSIO para comprender mejor cómo EOSIO puede evolucionar para cumplir con las tendencias observadas en la privacidad de la cadena de bloques empresarial. En general, se observaron las siguientes estrategias y tendencias en estas tecnologías:

**Criptografía:** Se descubrió que el algoritmo hash es la primitiva criptográfica más utilizada en las soluciones de privacidad empresarial.

Expand All @@ -34,22 +25,10 @@ Esto trae unas cuantas de preguntas:

## Privacidad en EOSIO

### LACChain EOSIO ZPK

Las pruebas o protocolos de conocimiento cero, también conocidos como ZKP, son uno de los métodos alternativos explorados en LACChain EOSIO para resolver el desafío de la privacidad en blockchain. ZPK es el método por el cual los operadores de nodos pueden demostrar que una transacción es válida sin la necesidad de revelar los valores de la transacción. El hecho de que este valor agregado de privacidad se pueda obtener a través de la criptografía es útil para las personas y entidades privadas que se benefician del uso de la tecnología blockchain sin temor a compartir información confidencial.

LACChain EOSIO tiene como objetivo integrar nuevas primitivas (intrínsecas) para la verificación de ZKP disponible de forma nativa para Smart Contracts (Dapps) para la construcción de aplicaciones con requisitos de privacidad y al mismo tiempo puede validarse para los mismos agentes en la red (BPs + Full Nodos), sin la necesidad de agregar nuevos agentes a la red.

### Administrador de transacciones de privacidad

Un Privacy Transaction Manager (PTM) es un mecanismo utilizado en varias tecnologías de blockchain para distribuir transacciones privadas por un canal lateral de punto a punto, donde solo los participantes involucrados en la transacción reciben la carga privada. Se registra un puntero o hash de la transacción en la cadena de bloques de publica, para que los participantes puedan verificar la integridad y el orden de las transacciones privadas.

Por ejemplo **Hyperledger Besu**, otra tecnología blockchain utilizada en LACChain, utiliza un PTM llamado Orion. Besu proporciona una extensión de contrato pre-compilada del cliente ethereum que usa claves de Orion para canalizar transacciones privadas a través de nodos de Orion para evitar que los datos sean visibles en la red pública.

### Soluciones existentes de privacidad en EOSIO
https://github.com/EOSIO/eosjs-ecc/issues/19#issuecomment-392941963
La versión 2.2 de EOSIO tiene una [función de grupo de seguridad o control de acceso privado](https://developers.eos.io/manuals/eos/v2.2/nodeos/features/private_chain_access/index) nativa que proporciona una solución de seguridad de dos capas diseñado para que los administradores de blockchain controlen qué participantes pueden acceder y utilizar una red EOSIO privada. La primera capa de seguridad está diseñada para hacer cumplir las conexiones TLS en el protocolo de red peer-to-peer; por lo que solo aquellos participantes con un certificado debidamente firmado pueden establecer una conexión TLS y comunicarse de forma segura con otros pares. La segunda capa de seguridad, que es opcional, está diseñada para incorporar el concepto de grupo de privacidad o grupo de seguridad; de modo que, si está habilitado, solo los participantes del grupo pueden acceder a los datos de la red privada. Por lo tanto, la primera capa controla el acceso a la "conexión" mientras que la segunda capa administra el acceso a los "datos". Los participantes se consideran entidades lógicas con un nombre EOSIO designado y pueden albergar varios nodos.

https://github.com/GetScatter/ScatterDesktop/issues/43
### Tutorial de control de acceso privado
Este [tutorial de acceso privado a EOSIO](https://developers.eos.io/manuals/eos/v2.2/nodeos/features/private_chain_access/tutorial) demuestra cómo usar la función `SECURITY_GROUP` para lanzar una red EOSIO privada con conexiones TLS, crear un grupo de seguridad y agregar / eliminar participantes para el control de acceso a los datos.

:::note Trabajo en progreso
Aun estamos trabajando en este aspecto de la documentación, si desea mejorar el contenido puede aprender [como contribuir](guias/contribuir). Consulte el [Roadmap del proyecto](./roadmap).
Expand Down
10 changes: 5 additions & 5 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_label: Ruta del Proyecto
---

### Estado Actual: Pro TestNet en progreso
Actualizado a Mayo 2021
Actualizado a Julio 2021


` ✓ = requerido para el hito`
Expand All @@ -21,16 +21,16 @@ Actualizado a Mayo 2021
| Validator nodes enabled ||||| completado |
| Writer nodes enabled ||||| completado |
| Boot nodes enabled | |||| completado |
| Smart-contract based permissioning | |||| en progreso |
| Smart-contract based permissioning | |||| completado |
| App for managing permissioning | |||| completado |
| Privacy leveraged as native | |||| en progreso |
| Privacy leveraged as native | |||| completado |
| Dashboard for nodes | |||| completado |
| Transaction explorer | |||| completado |
| Dashboard of entities running nodes | |||| completado |
| Interface to visualize node's activity | |||| en progreso |
| Interface to visualize node's activity | |||| completado |
| Tracking system to follow and fix installation issues | | ||| |
| Smart-contract based local whitelisting | | ||| completado |
| Dashboard of applications running on the blockchain | | ||| en progreso |
| Dashboard of applications running on the blockchain | | ||| completado |
| Follow installation issues via a defined tracking system to enable and fix installation problems | | ||| |
| Cloud vendor integration | | ||| |
| Gas schema to manage the use of the network | | ||| completado |
Expand Down
26 changes: 3 additions & 23 deletions i18n/en/docusaurus-plugin-content-docs/current/privacidad.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,10 @@ Blockchain technology provides the necessary tools to decentralize the informati

## Privacy on EOSIO

Privacy in LACChain EOSIO is focused on making data only available to a specific list of participants. In order to accomplish this a mechanism must be implemented that ensures transactions are distributed only to a list of participants who can send private transactions among them.
EOSIO version 2.2 has a native [Private Access Control or Security Group feature](https://developers.eos.io/manuals/eos/v2.2/nodeos/features/private_chain_access/index) which provides a two-layer security solution designed for blockchain administrators to control which participants can access and use a private EOSIO network. The first security layer is designed to enforce TLS connections in the peer-to-peer network protocol; so only those participants with a properly signed certificate are able to establish a TLS connection and communicate securely with other peers. The second security layer, which is optional, is designed to bring the concept of a privacy group or security group; so that if enabled, only those participants in the group are allowed to access data from the private network. Therefore, the first layer controls “connection” access while the second layer manages “data” access. Participants are considered logical entities with a designated EOSIO name and may host multiple nodes.

This brings up a couple of questions:
- Which accounts can see the transaction ?
- Which nodes can see the transaction ?
- Which nodes can see the smart contract ?
- Who manages the list of permitted actors ? (on chain vs. off-chain)

### LACChain EOSIO ZPK

Zero-Knowledge Proofs or Protocols, also known as ZKP, is one of the alternative methods explored in LACChain EOSIO to solve the privacy in blockchain challenge. ZPK is the method for which nodes operators can demonstrate that a transaction is valid without the necessity to reveal the values of the transaction. The fact that this added value of privacy can be obtained through the cryptography is useful for the people and private entities that benefit from the use of blockchain technology without the fear of sharing confidential information.

LACChain EOSIO aims to integrate new primitives (intrinsics) for the verification of ZKP natively available to the Smart Contracts (Dapps) for the construction of applications with privacy requirements and at the same time can be validated for the same agents in the network (BPs + Full Nodes), without the necessity to add new agents to the network.

### Privacy Transaction Manager

A Privacy Transaction Manager (PTM) is a mechanism used in several blockchain technologies to distribute private transactions by a peer-to-peer side-channel, where only the participants involved in the transaction receive the private payload. A pointer or hash of the transaction is registered in the public blockchain, so the participants can check the integrity and ordering of the private transactions.

For instance **Hyperledger Besu**, another blockchain technology used in LACChain, Uses a PTM called Orion. Besu provides a pre-compile contract extension of the ethereum client that uses Orion keys to channel private transactions through Orion nodes to prevent data from being visible on the public network.

### Existing EOSIO Privacy Solutions
https://github.com/EOSIO/eosjs-ecc/issues/19#issuecomment-392941963

https://github.com/GetScatter/ScatterDesktop/issues/43
### Private Access Control Tutorial
This [EOSIO private access tutorial](https://developers.eos.io/manuals/eos/v2.2/nodeos/features/private_chain_access/tutorial) demonstrates how to use the `SECURITY_GROUP` feature to launch a private EOSIO network with TLS connections, create a security group and add/remove participants for data access control.

:::note Work in Progress
We are still working on this aspect of the documentation, if you want to improve the content you can learn [how to contribute](./guias/contribuir). See the [Project Roadmap](./roadmap).
Expand Down
8 changes: 4 additions & 4 deletions i18n/en/docusaurus-plugin-content-docs/current/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_label: Project Roadmap
---

### Current Status: Pro TestNet in progress
As of May 2021
As of July 2021


` ✓ = required for milestone`
Expand All @@ -23,14 +23,14 @@ As of May 2021
| Boot nodes enabled | |||| done |
| Smart-contract based permissioning | |||| done |
| App for managing permissioning | |||| done |
| Privacy leveraged as native | |||| in progress |
| Privacy leveraged as native | |||| done |
| Dashboard for nodes | |||| done |
| Transaction explorer | |||| done |
| Dashboard of entities running nodes | |||| done |
| Interface to visualize node's activity | |||| in progress |
| Interface to visualize node's activity | |||| done |
| Tracking system to follow and fix installation issues | | ||| |
| Smart-contract based local whitelisting | | ||| done |
| Dashboard of applications running on the blockchain | | ||| in progress |
| Dashboard of applications running on the blockchain | | ||| done |
| Follow installation issues via a defined tracking system to enable and fix installation problems | | ||| |
| Cloud vendor integration | | ||| |
| Gas schema to manage the use of the network | | ||| done |
Expand Down