Saltar al contenido

C贸mo crear tu propia red de Blockchain

El Blockchain va a transformar la forma de hacer muchas cosas, sobre todo, el sector financiero en combinaci贸n con otras tecnolog铆as exponenciales: machine learning, APIs, chatbots y biometr铆a. Pero va mucho m谩s all谩 del sector financiero.

Para arrojar luz a este tema, sobre todo a nivel techie, hoy tengo como invitada a聽Ester Ribas Arb贸s,聽Periodista especializada en Marketing y Escritora que te/nos va a contar 驴C贸mo crear tu propia red de Blockchain? Te dejo con ella.聽

___________________________________________________________________

"C贸mo crear tu propia red blockchain"

La tecnolog铆a Blockchain, tambi茅n conocida como cadena de bloques, es una tendencia, cada vez m谩s consolidada en nuestro d铆a a d铆a. Esta, lleva ya unos cuantos a帽os entre nosotros, pero no fue hasta 2008, con la aparici贸n de la criptomoneda Bitcoin, que empez贸 a establecerse, y convertirse, diez a帽os despu茅s, en un sistema capaz de ser utilizado en cualquier sector de mercado.

驴Somos conscientes del potencial que tiene esta tecnolog铆a?

La respuesta es no. Esta innovaci贸n, de momento, solo nos ha mostrado una peque帽a parte de lo que es capaz, y todav铆a quedan muchas inc贸gnitas sobre su uso o programaci贸n.

Por esto, en este post, quiero hacer un resumen de qu茅 es el Blockchain y c贸mo podemos crear nuestra propia cadena de bloques privada, para que te hagas una idea de porque hablamos del Blockchain como una tendencia de la revoluci贸n industrial 4.0.

驴Est谩s preparado?

隆Vamos all谩!

驴Qu茅 es la cadena de bloques o Blockchain?

El Blockchain o la cadena de bloques es una tecnolog铆a que permite la realizaci贸n de cualquier tipo de transacci贸n de manera totalmente segura gracias a su sistema de encriptaci贸n o codificaci贸n. 驴C贸mo lo hace?

Imaginemos que tenemos distintos bloques (nodos) uno puesto tras otro y queremos realizar una transacci贸n, como por ejemplo, enviar dinero a otra persona. Cuando damos la orden, los mineros, que son los encargados de realizar dichas 贸rdenes, empiezan a trabajar para que la transacci贸n llegue a la otra persona.

Para que una transacci贸n se realice, esta tendr谩 que haber sido validada por los mineros y llevada a 5 bloques en total.

Debemos tener en cuenta, que hablamos de un sistema totalmente seguro y codificado, porque una vez completados los 5 bloques es imposible anular o modificar dicha transacci贸n. Adem谩s, solo las personas implicadas poseer谩n la informaci贸n, por tanto, no hacen falta intermediarios, pero s铆 un c贸digo de descodificaci贸n que solo tendr谩n las personas que han participado en la transacci贸n. Cada transacci贸n queda registrada en nodos distintos.

Desde su aparici贸n el Blockchain se ha vinculado con las criptomonedas, concretamente como el Bitcoin, provocando confusiones en su definici贸n, puesto que muchos la entend铆an como una tecnolog铆a 煤nicamente para la creaci贸n e intercambio de criptodivisas, o la inversi贸n de estas.

No obstante, como he mencionado anteriormente, la cadena de bloques est谩 irrumpiendo en distintos sectores de mercado como por ejemplo, el legal con la generaci贸n de Smart Contracts, el 谩mbito de las energ铆as, hacer concursos, votar, env铆o de certificados o t铆tulos, entre otros.

驴Ya te ha quedado un poco m谩s claro que es el Blockchain o la cadena de bloques? Pues vamos a complicarlo un poco m谩s, a continuaci贸n te ense帽o c贸mo crear tu propia cadena de bloques privada.

驴C贸mo crear nuestra cadena de bloques privada?

Para crear una cadena de bloques privada, la tecnolog铆a Blockchain m谩s utilizada es Ethereum, puesto que se trata de un software libre. Adem谩s, esta funciona gracias a la interconexi贸n entre ordenadores (nodos). Una ventaja de esta tecnolog铆a p煤blica es que permite la creaci贸n de Blockchains privadas de forma gratuita y mediante sencillos pasos, sin necesidad de programar c贸digo. 驴Por d贸nde empezamos?

"Machine Learning"

Instalaci贸n del software

Lo primero que debes hacer es descargar el software para que sincronice tu ordenador con la red. Ten en cuenta pero, que la informaci贸n publicada en Ethereum es siempre p煤blica, por tanto, puede ser consultada por cualquier usuario. Una vez instalado el software, vamos con el siguiente paso.

Instalar GETH

Geth es un programa que sirve para interactuar con las redes que Ethereum te provee como Main Net, Ropsten, Rinkeby o Konvan, y lo necesitar谩s para poder crear tu cadena de bloques privada. Puedes descargarlo en el siguiente enlace.

Indicadores a tener en cuenta

Gracias a Geth, te podr谩s conectar con la red Main Net o red real, por esto, es importante indicarle algunos par谩metros para as铆, privatizar tu Blockchain, de esta manera, solo podr谩n participar en la red aquellos a qui茅nes les hayas dado permiso. Es importante tener en cuenta que el orden de los par谩metros no altera el funcionamiento del Blockchain. Estos son algunos de los indicadores que podemos usar:

  • datadir: se trata del directorio donde se almacena toda la informaci贸n.
  • networkid: n煤mero que identificar谩 la red que est谩s creando.
  • port: es el n煤mero del puerto que abrir谩 tu ordenador para recibir a los participantes de la cadena de bloques.
  • init: ruta al archivo BloqueGenesis.json
  • maxpeers: N煤mero m谩ximo de participantes en la red.
  • nodiscover: este nos servir谩 para aislar de la red real aquellos usuarios que tengan el mismo bloque g茅nesis que t煤.
  • rpc: habilita las 鈥渓lamadas de procedimiento remoto鈥 para poder ejecutar comandos de manera remota en la cadena.
  • rpccorsdomain: permite filtrar qu茅 dominios pueden o no acceder a las llamadas remotas.
  • rpcport: puerto a trav茅s del cual se podr谩n conectar las llamadas remotas.

