Visualización de transacciones de Bitcoin en tiempo real

Cuando se habla sobre los proyectos en blockchain, muchas veces destacan como ventaja que tiene “código abierto” y publican el enlace al repositorio Github. Una de las maneras más genuinas de entender cómo funciona blockchain y su comunidad es buсear en las profundidades de los repositorios de Github y estudiar el código, no importa su nivel de programación. Este artículo nació después del discurso en FliSOL — festival de código abierto, donde se habló sobre el nexo directo entre Código abierto y Blockchain.

Recordemos las ventajas del Código abierto

El movimiento del Código Abierto se puede ver como predecesor de las criptocomunidades. Tenían su ideología, métodos de trabajo y buenas prácticas, que después en el libro de Eric Raymond se cristalizaron a una especie de codex, recordamos algunas pautas:

  • Todo buen trabajo de software comienza con un programador que tiene una molestia personal.
  • La mayoría de los desarrolladores en un proyecto de código abierto están motivados principalmente porque quieren usar el producto que están creando.
  • Tratar a los usuarios como colaboradores es la forma más apropiada de mejorar el código, y la más efectiva de depurarlo.
  • Dada una base suficiente de desarrolladores asistentes y beta-testers, casi cualquier problema puede ser caracterizado rápidamente, y su solución es ser obvia al menos para alguien.

Un proyecto de código abierto es un proyecto con un código que todos pueden verificar, modificar y ampliar. La mayoría de criptostartups se promocionan como proyectos de código abierto. Esto promueve la colaboración dentro de la comunidad, permite a otras personas hacer cambios en el código fuente. El cliente de Bitcoin Core es el producto con más de 400 desarrolladores independientes y el código fuente de la Blockchain de Bitcoin también se puede ver en Github.

Ahora vemos el rol de código abierto en criptoproyectos, pero para entender lo profundo que es, veremos los aspectos fundamentales de Blockchain.

¿Qué es realmente blockchain?

Una prueba de una inteligencia de primer orden es la habilidad de tener dos ideas opuestas en la mente al mismo tiempo y, sin embargo, seguir funcionando”
Scott Fitzgerald

¿Qué es realmente blockchain? Algunos dicen que es un protocolo, otros — que es un sistema de consenso. Pero la verdad es que Blockchain es mucho más que esto. Hay que tener en mente que Blockchain es como mínimo 4 cosas a la vez.

  • Protocolo de consenso
  • Registro (ledger)
  • Remuneración para mineros (motivación)
  • Contratos inteligentes

Veamos y comparamos como son todos estos aspectos en sistemas fiat, en comunidades codigo abierto y en blockchain.

 

Consenso

El objetivo principal de blockchain es agregar confianza a un entorno que excluya confianza predeterminada. El famoso “Problema de los generales bizantinos” describe el proceso de toma de decisiones en el entorno anárquico donde cada uno juega su propio juego y nadie confía en nadie.

Pero en algún momento hasta los anarquistas más firmes tienen que tomar una decisión y es en quien confiar. En caso de criptomonedas como primer caso de uso de Blockchain, la confianza se basa en el consenso de la mayoría de los usuarios sobre la autenticidad de  las transacciones financieras.

El consenso en sistemas tradicionales fiduciarias es simple, la decisión la toma el jefe. En sistemas de código abierto las ideas de concenso se basan en suposición de que todos están interesados en el mismo resultado que es bueno para la comunidad (y para cualquier persona que tiene por lo menos medio año de experiencia es evidente que siempre es así).

En descentralización aceptamos que estamos actuando en un entorno donde cada uno está protegiendo sus intereses. Para poder estar de acuerdo, hay que ver las reglas de consenso — esto es posible si el código es abierto. Y para confiar en las reglas hay que saber que no las pueden cambiar. Esto es posible solo en blockchain.

Registro

Si en sistemas fiat el registro es cerrado y centralizado, en sistemas de código abierto es abierto y parcialmente descentralizado, en Blockchain el registro tiene naturaleza descentralizada y distribuida.

En Blockchain se transfieren 2 tipos de mensajes: transacción y bloques. Bloque es un conjunto de transacciones validadas, cifrados y combinados. Un bloque es como un libro de registros, y Blockchain es el libro de libros al cual agregan constantemente nuevas partes. Las transacciones se empacan en bloques para ahorrar tráfico y potencia de los ordenadores.

Motivación

