Castellano | English |
---|---|
Conceptos & Compromisos | Concepts & Promises (Blockchain Practice Statement) |
Blockchain Federal Argentina Robert Martin-Legène robert@nic.ar Junio 2018 |
Blockchain Federal Argentina Robert Martin-Legène robert@nic.ar June 2018 |
Definiciones | Definitions |
BFA: Blockchain Federal Argentina. Puede referirse tanto al consorcio como a la blockchain que mantiene el consorcio. | BFA: Blockchain Federal Argentina. Can mean both the consortium and the actual blockchain maintained by the consortium. |
Clave: Si no se especifica, usualmente se refiere la clave privada de un par de claves pública/privada. | Key: When unspecified, usually refers to the private keys of a public/private key pair. |
Rotación de claves: El reemplazo de una clave vieja con una nueva para realizar la misma función. | Key roll: Replacing one old key with a new key to perform the same function. |
Cuenta: Una cuenta, también llamada “dirección”, apunta a la clave de un usuario. La parte privada de una clave puede firmar datos. Una cuenta puede tener un balance en Ether, en cuyo caso, la clave privada puede crear transacciones. Los Smart Contracts también tienen una cuenta definida por su dirección, pero en realidad no tienen una clave privada. | Account: An account points to a user’s key and is also known as an address. The private part of the key can sign data. An account may have an Ether balance, in which case the private key can create transactions. Smart contracts also have an account defined by their address, but do not actually have a private key. |
Sellador: nodo que puede sellar bloques, agregándolos a la cadena. | Sealer: node which are able to seal blocks, adding these to the chain. |
Trie: Un árbol de datos (data tree). En Ethereum, un árbol de Merkle-Patricia (Merkle-Patricia tree). | Trie: A data tree. In Ethereum a Merkle-Patricia tree. |
Archivador: un tipo de nodo que archiva todos los bloques históricos que forman parte de la blockchain y los tries relacionados. Cualquiera puede ejecutar un archiver. | Archiver: a type of node which archives all historical blocks that form part of the blockchain and the related tries. Anyone can run an archiver. |
Gateway (pasarela): Un tipo de nodo que actúa como buffer entre los sealers y el resto de la red. | Gateway: A type of nodes acting as a buffer between sealers and the rest of the network. |
Bootnode (nodo de arranque): Un tipo de nodo que brinda las direcciones de otros nodos en la red para facilitar la interconexión de nodos. Cualquiera puede ejecutar un bootnode. | Bootnode: A type of node which gives addresses of other nodes in the network, to facilitate node interconnection. Anyone can run a boot node. |
Nodo transaccional: Un tipo de nodo que puede enviar transacciones. Los nodos transaccionales usualmente son ejecutados por proveedores de servicios que usan la blockchain. | Transaction node: A type of nodes which is able to submit transactions. Transactional nodes are often run by different service providers wishing to make use of the blockchain. |
Génesis: El primer bloque de la blockchain. Este bloque configura algunos parámetros iniciales. | Genesis: The very first block in the blockchain. This block sets some initial parameters. |
Bifurcación: Un punto en la cadena donde se realiza una divergencia de la cadena original. Una bifurcación puede ocurrir por razones de seguridad o para cambiar algunos parámetros de performance en la cadena. | Fork: A point in the chain where a divergence from the original chain is made. A divergence can happen for security reasons, or to change certain performance parameters in the chain. |
Prueba de trabajo: El método de consenso original de blockchain en el cual el primero en resolver un algoritmo complejo podrá crear y agregar el bloque siguiente. | Proof of Work: The original blockchain consensus method where the first one to solve a complex algorithm would be able to create and add the next block. |
Ether: La moneda para transacciones utilizada en la blockchain. No tiene otro valor monetario que el pago por el procesamiento de las transacciones. | Ether: The transaction currency used in the blockchain. This has no monetary value other than to pay for transaction processing. |
Prueba de autoridad: Un método de consenso de blockchain en el cual los bloques de la cadena sólo pueden ser agregados por nodos autorizados. | Proof of Authority: A blockchain consensus method where blocks in the chain can only be created by authorized nodes. |
Nodo de sólo lectura: Un tipo de nodo que puede leer todo lo que ocurre en la cadena pero que no puede enviar cambios a la blockchain. Estos nodos pueden leer muchos estados de smart contracts en forma gratuita e instantánea. | Read-only node: A type of node which can read everything that happens on the blockchain, but which are unable to submit changes content to the blockchain. These nodes are able to read many contract states for free and instantly. |
Metodología de la blockchain | Blockchain method |
El origen de la BFA es un bloque Génesis. Se agregan nuevos bloques a intervalos regulares a través de sealers confiables centralizadamente ejecutados por el Consorcio BFA. La blockchain se basa en el método de consenso Proof of Authority para agregar bloques al final de la cadena. | The BFA blockchain originates from a Genesis block. New blocks are added at regular intervals by central trusted sealers run by the BFA Consortium. The blockchain is based on Proof of Authority consensus method to add blocks onto the end of the chain. |
Descarga de responsabilidad | Disclaimer |
La BFA certifica que se han recibido transacciones correctamente firmadas. Esta certificación no certifica que los contenidos de los datos encontrados en la blockchain sean correctos ni verdaderos. No existe un tiempo garantizado para la inclusión en la blockchain de una transacción enviada. La BFA no tiene jurisdicción ni responsabilidad sobre el contenido de la blockchain, que fue firmado por terceros, aunque las transacciones sean finalmente firmadas por los sealers. La firma simplemente atestigua que las transacciones fueron firmadas correctamente. El hecho de que la BFA otorgue créditos ("ether") a terceros para crear transacciones no significa que BFA apruebe, ni sea responsable del contenido en las transacciones. |
The BFA attests that correctly signed transactions have been received. This certification does not certify that the contents of data found in the blockchain is correct or true. There is no guaranteed time for when a sent transaction will be included into the blockchain. The BFA have no jurisdiction over, nor liability of, content in the blockchain, which was signed by third parties, even though transactions are ultimately signed by the sealers. The signature merely attests that the transactions were properly signed. The fact that BFA gives credits (“ether”) to third parties to create transactions does not mean that BFA condones, nor is responsible for content in transactions. |
Componentes de la red | Network components |
La red consiste de nodos centrales de tipo sealers. Los sealers están interconectados al menos a otros tres sealers y también están conectados a al menos tres nodos de tipo gateway. Se tiene cuidado de que durante la operación normal cualquier sealer pueda alcanzar a cualquier otro sealer retransmitiendo el tráfico sólo a través de otros sealers, creando así una red eficiente y confiable. Los sealers rechazarán conexiones de otros nodos en la red y no se contactarán a nodos que no sean sealers o que no sean gateways. El Consorcio BFA decide qué nuevos sealers se pueden agregar o qué sealers deben ser removidos. Un sealer puede ser reemplazado por otro sealer de la misma organización, lo cual no requiere aprobación del consorcio. Los nodos gateway son puestos por el Consorcio BFA entre la red confiable y el resto de la red blockchain. El Consorcio BFA provee los bootnodes que pueden ser utilizados por los transaction nodes y los read-only nodes. Los bootnodes operados por el Consorcio BFA no tienen cuentas asociadas a ellos. El Consorcio BFA provee también nodos archiver. Los archiver deben tener conectividad internet IPv4 e IPv6. Estos nodos no tiene cuentas asociadas a ellos. Gente y organizaciones no relacionadas con el Consorcio BFA pueden elegir proveer el servicio de bootnodes y archivers independientemente del Consorcio BFA. Los transaction nodes se conectan entre sí, a read-only nodes, y a nodos gateway a voluntad. Los transaction nodes pueden crear transacciones y, por lo tanto, tienen cuentas asociadas a ellos. Los transaction nodes necesitan un acuerdo con el Consorcio BFA para recibir Ether con el fin de crear transacciones en la blockchain. Los transaction nodes no puede enviar Ether a otras cuentas (incluyendo contratos). Los read-only nodes pueden ser operados por cualquiera. Estos se conectan a los nodos gateway. Se utilizan para leer el contenido de la blockchain y además pueden llamar a funciones read-only de los smart contracts. |
The network consists of central nodes known as sealers. The sealers are interconnected to at least three other sealers and are also connected to at least three gateway nodes. Care is taken that during normal operations any sealer can reach any other sealer by relaying traffic only via other sealers, thus creating an efficient and trusted network. Sealers will decline connections from other nodes in the network and will not contact nodes which are not sealers or which are not gateways. The BFA Consortium decides which new sealers can be added or which sealers must be removed. A sealer may be replaced by another sealer from the same organisation, which does not require consortium approval. Gateway nodes are placed by the BFA Consortium between the trusted network and the rest of the blockchain network. The BFA Consortium provides bootnodes, which transaction nodes and read-only nodes can use. Bootnodes run by the BFA Consortium do not have accounts associated with them. The BFA Consortium provides archives nodes. Archivers must have IPv4 and IPv6 internet connectivity. These nodes do not have any accounts associated with them. People and organisations not related to the BFA Consortium may also choose to provide the bootnode service and archiving service independently of the BFA Consortium. Transaction nodes connect to each other, to read-only nodes and to the gateway nodes at will. Transaction nodes are able to create transactions and thus have accounts associated with them. Transaction nodes need an agreement with the BFA Consortium to receive Ether in order to create transactions on the blockchain. Transaction nodes may not send Ether to other accounts. This includes contracts (doing transactions with contracts cost gas. Spending gas is allowed, but contracts must not have Ether - exempt from this are the Gas Wells run by the BFA Consortium). Read-only nodes can be run by anyone. They connect to each other, to transaction nodes and to gateway nodes. They are used for reading contents in the blockchain, plus calling read-only smart contract functions. |
Política de claves | Key policy |
Técnicamente los nodos sealers se agregan o quitan de la lista de sealers de la red cuando piso(n/2)+1 nodos están de acuerdo en ello (donde n es el número total de nodos sealers). El proceso técnico se llama proponer. Los sealers no van a proponer sin autorización del Consorcio BFA. Las cuentas se rotan según sea necesario, pero ninguna cuenta será un sealer válido por más de 200 días. Después de 200 días, el Consorcio BFA DEBE invalidar las cuentas caducadas del sealer. Si los sealers desean continuar sellando, deberán proveer una nueva cuenta. Cuando un sealer informa de una nueva cuenta al Consorcio BFA, si se aprueba, el Consorcio BFA enviará un aviso a todos los sealers informando de la cuenta a invalidar y la nueva cuenta para validar como sealer. A la recepción de un mensaje del Consorcio BFA verificado apropiadamente, los operadores de sealers primero proponer la remoción de la vieja cuenta a invalidar e inmediatamente proponer validar la nueva cuenta. Si una clava se detecta robado o comprometido de algún modo, el operador del sellador DEBE contactar inmediatamente al Consorcio BFA e informarle de dicho hecho y el Consorcio BFA DEBE informar inmediatamente a los otros selladores para que invaliden la cuenta. Los operadores de selladores DEBEN invalidar la cuenta tan pronto como se confirme la autenticidad del mensaje del Consorcio BFA. Si una clave se vuelve inaccesible, se puede realizar una rotación de claves normal. |
Technically new sealers are added or removed from the network’s list of sealers when floor(n/2)+1 nodes agree (n being the total amount of allowed sealers). The technical process is called to propose. Sealers will not propose without authorization from the BFA Consortium. Accounts are rolled as required, but no account will be a valid sealer for more than 200 days. After 200 days the BFA Consortium MUST invalidate expired sealer accounts. If sealers wish to continue sealing, they will provide a new account. When a sealer provides a new account to the BFA Consortium, if approved, the BFA Consortium will send a notice to all sealers informing of the account to invalidate and the account to validate as sealer. Upon receiving a properly verified message from the BFA Consortium, the sealer operators will individually first propose to invalidate the old account and immediately afterwards they will propose to validate the new account. If a sealer’s private key is lost, stolen or otherwise compromised the sealer operator MUST immediately contact the BFA Consortium and inform them of said fact and the BFA Consortium MUST immediately inform the other sealers to invalidate the account. The sealer operators MUST invalidate the account as soon as the authenticity of the message from BFA Consortium has been confirmed. If a key becomes inaccessible, a regular key roll can be performed. |
Hora correcta | Correct time |
Una parte importante de la blockchain es la hora, y los bloques en la blockchain tienen un timestamp embebido en ellos. Los sealers DEBEN sincronizar sus relojes con una fuente externa (GPS, NTP o similar). Los transaction nodes DEBERÍAN asegurarse de que sus relojes estén sincronizados. Dependiendo de los casos de uso, los read-only nodes también podrían querer asegurarse de que sus relojes estén sincronizados. |
An important part of the blockchain is time, and blocks in the blockchain have a timestamp embedded in them. Sealers MUST synchronise their clocks against an external source (GPS, NTP or the like). Transaction nodes SHOULD ensure their clocks are synchronised. Depending on use cases, read-only devices might also wish to ensure their clocks are synchronised. |
Destilería de Ether | Ether Distillery |
El Consorcio BFA opera una Destilería que periódicamente envía Ether a los transactional nodes, de modo que puedan continuar con las operaciones normales. La Destilería de Ether puede implementar métodos para detectar el abuso, lo que detendrá o minimizará transferencias subsecuentes de Ether a los transactional nodes. El Consorcio BFA puede ajustar administrativamente la configuración por transactional node y organización. |
The BFA Consortium runs a Distillery which periodically sends Ether to transactional nodes, such that they can continue with normal operations. The Ether Distillery may implement methods to detect abuse, which will stop or minimize further transfers of Ether to transactional nodes. The BFA Consortium can administratively adjust settings per transactional node and organisation. |
Disponibilidad de los bloques | Block availability |
El Consorcio BFA almacena todas las transacciones históricas de la blockchain, de modo que estas puedan ser solicitadas en cualquier momento a través de la red. | The BFA Consortium stores all historical transactions of the blockchain, such that these can be requested at any time via the network. |