Crear cuenta etherbase

Debes crear una cuenta etherbase por defecto, para que as铆, se depositen los ethers minados. Estos son los pasos a realizar para crear dicha cuenta.

  1. Abrir el terminal del sistema operativo.
  2. Dentro del directorio instala Geth mediante el comando cd, y quedar铆a as铆: cd C:\Geth2
  3. Una vez dentro de este directorio donde se encuentra la instalaci贸n de Geth, debes crear un directorio (carpeta) donde se almacenar谩 la informaci贸n de la blockchain privada, mkdir BlockchainETHCL
  4. Una vez creada la carpeta que contendr谩 la informaci贸n de la blockchain, ya podr谩s crear la cuenta Ethereum con el comando geth account new --datadir BlockchainETHCL. Una vez hecho este paso, te pedir谩 que ingreses una contrase帽a para la cuenta, le das a ENTER y te general a direcci贸n, que son una serie de n煤meros.

Creaci贸n del Bloque G茅nesis

El bloque g茅nesis es el primer bloque emitido por la blockchain, por tanto, este, a diferencia de los dem谩s bloques, no apunta a ninguno anterior. Este bloque, lo que nos permite es personalizar nuestra blockchain, es decir, podemos iniciar nuestras cuentas con saldo a favor, modificar dificultades, entre otras acciones.

Finalmente, completados los pasos anteriores, podr谩s crear el archivo 鈥BloqueGenesis.json鈥 en la carpeta de la instalaci贸n de Geth.

{

聽聽聽"config": {

聽聽聽聽聽聽聽"chainId": 1337,

聽聽聽聽聽聽聽"homesteadBlock": 0,

聽聽聽聽聽聽聽"eip155Block": 0,

聽聽聽聽聽聽聽"eip158Block": 0

聽聽聽},

聽聽聽"difficulty": "200000000",

聽聽聽"gasLimit": "2100000",

聽聽聽"alloc": {

聽聽聽聽聽聽聽"0xf8d7a085fd67fa9e6766a8d836473691901b8728": { "balance": "500000000000000000000000" }

聽聽聽}

}

Dentro de este c贸digo que puedes copiar tal cual, lo 煤nico que deber谩s cambiar es este n煤mero 0xf8d7a085fd67fa9e6766a8d836473691901b8728 por el que has obtenido en el paso anterior. Esta configuraci贸n lo que te permitir谩 ser谩 iniciar la blockchain privada con un saldo de 500.000 ether.

C贸mo iniciar el bloque g茅nesis y manipular la cadena privada

"C贸mo iniciar tu red blockchain"

Una vez tienes ya el BloqueGenesis.json en la carpeta de geth (C:/Geth2), puedes empezar a iniciar la cadena de bloques con el siguiente comando geth init BloqueGenesis.json --datadir BlockchainETHCL

Realizados todos estos pasos, ya puedes ejecutar tu Blockchain privada con algunos de los par谩metros comentados al principio. Por ejemplo, puedes iniciar una Blockchain en la que solo se puedan conectar m谩ximo 3 nodos. Para ello, deber谩s utilizar el siguiente c贸digo (--maxpeers 3) geth --datadir BlockchainETHCL --networkid 1337 --maxpeers 3 --nodiscover --mine

Para poder manipular la cadena de bloques privada, debes abrir una 鈥nueva consola de comandos鈥 y entrar en la carpeta del 鈥Geth鈥 y escribir el siguiente c贸digo geth attach

Al abrir esta consola, ya podremos realizar transacciones, crear, bloquear o desbloquear cuentas, crear contratos, entre muchas otras acciones.

Tambi茅n tienes la oportunidad de a帽adir nodos a la cadena de bloques, para ello, debes utilizar la misma configuraci贸n que en el bloque g茅nesis. Luego, tienes que abrir la consola de Geth con geth attach鈥 y a帽adir tu enode, que se trata de una url especial que identifica tu propia Blockchain. El c贸digo para a帽adir este enode es el siguiente:

admin.addPeer("enode://8927a1dd9ae869f991928173e61cf0c63dbb2215b8770466399885e0a8884abdb3646187debff0f9be405f8020eb18f69dc055801b7ecee0e1da7de66531eafc@[::]:30303");

Este s铆mbolo del c贸digo [::] es donde debes poner tu IP.

Y ya estar谩, con estos pasos ya habr谩s creado tu propia cadena de bloques.

Ester Ribas Arb贸s |聽@eribas_arbos

Periodista especializada en Marketing y Escritora

__________________________________________________________________

Comentarios, Opiniones y Valoraci贸n

WOW, me ha parecido impresionante. No soy muy techie, pero me entran ganas de probar a crear mi propia red blockchain.聽

Me gustar铆a saber qu茅 te ha parecido, si te vas a animar o聽 no a ponerlo en pr谩ctica y saber lo que tienes que decir en redes sociales:聽

Twitter (este tuit)

Linkedin (este post)

Con todo este l铆o de la RGPD y la Protecci贸n de Datos he decidido inhabilitar los comentarios en el blog, pero puedes dejarme tus comentarios, ideas y aportaciones en los dos enlaces anteriores, dependiendo la red social que m谩s te guste.