En sistemas antiguas fiat la gente se motiva principalmente por motivadores negativos — deuda y miedo. Segun los neurocientistas y aplicando el sentido común, es evidente que tal motivadores a largo plazo no traen nada bueno, solo matan lo poco de motivación que había.

En la comunidad de código abierto la idea es que el software debe ser gratuito y que la motivación es interés propio del desarrollador, funciona, pero a corto plazo y después muchos desarrolladores se queman, especialmente los señores desarrolladores que tienen hijos y otros responsabilidades.

En blockchain los participantes son libres de unirse a la red prestando sus recursos que aumentan la potencia de cálculo, el volumen de almacenamiento de información y distribución de la red. Para estimular la motivación, los propietarios de los recursos reciben una remuneración en criptomonedas.

Contratos

En sistemas fiat es muy obvio: fideicomiso. Fides, “Fe”, y commissum, “comisión” — estas pagando por fe. En la comunidad de código abierto hay diferentes tipos de contratos, por ejemplo licencia MIT. Los contratos inteligentes son los protocolos informáticos que facilitarán y harán cumplir los contratos, es lo que permitirá que la economía se vuelva programable.

Características de Blockchain

El Blockchain es una tecnología que organiza y almacena información de una manera inusual. Cinco características de ella:

Transparencia. El acceso a todo el historial de eventos (transferencias de dinero, acuerdos y otros registros) está siempre abierto a todos los participantes del sistema. Esto es útil al hacer contratos y realizar transacciones. Todos los participantes del proceso saben los pasos del otro.

Imaginen una carpeta compartida en FTP. Vos ves todo el contenido, sabes quién, cuándo y de qué directorio descargó los archivos. Pero cada usuario tiene diferentes derechos de acceso. Alguien sólo puede ver la lista, mientras que otros (destinatarios del archivo) pueden descargar datos para ellos.

Esto garantiza el nivel adecuado de transparencia de la transacción: toda la cadena de transacciones se replica y se almacena en un formato inmutable cifrado para cada participante; no es posible falsificarlo de alguna manera.

Descentralización. Blockchain está descentralizado, no existe un centro en que se puede atacar,  destruir o reemplazar los datos de las transacciones y participantes. El historial de transacciones cada participante lo almacena en su disco duro, no en algún servidor principal. La blockchain de bitcoin se encuentra en computadoras de todo el mundo y está disponible para cualquier persona que tenga conexión a Internet. Los mineros, propietarios de computadoras donde se almacena la información de Blockchain, son responsables de detectar las solicitudes de transacciones de los usuarios, juntarlas, verificarlas y agregarlas a Blockchain como bloques nuevos.

¿Por qué descentralizar es seguro?. Por ejemplo, si se realizó una transacción en la que participaron 100 personas, esta cadena de bloques seguirá funcionando y será accesible para su visualización incluso si 99 computadoras de otros participantes están dañadas.

Anonimato Para trabajar en Blockchain, no es necesario revelar la identidad.

Para transferir criptomonedas hay que crear un monedero especial. La persona recibirá dos llaves: pública y privada. La llave pública se usa para transferir dinero — como un número de tarjeta bancaria. Se pueden generar tantas llaves como desees y transferirlas abiertamente. La clave privada es algo así como un PIN, no se puede decir a nadie y se usa para decifrar transacción. El monedero de bitcoin no es más que estas dos llaves. Para recibir o transferir bitcoins, no hay que mostrar datos personales. Es muy difícil rastrear a la persona que vendió bitcoins. Si el estado va a imponer un impuesto sobre las ganancias de los ingresos en criptomonedas, necesita saber quién transfirió y recibió los bitcoins y no hay forma rápida y fácil en hacerlo.

Igualdad. En Blockchain no hay administradores ni moderadores, y todos los participantes tienen el mismo estado y oportunidades.

Seguridad por algoritmos criptográficos que aseguran que nadie falsifica ni reemplazará la información en Blockchain.

La blockchain de Bitcoin es actualmente el blockchain público más seguro en términos del costo de los ataques al sistema. El costo de un ataque es igual a la recompensa para los creadores de bloques.

 

Confianza

La descentralización de la confianza permite el intercambio de activos sin la participación de las autoridades que tienen llaves de acceso. Por ejemplo, como dice el evangelista blockchain Andreas Antonopoulos en bitcoin está realizado el modelo de “confianza basada en la informática”

“La confianza no depende de la presencia o ausencia de participantes deshonestos, por esto no pueden falsificar confianza, dijo Andreas. “No pueden suplantar ellos a los participantes de confianza, porque no existen en el sistema. No pueden robar llaves centrales porque tampoco existen”.

Blockchain ayudará a cualquier servicio donde hay preocupación de usuarios por posibles fraudes o seguridad de datos. Se puede encontrar muchas posibles aplicaciones, lo más importante es que habrá una analogía de la transacción o interacción similar, la asociación entre las partes.

Para utilizar efectivamente las tecnologías de blockchain, el proyecto debe agregar confianza a un entorno no confiable y usar el mecanismo de registro distribuido. Las empresas deben visualizar el modelo de confianza de todo el sistema para determinar las áreas de confianza en comparación con las áreas que no son de confianza y aplicar blockchain solo en las partes no confiables.

¿Qué hay en común entre código abierto y blockchain?

  • El código abierto busca liberarse de empresas comerciales que deciden por los usuarios
  • Blockchain busca liberarse de bancos intermediarios y gobiernos que deciden por los usuarios.

Bitcoin es un acto de desobediencia. Las criptomonedas aparecieron después de la crisis económica mundial y se destacó como la salvación de la corrupción del sistema financiero tradicional. Los creadores están seguros de que cuando Bitcoin se haga más popular, competirá con dinero real y eventualmente acabará con las instituciones que causaron la crisis.

La comunidad Bitcoin cree en la criptografía. Y considera responsables por los problemas de la economía a: los intermediarios, banqueros, terceras partes. Estas personas simplemente crean problemas para los demás, reduciendo las ganancias y complicando las transacciones.

En blockchain no se requiere ningún tipo de confianza previa entre ellas ni confianza en un tercero. Los usuarios confían en el buen funcionamiento del software que ejecuta las instrucciones de la cadena de bloques en cuestión. O para confiar en el software hay que ver como está escrito.

Dos pilares de la descentralización

La descentralización se basa en dos pilares: mecanismos abiertos de consenso y software de código abierto. Si el código no es abierto, entonces, ¿Cómo los participantes que no se conocen entre ellos pueden entender el sistema a cual se unen y confiar en el?

El código abierto de blockchain es descentralizado también. Se desarrolla en frente de la vista de todos, está disponible para todos en el mundo, de usar y modificar, y es independiente de los intereses corporativos.

Libertades

En Software de código abierto hay 4 libertades básicas:

  • La libertad para poder utilizarlo cómo y cuando deseen.
  • La libertad de poder estudiar su código.
  • La libertad de distribuirlo como consideren.
  • La libertad de modificarlo.

Para modificar el código en Blockchain hay que tener consenso de todos los usuarios (fork). Fork es la manera más fácil de implementar cambios en el código. También proporcionan una forma de proteger a los usuarios de los desarrolladores, limitando las capacidades de últimos. En aplicaciones blockchain, el desarrollador no puede por sí mismo cambiar el código o los datos. Necesita consenso de todos los usuarios.

Blockchain privado y público

Puede parecer que Blockchain privado es código cerrado y público es codigo abierto, pero en el caso de Blockchain se refiere a creación de bloques. En privado el derecho de creación de bloques pertenece a una sola organización. Los usuarios pueden solamente ver la información en el blockchain.

En un Blockchain público cada persona puede no solamente leer, sino también formar transacciones. Las operaciones se protegen con verificación criptográfica. En este caso, las operaciones están protegidas por mecanismos de verificación criptográfica, como prueba de trabajo o prueba de participación.

El control sobre un Blockchain público pertenece a todos los miembros de la comunidad de la red — los desarrolladores, usuarios, proveedores de servicios, los mineros — para asegurar la integridad de la red y la facilidad de uso.

Ejemplos

Cómo es Blockchain en espacio y el tiempo

Siendo un activo complejo e intangible, bitcoin es muy complejo para la visualización. Para entender los aspectos de Bitcoin la forma más fácil de estudiar y analizar es representarlos gráficamente. Es la belleza de un registro público y abierto. Acá se puede acceder a la visualización de transacciones de Bitcoin en tiempo real


Puedes revisar directamente la presentación para este artículo en este link. Sasha Ivanova es escritora en materias de Blockchain, también es la encargada de Latinoamérica para KICKICO.com y socia fundadora en ABA (American Blockchain Asociation). Puedes comunicarte con ella en el canal de telegram de Comunidad CryptoChile o en el de Cripto Comunidad LATAM

Start typing and press Enter to search