diff --git a/Intro-a-la-criptografia-y-su-uso.asciidoc b/Intro-a-la-criptografia-y-su-uso.asciidoc new file mode 100644 index 0000000..5410ea2 --- /dev/null +++ b/Intro-a-la-criptografia-y-su-uso.asciidoc @@ -0,0 +1,125 @@ +== Introducción a la criptografía y su uso en Blockchain +La criptografía, del griego “kryptos” (oculto) y “graphia” (escritura), es el arte de escribir un mensaje empleando técnicas o claves secretas de modo que sólo pueda descifrar el mensaje oculto aquel que conozca estas claves. Se trata de un arte muy antiguo, tanto que se remonta varios milenios atrás en el tiempo. Aunque las primeras técnicas eran muy rudimentarias, muchas de esas técnicas todavía se utilizan hoy en día. Se sabe que los egipcios hace 4.500 años utilizaban jeroglíficos no estándares en algunos monumentos para escribir mensajes ocultos. Después los hebreos utilizron métodos criptográficos muy sencillos pero también muy comunes como el cifrado por sustitución o método espejo, una técnica que consiste en sustituir la primera letra de un alfabeto por la última del mismo, la segunda por la penúltima, y así hasta darle la vuelta al alfabeto completo. + +image::images/cifrado_por_sustitucion_01.png[Cifrado por sustitucion, width=553] + +Con este método se puede cifrar la palabra HOLA obteniendo como resultado la palabra SLOZ. Para comprender cómo funciona este método de sustitución o método espejo hay que poner en paralelo los dos alfabetos, buscar la letra que se quiere sustituír y cambiarla por su equivalente en el alfabeto de abajo, así pues, la letra "H" se corresponde con la letra "S", la letra "O" con la "L", la letra "L" con la "O" y finalmente la letra "A" con la "Z". + +image::images/cifrado_por_sustitucion_02.png[Cifrado por sustitucion, width=553] + +Los griegos también usaban cifrado mediante un método llamado cifrado por transposición. Esta técnica consiste en cambiar de posición agrupaciones de texto plano o conjunto de letras siguiendo un esquema bien definido. Por ejemplo: + +image::images/transposicion_columnar_simple.png[Transposicion columnar simple] + +En este ejemplo se ha utilizado un cifrado mediante transposición columnar simple. Se va a cifrar el mensaje “ME GUSTA LA CRIPTOGRAFIA” y para cifrar el mensaje se utilizará la clave “JARRON”. Las reglas o el esquema se define de la siguiente manera, se escribe la clave, debajo de cada letra de la clave se escribe el orden alfabético de esas letras, la A es el 1, la B es el 2, la C es el 3, y así con cada una de las letras. A continuación se escribe el mensaje de izquierda a derecha con cada letra debajo de los números formando columnas. Tantas columnas como la longitud de la clave, en este ejemplo “JARRON” tiene seis letras, por lo tanto serán seis columnas. Una vez completada la tabla con sus filas y columnas solo queda escribir el mensaje de arriba a abajo siguiendo el orden numérico de las columnas, quedando el mensaje cifrado resultante: + +ELTI SRR UCG MAPF TIA GAOA + + +El emperador romano Julio César también usaba técnicas simples de criptografía para comunicarse con sus generales. Usaba un método conocido con el nombre de "Método de desplazamiento" o "Método César" en honor a su propio nombre. En realidad se trata de una variante del método de sustitución explicado anteriormente, solo que en vez de sustituír una letra del abecedario por su equivalente de otro abecedario invertido, en este caso hay que escribir los dos abecedarios en el mismo orden, uno encima de otro y desplazar uno de los dos un número de veces hacia la derecha o hacia la izquierda. + +Una vez comprendido este sistema de cifrado, Julio César y sus generales solo tenían que saber la clave privada para poder descifrarlo, en este caso la clave privada es un número que lo irían alternando y que serviría para desplazar el abacederio tantas posiciones como la clave indicara. En la siguiente imagen la clave privada es 3, ya que las letras del abecedario se desplaza 3 posiciones para buscar su letra correspondiente. + +image::images/cifrado_cesar_01.png[Cifrado Cesar, width=300] + +En aquella época consideraban este método de cifrado un sistema bastante seguro, pues no todo el mundo sabía de su existencia, además hay que contar con otro factor importante, y es que por aquél entonces no todo el mundo sabía leer, ni mucho menos mensajes que no se entiende lo que pone. + +De este sistema de cifrado derivan otros mas complejos como el cifrado ROT13, que es un sistema de cifrado César en el que la clave privada es el número 13, o sea, que las letras del abecedario se han de desplazar 13 posiciones, así pues la letra cifrada correspondiente a la letra A es la letra N, y a la B le corresponde la O. + +image::images/rot13.png[ROT13, width=400] + +Las principales aplicaciones criptográficas eran de carácter militar, una manera de enviar mensajes ocultos a las tropas sin riesgo de que el enemigo pudiera descubrir las ordenes o los planes de acción en caso de que el mensaje fuera interceptado. Con el paso del tiempo se han ido perfeccionando prograsivamente todas estas técnicas de cifrado. Algunos métodos eran tan complejos de implementar y revertir que finalmente se optó por construír máquinas, primero mecánicas y luego electrónicas, que se encargaran de automatizar estas tareas. A principios del siglo XX, durante la primera guerra mundial se construyeron las primeras máquinas de cálculo para cifrar y descifrar mensajes a una mayor velocidad, pero sin duda la máquina más conocida se contruyó durante la Segunda Guerra Mundial, la máquina Enigma. La utilizó la Marina del ejército alemán para enviar instrucciones cifradas a los submarinos que boicoteaban los barcos de ayuda que venían de los Estados Unidos de América. El matemático, lógico y criptógrafo británico Alan Turing trabajó en el desarrollo de una máquina que fuera capaz de descifrar los códigos secretos que cifraba la máquina Enigma. En el ejército alemán no solo se usó la máquina Enigma, también utilizaban otra máquina de rotores llamada Lorenz, en este caso se usaba para cifrar comunicaciones de teletipo entre oficiales de alto rango. Esta máquina tenía su propio algoritmo de cifrado, basado en máquinas experimentales muy similares usadas en la Primera Guerra Mundial. Se puede afirmar que durante la primera mitad del siglo XX es cuando realmente la criptografía desarrolla grandes avances. En parte es debido al desarrollo de las primeras computadoras electrónicas que realizaban cálculos matemáticos y probabilísticos a gran velocidad, como el computador Colossus. + +image::images/enigma_y_lorenz.PNG[ROT13, width=500] + +=== Bases de informática (sistema hexadecimal, codificación) +Existen diferentes formas de representar un número cualquiera, el más utilizado y que todo el mundo conoce es el sistema en base 10 o simplemente sistema decimal, pero en informática o ciencias de la computación se utilizan otros formatos o codificaciones para representar los mismos números. Algunos de estos sistemas de numeración se detallan a continuación. + +==== Sistema Decimal +Se trata de aquellos números que van del 0 al 9 y que cumplen la regla en la que cada 10 dígitos cambia la cifra de la izquierda, empezando a contar de nuevo de 0 a 9 por la derecha, por ejemplo: + +00, 01, 02, 03, 04, 05, 06, 07, 08, 09, + +10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + +20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + +30, 31, 32, 33, ... + + +Se puede apreciar que cada vez que llegamos a 9 se empieza a contar de cero otra vez y se aumenta el número inmediatamente de su izquierda. Así pues, se puede adivinar fácilmente qué número vendrá después del 59, solo hay que cambiar el 9 por un 0 y aumentar el 5 a 6, quedando finalmente el número 60. A partir de ahí hay que ir ascendiendo desde el 0 hasta el 9 igual que antes, 60, 61, 62, 63, ... hasta llegar al 69, donde se realizaría la misma operación para llegar al número 70, y así sucesivamente. + +==== Sistema Binario +Otra forma de representar números es en en base 2 o sistema binario. Son números compuestos únicamente de los dígitos 0 y 1, y se trata de el lenguaje que realmente entienden los ordenadores y cualquier aparato que funcione con un sistema digital, como un reloj de pulsera, una lavadora, una máquina expendedora de bebidas, la puerta de un garaje o un radar de tráfico. A diferencia del sistema decimal que se ha explicado en la sección anterior, en el sistema binario cada 2 dígitos sucede un cambio en la cifra de la izquierda, por ejemplo: + +00000000 + +00000001 + +00000010 + +00000011 + +00000100 + +00000101 + +00000110 + +00000111 + +00001000 + +00001001 + +. + +. + +. + +00101101 + + +En este ejemplo se muestra una progresión numérica en sistema binario. Se puede ver que la cifra situada a la derecha del todo va oscilando entre 0 y 1 de forma constante, de modo que cada vez que alcanza el valor 1 automáticamente en el siguiente cambio vuelve a tener el valor 0, y el dígito que tiene inmediatamente a su izquierda también cambia, variando entre 0 y 1. Habiendo entendido este punto al lector le resultará fácil averiguar qué número binario vendría después del número 00001001. + +==== Sistema Octal +Los números también se pueden representar en base 8 o sistema octal. Siguiendo la lógica anterior son los números que cada 8 dígitos, o sea los números del 0 al 7, sucede un cambio en la cifra de la izquierda, por ejemplo: + +00, 01, 02, 03, 04, 05, 06, 07, + +10, 11, 12, 13, 14, 15, 16, 17, + +20, 21, 22, 23, 24, 25, 26, 27, + +30, 31, 32, 33, ... + + +Aplicando estas reglas se podrá averiguar fácilmente qué número octal viene después del número 37. + +==== Sistema Hexadecimal +Otro forma muy común de representar números en sistemas computacionales es en base 16 o sistema hexadecimal. Aquí entran en juego algunas letras para representar los números mayores de 9. Del mismo modo que en sistemas anteriores la cifra de la izquierda aumentaba cada dos digitos (binario), cada ocho dígitos (octal) o cada diez dígitos (decimal), en unsistema hexadecimal esta cifra aumenta cada dieciséis dígitos. Una vez se alcanza la cifra 9 a continuación vendría la letra A, luego B, C, D, E y finalmente la letra F. La A representa el número decimal 10, B el 11, C el 12, D el 13, E el 14 y F el 15, en total es la representación de dieciséis números, desde el 0 hasta el 15. Una secuencia hexadecimal sería así: + +00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, + +10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C. 1D, 1E, 1F, + +20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F, + +30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 3A, 3B, ... + + +Apréciese que al llegar a la letra F sucede un aumento de dígito en el número inmediatamente a la izquierda, y la F cambiaría por un 0 para empezar a contar de nuevo. El lector puede intentar averiguar que número hexadecimal viene después del número 1A6F. Las letras pueden escribirse en mayúsculas o en minúsculas indistintamente. Los números en hexadecimales se suelen representar con el prefijo "0x", por ejemplo: + +0x00000001 + +0x00000002 + +0x00000003 + +. + +. + +. + +0x00C3BF91 + + +=== Criptografía de clave pública + +- Introducción criptografia: asimetrica vs simetrica + +- Intercambio de claves + +- Firma electrónica + +- Cifrado + +=== Funciones Hash + +- Descripción + +- MD5 + +- SHA-1 + +- SHA-2 + +- Keccak and SHA-3 + +- Password storage + +- Length extension attacks + +- Hash trees + +=== Algoritmos (SHA256 y RIPEMD160) + +=== Criptografía de curva elíptica explicada: ECDSA (Referencia) diff --git a/README.md b/README.md index d202f11..cc36915 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,23 @@ Here's what is available now: | Section | Progress | |-------|------| | [1. Prologo](prologo.asciidoc) | # | -| [2. Mundo descentralizado: Cambio de Paradigma] | ############# -| [- Internet del valor : Salto Tecnológico y social](saltotec.asciidoc) | ################ | -| [Descentralización usando Blockchain](descentralizacion.asciidoc) | ################ | -| [Sistemas IT: Distribuidos vs Computación descentralizada](sistemas-it.asciidoc) |################ | - -Jump in! Review, comment, suggest and contribute... +| [2. Mundo descentralizado: Cambio de Paradigma](xxx.asciidoc) | #### | +| [- Internet del valor : Salto Tecnológico y social](saltotec.asciidoc) | ######| +| [- Descentralización usando Blockchain](descentralizacion.asciidoc) | ######| +| [- Sistemas IT: Distribuidos vs Computación descentralizada](sistemas-it.asciidoc) | ##### | +| [- Como Descentralizar](comodescentralizar.asciidoc) | ##### +| [3. Definición de Blockchain] |###### +| [- ¿Cómo se relaciona Blockchain con Bitcoin?](relacion.asciidoc) |###### | +| [- El Poder de la Cadena de Bloques](podercadena.asciidoc) |###### | +| [- ¿Que es una cadena de bloques?](queesunacadena.asciidoc) |###### | +| [- Tipos de redes Blockchain](tiposchain.asciidoc) |###### | +| [- Desafios tecnicos de blockchain actual](desafios.asciidoc) |###### | +| [- Blockchain y ecosistema completo descentralizado](ecosistema.asciidoc) |#### | +| [4.Introducción a la criptografía y su uso en Blockchain](Intro-a-la-criptografia-y-su-uso.asciidoc) | # | +| [5. Blockchain Bitcoin](xxx.asciidoc) | #### | +| [ - Breve historia: Antecedentes y origen](origen.asciidoc) | ### | + +Jump in! Review, comment, suggest and contribute... # Contributing, reviewing and commenting diff --git a/comodescentralizar.asciidoc b/comodescentralizar.asciidoc new file mode 100644 index 0000000..b6715b1 --- /dev/null +++ b/comodescentralizar.asciidoc @@ -0,0 +1,38 @@ + +== Cómo descentralizar + +=== Grados y parámetros a tener en cuenta: + +Vamos a hablar, como ejemplo de como evaluar la descentralizacion, a la hora de poner en marcha un proyecto, en cualquier ámbito. +Un marco ha sido propuesto por Arvind Narayanan y otros que se pueden usar para evaluar los requisitos de descentralización de +una variedad de cosas en el contexto de tecnología blockchain. + +El marco básicamente propone cuatro preguntas que, una vez respondidas, proporcionan una idea clara de cómo se puede +descentralizar un sistema. Estas preguntas se enumeran de la siguiente manera: + +1. ¿Qué está siendo descentralizado? +2. ¿Qué nivel de descentralización se requiere? +3. ¿Qué cadena de bloques se usa? +4. ¿Qué mecanismo de seguridad se usa? + +La primera pregunta simplemente pregunta qué sistema se descentraliza. Esto puede ser cualquier sistema, por ejemplo, un sistema de identidad o comercio. + +La siguiente pregunta se puede responder especificando el nivel de descentralización requerido al observar el tipo o grado de descentralización que hemos visto anteriormente en “Métodos de descentralización” + +Puede ser una desintermediación completa o una desintermediación parcial. La tercera pregunta es bastante sencillo, donde los desarrolladores pueden elegir qué cadena de bloques adecuado para una aplicación en particular. + +Puede ser blockchain de bitcoin, blockchain de Ethereum, o cualquier otra cadena de bloques que se considere adecuada para una aplicación específica. Finalmente, una pregunta clave necesita ser respondido sobre el mecanismo de seguridad en cuanto a cómo la seguridad de un sistema descentralizado puede ser garantizado. + +Puede ser Atomicity, por ejemplo, por el cual la transacción se ejecuta en su totalidad o no se ejecuta en absoluto. En otras palabras, es todo o nada. Esto asegura la integridad del sistema. Otros mecanismos pueden incluir la reputación, que permite diversos grados de confianza en un sistema. + +Ejemplo: + +Vamos hacer un ejemplo de la aplicación del escenario que hemos mencionado anteriormente. +En el primer caso, se selecciona un sistema de transferencia de dinero, que debe ser descentralizado En este caso, las cuatro preguntas mencionadas anteriormente pueden ser respondidas para evaluar los requisitos de descentralización. + +Las respuestas se muestran de la siguiente manera: + + Respuesta 1: sistema de transferencia de dinero. + Respuesta 2: Desintermediación. + Respuesta 3: Bitcoin. + Respuesta 4: Atomicidad. diff --git a/desafios.asciidoc b/desafios.asciidoc new file mode 100644 index 0000000..2318608 --- /dev/null +++ b/desafios.asciidoc @@ -0,0 +1,20 @@ +== Desafios tecnicos de blockchain actual: + +La tecnología Blockchain también tiene algunos desafíos técnicos y limitaciones que se han identificado. Swan1 presenta siete desafíos técnicos y limitaciones para la adaptación de la tecnología Blockchain en el futuro: + +Rendimiento: los problemas de rendimiento potencial de la red de Bitcoin se evaluan actualmente, con las nuevas mejoras introducidas en 2017, a unos 14 puntos por segundo (transacciones por segundo). Otras redes de proceso de transacciones son VISA (2,000tps) y Twitter (5,000tps). Cuando la frecuencia de las transacciones en Blockchain aumente a niveles similares, el rendimiento de la red Blockchain necesitará evolucionar y escalar bastante + + +Latencia: para crear la seguridad suficiente para un bloque de transacciones de Bitcoin, en la actualidad se necesitan aproximadamente 10 minutos para completar una transacción. Para lograr la eficiencia en seguridad, se debe pasar más tiempo en un bloque, ya que tiene que superar el coste de los ataques de doble gasto. El doble gasto es el resultado de un gasto de dinero, ejecutado y realizado más de una vez. Bitcoin protege contra el gasto doble al verificar cada transacción agregada a la cadena de bloques, para garantizar que las entradas para la transacción no se hayan gastado previamente . Esto hace que la latencia sea un gran problema en Blockchain actualmente. Hacer un bloqueo y confirmar la transacción debería ocurrir en segundos, mientras se mantiene la seguridad. Para completar una transacción, p. en VISA toma solo unos segundos, lo cual es una gran ventaja en comparación con Blockchain. + +Tamaño y ancho de banda: por el momento, el tamaño de un Blockchain en la red de Bitcoin es más de 190,000MB (2018). Cuando el rendimiento aumenta a los niveles de VISA, Blockchain podría crecer 214PB en cada año. La comunidad de Bitcoin asume que el tamaño de un bloque es de 1MB, y se crea un bloque cada diez minutos . Por lo tanto, existe una limitación en el número de transacciones que pueden manejarse (en promedio, 500 transacciones en un bloque) . Si Blockchain necesita controlar más transacciones, se deben resolver los problemas de tamaño y ancho de banda. + +Seguridad: la actual tecnología Blockchain tiene una posibilidad de un 51% de ataque. En un ataque del 51%, una sola entidad tendría el control total de la mayoría de la tasa de hash minero de la red y podría manipular Blockchain. Para superar este problema, se necesita más investigación sobre seguridad. + +Recursos desperdiciados: la minería de Bitcoin desperdicia grandes cantidades de energía ($ 15 millones / día). El desperdicio en Bitcoin es causado por el esfuerzo de la Prueba de trabajo. Existen algunas alternativas en los campos de la industria, como la prueba de participación. Con la prueba de trabajo, la probabilidad de extraer un bloque depende del trabajo realizado por el minero. + +Sin embargo, en Proof-of-Stake, el recurso que se compara es la cantidad de Bitcoin que tiene un minero. Por ejemplo, alguien que posee el 1% de Bitcoin puede extraer el 1% de los "bloques de Proof of Stake" El problema con los recursos desperdiciados debe resolverse para tener una minería más eficiente en Blockchain. + +Usabilidad: la API de Bitcoin para desarrollar servicios es difícil de usar. Es necesario desarrollar una API más amigable para desarrolladores para Blockchain. Esto podría parecerse a las API REST. + +Versiones, hard forks, cadenas múltiples: una pequeña cadena que consiste en un pequeño número de nodos tiene una mayor posibilidad de un 51% de ataque. Otro problema surge cuando las cadenas se dividen con fines administrativos o de control de versiones. diff --git a/descentralizacion.asciidoc b/descentralizacion.asciidoc new file mode 100644 index 0000000..db3f3f1 --- /dev/null +++ b/descentralizacion.asciidoc @@ -0,0 +1,123 @@ +== Descentralización usando Blockchain + +En los últimos años, Bitcoin y muchas otras criptodivisas han emergido con fuerza. No se trata solo de monedas alternativas, son +una nueva forma de gestionar el sistema monetario de forma completamente descentralizada gracias a la tecnología de la cadena de +bloques. Con esta tecnología, las reglas de gobierno son elaboradas en base a parámetros numéricos y cálculos matemáticos +previamente informados a todos los miembros. No hay autoridades centrales o bancos centrales que posean gobernanza absoluta del +sistema financiero. Se acabaron los intermediarios. + +Este sistema es el fundamento de un creciente número de registros globalmente distribuidos llamados cadenas de bloques +(Blockchain), el más grande de los cuales es Bitcoin. + +Aunque el aspecto tecnológico es complicado y la expresión «blockchain» suena rara, la idea es sencilla. Las cadenas de bloques +nos permiten enviar dinero de manera directa y segura de una persona a otra sin pasar por un banco, una tarjeta de crédito o +PayPal. + +De una forma sencilla el sistema Bitcoin, la tecnología blockchain de primera generación, que iremos conociendo en este libro, +que ahora se percibe como una posible moneda electrónica global, no es otra cosa que una base de datos que se halla distribuida +entre diferentes participantes, protegida criptográficamente y organizada en bloques de transacciones relacionados entre sí +matemáticamente. + +Expresado de forma más breve, es una base de datos descentralizada que no puede ser alterada. También se puede definir como una +base de datos compartida que funciona como un libro de registro de operaciones de compra y venta, como los libros contables, +pero que además, como veremos mas adelante, incorpora innovadores mecanismos para interaccionar con la comunidad, que es la que +elige soportar y usar este sistema. + + +=== Concepto: Descentralización + +Una de las razones por las cuales se percibe que la tecnologia que subyace bajo el sistema de Bitcoin, es revolucionaria, por +ser un sistema descentralizado, sin ninguna autoridad central. + +La idea de la descentralización es que, al igual que ocurre en un red peer to peer,(P2P) o lo que es lo mismo, una red de igual +a igual, de personas o de ordenadores, donde nadie tiene un control central de lo que ocurre, nadie puede dictar; no es un +régimen autoritario y se elimina toda jerarquía e intereses particulares, e intervenciones arbitrarias + +Los sistemas de igual a igual han demostrado a lo largo de su corta historia, que tienen interesantes aplicaciones tales como +compartición de ficheros, distribución de contenidos, y protección de la privacidad. + +Sin embargo, los sistemas centralizados, a los que estamos acostumbrados, tienen puntos de fallo. Es decir, si un punto que se +encuentra en lo mas elevado de la jerarquía falla, el sistema puede fallar o colapsar de forma completa. + + + +En cambio, en los sistemas descentralizados eso no ocurre, ya que el modelo es horizontal, y si un punto falla, ya hay otros +muchísimos nodos al mismo nivel, peer to peer, de forma que no se pierde nada. Es decir, en una sociedad descentralizada se +intenta que todos seamos prescindibles y que no podamos hacer un daño perjudicial al resto de la sociedad, aunque queramos. Se +brinda al sujeto una individualidad y libertad propia acorde a su voluntad. Todo se basa en el consenso y la actitud activa. +Todos somos productores y consumidores de recursos, a la vez, al mismo nivel. + +Al unirse a un sistema de igual a igual, los usuarios cambian sus ordenadores en nodos del sistema que son iguales con respecto +a sus derechos y roles. +Aunque los usuarios pueden diferir con respecto a los recursos que contribuyen, todos los nodos en el sistema tienen la misma +capacidad funcional y responsabilidad. + +Por lo tanto, los ordenadores de todos los usuarios son proveedores y consumidores de recursos. La descentralización permite +crear organizaciones en las que todos sus miembros son propietarios de los productos y servicios que estos ofrecen. + +Esto va a permitir, en el presente o en el futuro, lo que se ha denominado DAO (Organizaciones Autónomas Descentralizadas), +organizaciones de gestion descentralizadas, por acuerdos programados entre todos los que contribuyen y participan en la +organización +(Ver mas abajo en “Ethereum: Supercomputacion descentralizada) + +=== Mundo descentralizado + +Actualmente en el planeta somos unos 7.800 millones personas, para dentro de 30 años se estima que la población mundial llegue a a cerca de 10 mil millones de personas. Este crecimiento tan rápido de la población mundial, plantea la necesidad de analizar y estudiar los modelos actuales de gestión de recursos públicos y privados, para lograr organizar de manera eficiente los recursos naturales, que desde luego son limitados, y que no permiten un crecimiento indefinido, como muchos nos hacen creer. + +Ante este escenario, los sistemas descentralizados emergentes basados en tecnologia blockchain, podrian ayudar a aportar soluciones en las proximas generaciones, en medio ambiente, energia, bio-feedback, economia social, etc.. En el modelo actual que vivimos, de economia ineficiente, corrupcion, y problemas de sostenibilidad de la economia global. Vivir en un mundo descentralizado puede parecer una utopía, pero algunas de las mentes más brillantes del momento han estado trabajando con toda su energía para lograr que sea una realidad. Pensemos por ejemplo, en quien se ha llamado Satoshi Nakamoto, sea quien sea, ha logrado en menos de 10 años idear construir una moneda digital llamada Bitcoin, a traves del desarrollo realizado por la comunidad de software libre, basada en criptografía y descentralizada, que en estos momentos tiene un valor conjunto de miles de millones de dólares. + + Si a esto le sumamos el valor de todas las criptomonedas que se basan en la misma tecnología, nos encontramos con que se está generando una economía de un valor considerable en el futuro y de paso se está validando la idea de que realmente tiene sentido pensar en modelos económicos y sociales que funcionen de manera descentralizada, donde la confianza deja de estar depositada en gobiernos o personas para estar depositada en las matemáticas y el software. + +“Es necesario un sistema de pago electrónico basado en prueba criptográfica en lugar de confianza, permitiendo que dos partes interesadas realicen transacciones directamente entre ellas, sin necesidad de un tercero de confianza. Si las transacciones son computacionalmente imposibles de revertir, protegerán a los vendedores del fraude, y cualquier mecanismo de depósito de garantía se puede implementar fácilmente para proteger al comprador.” Satoshi Nakamoto + +Bitcoin whitepaper en www.Bitcoin.org/Bitcoin.pdf + +Los negocios, el gobierno y la sociedad están basados en la confianza. Por eso muchas personas todavía se muestran escépticas al oír hablar de una tecnología que promete transformar el modo en que la logramos y aplicamos. + +Esto no debe ser tan extraño, cuando alguien como Dee Hock, uno de los fundadores de la red Visa, describe en su libro “One From Many” cómo las organizaciones descentralizadas podrían ayudar a superar algunos de estos problemas. + +En mi opinion, la tecnología Blockchain, tiene un valor estratégico muy alto para los procesos de transparencia institucional en todos los niveles de las Administraciones Públicas, desde la Administración General del Estado, a los grupos de gestion, de los gobiernos provinciales de cualquier pais + +Para ello, y para que sea aceptado y que pueda ser realmente util, la tecnología blockchain tal y como hoy lo conocemos, tendrá que dar el salto desde la capa de protocolos y tecnología, en la que ahora se encuentra, para servir como base de aplicaciones de uso masivo por la gente, como lo son ahora los navegadores, buscadores, redes sociales, apps de mensajería y futuros sistemas de economía colaborativa que sea real. + +Podemos concluir que sistemas como Bitcoin y los proximos blockchain publicos de segunda generacion, por ejemplo Ethereum, son redes de confianza descentralizada, cuyos cambios solo son posibles en el sistema, mediante consenso o acuerdos entre pares (peers) + +Estan surgiendo desarrollos e iniciativas descentralizadas sobresalientes, a partir de la tecnología blockchain de Bitcoin. De forma relevante destacamos: +=== Ethereum: SuperComputacion descentralizada + +== Ethereum (https://ethereum.org) +Es una plataforma descentralizada, blockchain pública, que ejecuta contratos inteligentes: aplicaciones que se ejecutan exactamente como se ha programaddo, sin ninguna posibilidad de tiempo de inactividad, censura, fraude o interferencia de terceros. + +Imagina que toda la humanidad podría tener acceso a una sola super- computadora. Pero eso, de hecho, solo puede ser construido mediante una combinación de cientos de miles de ordenadores, dispersos por el mundo, trabajando en la misma red, de manera descentralizada y procesando la misma información. Esta es básicamente la propuesta detrás de la plataforma Ethereum. +Ethereum es una plataforma digital cuya principal misión es la implementación de aplicaciones descentralizadas (Dapps) y contratos inteligentes (Smart Contracts). + +“Dapps” son programas informáticos que eliminan la necesidad de intermediarios en virtualmente cualquier servicio centralizado existente al permitir que cualquiera confíe en una contraparte desconocida para realizar los más variados tipos de acuerdos y acuerdos de una manera 100% digital. + +Si Bitcoin podemos decir que es tecnología blockchain 1.0, a Ethereum se le considera tecnología blockchain 2.0 puesto que dispone una maquina virtual que puede realizar evaluaciones logicas y ejecutar aplicaciones descentralizadas como por ejemplo, los contratos inteligentes(Smart Contracts). + +Ethereum ha sido el primer blockchain público que permitió la programación de Smart Contracts (programas utilizando lenguaje Turing completo) en la propia cadena de bloques, esto fue algo revolucionario ya que permite hacer algoritmos, o añadir una lógica a las transferencias. +Los Contratos Inteligentes pueden tomar decisiones, realizar transferencias y leer o ejecutar otros contratos para facilitar intercambios de dinero, contenidos, propiedad, acciones, o cualquier otro valor entre personas iguales de manera segura, transparente y sin intermediarios. (En el capitulo 11, veremos la evolución del ecosistema Bitcoin y las implementaciones de Smart Contract). + +Una aplicación futura de Ethereum son DAOs o Organizaciones Autónomas Descentralizadas. +Un DAO se compone de uno o más contratos y podría ser financiado por un grupo de personas con ideas similares. Un DAO opera completamente transparente e independiente de cualquier intervención humana, incluyendo a sus creadores originales. Un DAO permanecerá en la red mientras cubra sus costes de supervivencia y proporcione un servicio útil a su base de clientes. + +==== Namecoin +Mención especial hacemos tambien de Namecoin: es la alternativa descentralizada al sistema de registro de nombres de dominio que actualmente es centralizado y que está controlado la organización ICANN. + +Creado en 2010, Namecoin (http://namecoin.org) es una base de datos de registro de nombres descentralizada. En protocolos descentralizados como Tor, Bitcoin y Bitmessage, debe haber alguna manera de identificar cuentas para que otras personas puedan interactuar con ellas. + +Namecoin es el más antiguo y la implementación con más éxito de un sistema de registro de nombres usando tal idea. Es open source, tecnología de origen que mejora la descentralización, la seguridad, la resistencia a la censura, la privacidad, y la velocidad de ciertos componentes de la infraestructura de Internet, como DNS e identidades. Namecoin es realmente, un sistema de registro y transferencia de pares clave / valor basado en la tecnología Bitcoin. + +== Otros iniciativas y aplicaciones descentralizadas: + +A continuación reseñamos algunas de estas iniciativas descentralizadas que estan surgiendo a partir de la tecnología blockchain de Bitcoin: + +1. IPFS es un protocolo diseñado para el desarrollo de la web descentralizada y cuenta con su propio cloud descentralizado llamado Filecoin. +2. Blockstack promueve la construcción de una Internet descentralizada y para ello está desarrollando una plataforma sobre la que se puedan construir apps que funcionen de forma descentralizada. +3. EOS trabaja en el desarrollo de un Sistema Operativodiseñado para dar soporte a aplicaciones comerciales descentralizadas. +4. Status se define como un cliente móvil para Ethereum y quiere convertirse en un sistema operativo para móviles basado en Blockchain además de un sistema de mensajería que funciones de forma descentralizada. +5. Civic es un sistema de identidad digital descentralizado que está especialmente pensado para hacerlo seguro y confiable. +6. District0x es una plataforma para el desarrollo de comunidades y marketplace que funcionen de forma descentralizada. +7. IOTA está desarrollando una Blockchain pensada especialmente para ser utilizada por los dispositivos de la denominada Internet de las Cosas. +8. Steem trabaja en la puesta en marcha de una red social descentralizada en la que los generadores del contenido sean sus propietarios y puedan obtener un beneficio económico por ello. +9. Brave es un Navegador que funciona sobre blockchain por lo que está descentralizado. Está pensado especialmente para respetar la privacidad de los usuarios y que estos tengan el mayor control posible sobre su actividad online. diff --git a/ecosistema.asciidoc b/ecosistema.asciidoc new file mode 100644 index 0000000..eb1202d --- /dev/null +++ b/ecosistema.asciidoc @@ -0,0 +1,15 @@ +== Blockchain y ecosistema completo descentralizado + +Para lograr una descentralización completa, es necesario que el ambiente alrededor el Blockchain también está descentralizado. Blockchain en sí es un libro mayor distribuido que se ejecuta en la parte superior de sistemas convencionales. Estos elementos incluyen almacenamiento, comunicación y computación. + +Hay otros factores, como la Identidad, que tradicionalmente se basan en paradigmas centralizados y hay una necesidad de descentralizar estos aspectos también con el fin de lograr un ecosistema completamente descentralizado. + +Almacenamiento + +Los datos se pueden almacenar directamente en una cadena de bloques, y con esto, logra la descentralización, pero una gran desventaja de este enfoque es que Blockchain no es adecuado para almacenar grandes cantidades de datos por diseño. Puede almacenar transacciones simples y algunos datos arbitrarios pero es ciertamente no es adecuado para almacenar imágenes o grandes cantidades de datos, como es el caso de los tradicionales sistemas de bases de datos. + +Una alternativa mejor, es usar tablas hash distribuidas (DHT). DHT eran originalmente utilizado en el software de intercambio de archivos peer-to-peer, como BitTorrent, Napster, Kazaa, y Gnutella. La investigación sobre DHT se hizo popular gracias a proyectos como CAN, Chord, Pastry y Tapestry . BitTorrent resulta ser la red más escalable y rápida, pero el problema es que no hay ningún incentivo para que los usuarios guarden los archivos indefinidamente. +Los usuarios generalmente no guardan archivos permanentemente, y si los nodos salen de la red que tiene datos requeridos por alguien, no hay forma de recuperarlo, excepto que los nodos necesarios vuelvan a unirse a la red para que los archivos estar disponible una vez más. + +Dos requisitos principales aquí son la alta disponibilidad y la estabilidad de los enlaces de objetos, lo que significa que los datos deben estar disponibles cuando sea necesario y los enlaces de red también debería ser siempre accesible. +Sistema Interplanetario de Archivos (IPFS) de Juan Benet posee ambas propiedades y la visión es proporcionar una red web descentralizada reemplazando el protocolo HTTP. IPFS utiliza Kademlia DHT y merkle DAG (Directed Acyclic Gráfico) para proporcionar la funcionalidad de almacenamiento y búsqueda, respectivamente. diff --git a/images/README.md b/images/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/images/README.md @@ -0,0 +1 @@ + diff --git a/images/cifrado_cesar_01.png b/images/cifrado_cesar_01.png new file mode 100644 index 0000000..b710ab2 Binary files /dev/null and b/images/cifrado_cesar_01.png differ diff --git a/images/cifrado_por_sustitucion_01.png b/images/cifrado_por_sustitucion_01.png new file mode 100644 index 0000000..4b391b7 Binary files /dev/null and b/images/cifrado_por_sustitucion_01.png differ diff --git a/images/cifrado_por_sustitucion_02.png b/images/cifrado_por_sustitucion_02.png new file mode 100644 index 0000000..6597a8d Binary files /dev/null and b/images/cifrado_por_sustitucion_02.png differ diff --git a/images/enigma_y_lorenz.PNG b/images/enigma_y_lorenz.PNG new file mode 100644 index 0000000..a61e968 Binary files /dev/null and b/images/enigma_y_lorenz.PNG differ diff --git a/images/rot13.png b/images/rot13.png new file mode 100644 index 0000000..4f2e2a3 Binary files /dev/null and b/images/rot13.png differ diff --git a/images/transposicion_columnar_simple.png b/images/transposicion_columnar_simple.png new file mode 100644 index 0000000..fe28a4f Binary files /dev/null and b/images/transposicion_columnar_simple.png differ diff --git a/origen.asciidoc b/origen.asciidoc new file mode 100644 index 0000000..df249e3 --- /dev/null +++ b/origen.asciidoc @@ -0,0 +1,37 @@ +== Antecedentes y origen: + +Bitcoin ha creado realmente el concepto de “Blockchain”, inspirándose en otras soluciones. Los movimientos cyberpunk, cypherpunk y hacktivista sentaron las bases que permitirían crear la primera criptomoneda del mundo, el bitcoin; pero, más relevante aun, facilitaron idear el protocolo de cadenas de bloques(Blockchain) Bitcoin, basado en la criptografia de clave publica, que habia nacido años antes, rompiendo la hegemonia de la NSA americana, basada en una anticuada criptografia de clave privada simetrica + +David Chaum es uno de los iniciadores de la criptografía aplicada a los pagos, firmas ciegas para pagos ilocalizables, imposibles de rastrear. Un sistema que, por un lado, no permite a terceras partes, la determinación del perceptor, el tiempo o el importe de los pagos hechos por otra persona; importante en términos de intimidad y privacidad; por otra, la capacidad de los individuos para proveer una prueba del pago o informar de la identidad del perceptor bajo circunstancias excepcionales. + +Entre 1992 y 1994 se difunde la criptografía como manifestación de un movimiento denominado criptoanarquía: un medio para tutelar la privacidad y la libertad individual en la red: + +“...una criptografía potente puede causar la declinación del poder del estado y quizá aún colapsarlo. Creemos que la expansión en el ciberespacio con comunicaciones seguras, anonimato y seudónimos y otras interacciones criptomediales cambiaran profundamente la naturaleza de las interacciones económicas y sociales. + + +“La informática está al borde de proporcionar la capacidad a individuos y grupos de comunicarse e interactuar entre ellos de forma totalmente anónima. Dos personas pueden intercambiar mensajes, hacer negocios y negociar contratos electrónicos, sin saber nunca el Nombre Auténtico, o la identidad legal, de la otra. Las interacciones sobre las redes serán intrazables, gracias al uso extendido de re-enrutado de paquetes encriptados en máquinas a prueba de manipulación que implementen protocolos Criptográficos, con garantías casi perfectas, contra cualquier intento de alteracion. + +Las reputaciones tendrán una importancia crucial, mucho más importante en los tratos que las calificaciones crediticias de hoy en día. Estos progresos alterarán completamente la naturaleza de la regulación del gobierno, la capacidad de gravar y de controlar las interacciones económicas, la capacidad de mantener la información secreta, e incluso alterarán la naturaleza de la confianza y de la reputación” + +Timothy C.May Cyphernomicon. The Crypto Anarchist Manifesto1 + +Bitcoin es realmente la implementación de un concepto que fue ideado tiempo atrás por el criptógrafo Wei Dai2: la criptomoneda +En el año 1998, Wei Dai publicó una revolucionaria propuesta3 en la lista de correo electrónico Cypherpunk: la de un sistema de intercambio de valor y ejecución de contratos basado en una moneda electrónica irrastreable, que le permitiera a sus dueños mantenerse anónimos. A esta moneda electrónica criptográfica la llamó “b-money“. +La propuesta de Wei Dai no despertó en su momento mayor interés, pero más adelante, fue rescatada, desarrollada y perfeccionada por Satoshi Nakamoto4 quien decidió incluirla como referencia en su ya célebre paper (“Bitcoin: A Peer-to-Peer Electronic Cash System”), publicado en el año 2008. (https://bitcoin.org/bitcoin.pdf). +Version en castellano: https://bitcoin.org/files/bitcoin-paper/bitcoin_es_latam.pdf +He aquí un fragmento del texto de Wei Dai, que inspiró a Satoshi Nakamoto, traducido al castellano: +Me fascina la idea de Tim May de una sociedad completamente voluntaria y protegida por medio de la criptografía. A diferencia del tipo de comunidad tradicionalmente asociado con la palabra “anarquía”, en una cripto-anarquía el gobierno no es eliminado, pero es incapaz de imponerse. En este tipo de comunidad, la amenaza de la violencia resulta impotente, dado que no es posible ejercer la violencia sobre miembros de una comunidad que no pueden ser identificados en contra de su voluntad. +Hasta ahora no está claro, ni siquiera en teoría, cómo podría funcionar semejante comunidad. Una comunidad se define por el nivel de cooperación entre sus miembros, y para que esa cooperación sea eficiente, es necesario contar con un medio de intercambio (dinero) y determinar la manera en que se harán cumplir los contratos. + Tradicionalmente, estos servicios han sido proporcionados por los gobiernos (o por instituciones patrocinadas por los gobiernos) a personas físicas o jurídicas definidas por ellos. En este artículo describiré un protocolo en virtud del cual dichos servicios pueden ser suministrados a entidades irrastreables y por entidades irrastreables. + +por Hal Finney +Cuando Satoshi anunció el lanzamiento de la primera +versión del software, lo descargué de inmediato. Creo que +fui la primera persona, después de Satoshi, en ejecutar el +cliente Bitcoin. Mi ordenador encontró el bloque setenta y +algo, y fui el primer destinatario de una transacción +mediante Bitcoin, cuando Satoshi me envió diez “monedas” +a modo de prueba. Durante los siguientes días mantuvimos +una larga conversación vía email, en la cual le reporté +varios fallos que él se apuró a corregir. + diff --git a/podercadena.asciidoc b/podercadena.asciidoc new file mode 100644 index 0000000..8f2c35b --- /dev/null +++ b/podercadena.asciidoc @@ -0,0 +1,7 @@ +== El Poder de la Cadena de Bloques + +El poder esencial de la tecnología Blockchain es su capacidad para distribuir información. Debido a que se distribuye en todos los nodos o ordenadores individuales que componen el sistema, el término "tecnología de cadena de bloques" a menudo se intercambia con "tecnología de contabilidad distribuida". La base de datos de una cadena de bloques no se almacena en una sola ubicación, lo que podría ser infiltrados o controlados por una sola parte, sino que está alojado en numerosas (en el caso de Bitcoin, decenas de miles) de ordenadores a la vez. + +La red Blockchain se verifica automáticamente a sí misma a ciertos intervalos, creando un sistema de auto-auditoría que garantiza la precisión de los datos que contiene. Los grupos de estos datos se conocen como "bloques", y como estos bloques se encadenan criptográficamente, los datos se entierran y son más difíciles de manipular. Alterar cualquier pieza de datos en la cadena de bloques requeriría una gran cantidad de poder de computación + +Por lo tanto, el argumento que explica el potencial de la cadena de bloques es: los sistemas P2P distribuidos puramente tienen una enorme potencial comercial ya que pueden reemplazar los sistemas centralizados y cambiar todo tipo de industrias, empresas y negocios, debido a la des-intermediación. diff --git a/queesunacadena.asciidoc b/queesunacadena.asciidoc new file mode 100644 index 0000000..9abc2d5 --- /dev/null +++ b/queesunacadena.asciidoc @@ -0,0 +1,35 @@ +Entonces vale la pena preguntar: + +== ¿Qué es una cadena de bloques o Blockchain? + +La idea básica de una cadenas de bloques es mantener un registro, libro de contabilidad o base de datos distribuida de cierto tipo de información a lo largo del tiempo y que resista especialmente modificaciones malintencionadas. Cada uno de esos bloques contiene la información codificada de una transacción en la red. Normalmente se emplea en transacciones de tipo financiero, de modo que la cadena de bloques es una especie de «libro de contabilidad público incorruptible»: la información más reciente depende de que toda la información del pasado se encuentre intacta. Esto evita la manipulación y sirve como protección ante fraudes. En Bitcoin, por ejemplo, se usa para saber quién paga qué a quién, de modo que no se pueda negar haber recibido o pagado algo. + +La Blockchain es el libro público de todas las transacciones de Bitcoin que alguna vez han sido ejecutadas. Está en constante crecimiento ya que los mineros le agregan nuevos bloques (cada 10 minutos) a registrar las transacciones más recientes. Los bloques se agregan a la cadena de bloques en en una linea de tiempo, con orden cronológico. + +Cada nodo completo (es decir, cada ordenador conectado a la red Bitcoin utilizando un cliente que realiza la tarea de validar y retransmitir transacciones) tiene una copia de la cadena de bloques, que se descarga automáticamente cuando el minero se une a la red de Bitcoin. El blockchain tiene información completa sobre las direcciones y saldos desde el bloque de génesis (las primeras transacciones jamás ejecutadas) al bloque más recientemente completado. + +La cadena de bloques, como libro público, significa que es fácil para consultar con cualquier explorador de bloques (como https://blockchain.info/) para las transacciones asociadas con una dirección particular de Bitcoin, por ejemplo, puedes buscar tu propio monedero o dirección para ver la transacción en la que recibes tu primer Bitcoin. + +Blockchain es visto como la principal innovación tecnológica de Bitcoin porque se erige como un mecanismo de prueba "sin confianza" de todas las transacciones en la red. Usuarios puede confiar en el sistema del libro público almacenado en todo el mundo, en muchas décadas diferentes. Nodos descentralizados mantenidos por "contadores mineros", en lugar de tener que establecer y mantener la confianza con la contraparte de la transacción (otra persona) o un tercero intermediario del partido (como un banco). + +Blockchain, subyace como la arquitectura para un nuevo sistema de las transacciones descentralizadas sin confianza. Es la innovación clave. Como ya hemos visto la cadena de bloques permite, des-intermediación y descentralización de todas las transacciones de cualquier tipo entre todos las partes a nivel mundial + + +=== Transferencia del valor + +Las tecnologías consensuadas descentralizadas proporcionan, por primera vez, una forma para que un usuario de Internet transfiera una propiedad digital única a otro usuario de Internet, de modo que la transferencia garantizada sea segura, pública e irrefutable. De adoptarse, estas tecnologías podrían transformar fundamentalmente la forma en que opera el mundo, introduciendo una gama de eficiencias para el comercio, las finanzas, las leyes y los seguros, y permitiendo la creación de la próxima generación de la World Wide Web, lo que ya se denomina como Web3. + +Podemos hablar de lo que se ha llamado el internet del valor: Las cadenas de bloques no solo sirven para transmitir información sino para transmitir valor porque : + + – Disponen de una unidad de cuenta + – Son inmutables + – Son seguras + – Funcionan sin autoridad central y sin terceros de confianza + – Tienen un mecanismo de consenso + +Por lo tanto, la cadena de bloques puede ser utilizado para cualquier forma de registro de activos, inventario e intercambio, incluidas todas las áreas de finanzas, economía y dinero; activos tangibles (propiedad física); y activos intangibles (votos, ideas, reputación, intención, datos de salud, etc.). + +“#The Bitcoin protocol and network today is that foundational layer. It is a value transfer network.Beyond that, it is a core, backbone security service securing contracts, physical and digital property, equities, bonds, robot AI and an enormous wave of applications which have not yet been conceived.” + +Jeff Garzik, Bitcoin core developer and CEO, Dunvegan Space Systems + diff --git a/relacion.asciidoc b/relacion.asciidoc new file mode 100644 index 0000000..4f7b1d0 --- /dev/null +++ b/relacion.asciidoc @@ -0,0 +1,14 @@ + +== ¿Cómo se relaciona Blockchain con Bitcoin? + +Blockchain es posiblemente la innovación más poderosa asociada con Bitcoin, ya que innumerables industrias, desde servicios financieros hasta servicios de cualquier tipo, que podamos imaginar, han comenzado a contemplar cómo aprovechar la tecnología para sus propios usos. + +Blockchain es la tecnología que permite la existencia de la criptomoneda. Bitcoin es el nombre de la primera criptomoneda que ha demostrado estabilidad y consistencia, durante diez años funcionando. Esto solo ha sido posible gracias a la comunidad que la ha construido y la “invención” del misterioso Satoshi Nakamoto. + +El sistema de Nakamoto, contiene la descripcion de un sistema de pagos que permitiría a sus usuarios proteger la propiedad mediante el uso de criptografía de clave asimétrica. + +En realidad, para encontrar la idea de sistema criptografico distribuido, podemos retroceder en el pasado, hasta 1976 en un paper de investigación llamado: “New Directions in Cryptography" : https://ee.stanford.edu/~hellman/publications/24.pdf, donde los grandes padres de la criptografía de clave pública Diffie y Hellman dibujan ya sus posibilidades de distribución de claves e información + +Pero como veremos ahora mas adelante, de forma mas detallada, Satoshi también consigue solucionar y evitar el doble gasto gracias a una base de datos descentralizada y validada por consenso a través de una prueba de trabajo que realizan los propios usuarios y los que soportan las monedas digitales, o bienes de valor dentro del sistema. La revolución radica en que con este sistema, ya no es necesaria la actuación de un tercero de confianza que certifique y transfiera la propiedad digital + +Blockchain es el corazón de Bitcoin. La tecnología Blockchain es la primera en permitir a la vez: resistencia a la censura, descentralización, ausencia de confianza en terceros, globalidad y neutralidad. diff --git a/saltotec.asciidoc b/saltotec.asciidoc new file mode 100644 index 0000000..b56e4dc --- /dev/null +++ b/saltotec.asciidoc @@ -0,0 +1,20 @@ +=== Internet del valor : Salto Tecnologico y social + +El mundo cambió de repente, con la aparicion de los ordenadores y tambien con la aparicion de Internet, sin que pudieramos ver su impacto, y lo que ha supuesto la digitalizacion de muchos aspectos de nuestra vida y realidad actual. + +Hoy en día, todo se puede almacenar, casi todo lo que hacemos o pensamos, deja un rastro digital, pero hay suficiente capacidad como para almacenar toda la información generada por el hombre durante miles de años. + +Actualmente existe ya una gran diferencia entre el ritmo de evolución de la tecnología y el de las organizaciones sociales, económicas, y políticas que estan provocando rupturas cada cierto tiempo: + +“mientras los sistemas sociales cambian incrementalmente, la tecnología lo hace de forma exponencial, creándose así una brecha que posibilita los cambios discontinuos y revolucionarios”. +(law of disruption, Larry Downes) + +Tenemos la oportunidad de vivir en una época única, donde a pesar de las antiguas estructuras anquilosadas , pueden provocar la aparición de fuerzas de transformación que cambian el paradigma de ciertos sectores de una forma tan rapida y profunda, que nos costaría imaginarlo hace años. + +Hasta ahora, las organizaciones han tenido que adaptarse y adoptar los beneficios que ha creado la era digital, han tenido que rediseñar sus diferentes sistemas de comunicación internos para introducir ordenadores y software necesarios para facilitar tareas y operaciones que se llevan a cabo dentro de ellas o con su ecosistema de relacion con terceros + +Pero con blockchain las posibilidades de transmitir información de bienes digitales y que todo el mundo pueda intercambiar y compartir valor de igual a igual (P2P) mediante criptomonedas propias, nos deja claro que el poder no va a estar tan centralizado. Eso cambia la operativa de las empresas, pero también la operativa de las personas, cómo interactuamos ahora entre nosotros. Y esto es realmente fascinante, tratar de imaginar cómo va a ser el futuro en 20, 30 sobre todo a nivel social. + +Lo cierto, es que hasta ahora aunque no de forma completa, las TIC (Tecnologias de la información) habian resultado imprescindibles en aspectos de tanta repercusión social, como son la igualdad de oportunidades, la democratización en el acceso a la información, o la eliminación de los riesgos de las brechas socioeconómicos y culturales por motivos geográficos, de edad, de género, de origen, etc… + +Blockchain puede provocar cambios profundos en todos estos casos, dentro de muy poco tiempo. Quizás uno de los efectos más interesantes de la economía descentralizada basada en protocolos abiertos: la redistribución del valor en esta transición. diff --git a/sistemasit.asciidoc b/sistemasit.asciidoc new file mode 100644 index 0000000..1d3f99c --- /dev/null +++ b/sistemasit.asciidoc @@ -0,0 +1,116 @@ +=== Sistemas IT: SISTEMAS DISTRIBUIDOS vs SISTEMAS DESCENTRALIZADOS + +Los sistemas centralizados son sistemas de TI (Tecnologias de la informacion) convencionales (cliente-servidor) en los que existe una sola autoridad que controla el sistema y es el único responsable de todas las operaciones en el sistema. (Arquitectura Cliente-Servidor) + +Todas los usuarios de un sistema central dependen de una única fuente de servicio. Prestadores de servicios online o proveedores, como eBay, Google, Amazon, y la mayoría de otros proveedores, use este modelo común de prestación de servicios. +Sistemas Distribuidos + +Por otro lado, en una sistema distribuido, los datos y el cálculo se distribuyen en múltiples nodos en el red. A veces, este +término se confunde con la informática paralela. Si bien hay un solapamiento en la definición, la principal diferencia entre +ambos sistemas es que en un sistema paralelo, el cálculo lo realizan todos los nodos simultáneamente para lograr un resultado, +mientras que en un sistema distribuido, el cálculo puede no ocurrir en paralelo y los datos son solo replicados en múltiples +nodos que los usuarios ven como un único sistema coherente. + +Ambos modelos se usan con variaciones para lograr tolerancia a fallos y velocidad . Pero realmente, en este modelo, todavía hay +una autoridad central que tiene control sobre todos los nodos y gobierna el tratamiento de datos. Esto significa que el sistema +todavía realmente está centralizado en su naturaleza. +Las principales ventajas de un sistema distribuido en ordenadores individuales son varias: + +• Mayor poder de computación +• Reducción de coste +• Mayor confiabilidad +• Capacidad de crecer de forma natural + +Una definición sencilla de sistema distribuido es: un modelo en el cual los componentes ubicados en ordenadores conectados en +red se comunican y coordinan sus acciones al mediante envio de mensajes que aparecen al usuario como un simple sistema +coherente.1 + +Grafico + +Con esta definición, un sistema descentralizado es también un sistema distribuido. Realmente Blockchain, es una herramienta para lograr la integridad en sistemas de software distribuidos + +Las principales amenazas de integridad en los sistemas peer-to-peer son: + +- Fallas técnicas +- Pares de nodos malintencionados + +El problema central resuelto por la tecnología Blockchain, es lograr y mantener la integridad en un sistema punto a punto +puramente distribuido que se compone de un número desconocido de pares con confiabilidad desconocida. + +==== Sistemas Descentralizados + +Un punto clave sobre la descentralización es que no hay un punto central de control. Se distribuyen aplicaciones y servicios de +Internet grandes, pero la mayoría están centralizados porque la compañía que los ejecuta puede alterar o detener el sistema. Un +sistema descentralizado es un tipo de red por el cual los nodos no dependen de un único nodo maestro; en cambio, el control se distribuye entre muchos nodos. + +Por ejemplo, esto es análogo a un modelo en el que cada departamento de una organización tiene su propio servidor de base de datos al que están a cargo, quitándole así la potencia del servidor central y distribuyéndolo a los sub-departamentos que manejan sus propias bases de datos. + +Una verdadera innovación en el paradigma descentralizado que ha comenzado esta nueva era de aplicaciones de descentralización es el consenso descentralizado, que se introdujo con Bitcoin. Esto permite al usuario acordar algo a través de un algoritmo de consenso sin el necesidad de un tercero central confiable, intermediario o proveedor de servicios. + +==== Consenso en blockchain + +El consenso es básicamente un concepto de computación distribuida que se ha utilizado en blockchain con el fin de proporcionar un medio para acordar una única versión de la verdad por parte de todos los pares en la red blockchain. + +Aproximadamente, existen las siguientes dos categorías de mecanismos de consenso distribuido: + +1. Basado en la prueba, basado en el líder o el consenso de Nakamoto según el cual un líder es elegido y propone un valor final + +2. Basado en un sistema de tolerancia de “Fallos bizantinos”: es decir, un nodo envía mensajes arbitrarios, en un sistema distribuido. Este es un enfoque más tradicional basado en rondas de votos. Realmente, se Intenta dar solucion al dilema de lograr un consenso entre un conjunto de entidades o nodos con un objetivo común cuando entre ellos pueden existir traidores(fallos en el sistema), es decir, entidades con objetivos opuestos que intenten dinamitar el proceso. Además, se supone que las comunicaciones entre dichas entidades son limitadas e inseguras, como ocurre en Internet. + +Los algoritmos de consenso que están disponibles hoy o que se están investigando en el contexto de blockchain los podremos ver más adelante. Esta no es una lista exhaustiva, pero se ha intentado enumerar de forma breve todos los algoritmos importantes implicados en Bitcoin. + +Finalmente, sobre las redes como Bitcoin, podemos decir: + +- Que están políticamente descentralizadas (nadie las controla) + +- Que a nivel de arquitectura, es un sistema descentralizado (no hay un punto central de infraestructura de fallo) + +- Pero a nivel lógico, estan centralizadas (hay un estado comúnmente acordado y el sistema se comporta como una sola computadora) + +Grafico: Red Global de nodos Bitcoin + +==== Tres razones para la descentralización: + +La siguiente pregunta es, ¿por qué la descentralización es útil en primer lugar? + +En general, hay varios argumentos planteados: + +- La tolerancia a fallos: + + Los sistemas descentralizados tienen menos probabilidades de fallar accidentalmente porque dependen de muchos componentes separados que no son probables. + +- Resistencia al ataque: + + Los sistemas descentralizados son más caros de atacar y destruir o manipular porque carecen de puntos centrales sensibles que pueden ser atacados a un costo mucho más bajo que el tamaño económico del sistema circundante. + +- Resistencia a acuerdos ilegales: + + Es mucho más difícil para los participantes en sistemas descentralizados actuar en formas que los benefician a expensas de otras partes, mientras que las direcciones de corporaciones y gobiernos acuerden de forma velada, soluciones que se benefician unos pocos, pero perjudican a ciudadanos, clientes, empleados y al público en general que estan menos coordinados todo el tiempo. + +==== Métodos de descentralización + +Hay dos métodos que se pueden usar para lograr la descentralización. Estos métodos son discutido en detalle en las siguientes secciones. + +-Desintermediación + +Esto se puede explicar con la ayuda de un ejemplo. Imagina que quieres enviar dinero a tu amigo en otro país Vas a un banco que transferirá tu dinero al banco en el país de su elección por una tarifa. En este caso, el banco mantiene una base de datos central que es actualizado, confirmando que ha enviado el dinero. + +Con la tecnología Bitcoin, es posible enviar este dinero directamente a su amigo sin la necesidad de un banco. Todo lo que tu necesitas es la dirección de tu amigo en la cadena de bloques. De esta manera, el intermediario ya nunca será necesario y la descentralización se logra mediante la desintermediación o la eliminación del intermediario. + +Sin embargo lo que és discutible, es la descentralización práctica en el sector financiero por desintermediación debido a fuertes requisitos regulatorios y de cumplimiento. Sin embargo, este modelo puede usarse no solo en finanzas pero también en muchas otras industrias diferentes: Transporte, Alimentacion, Energia,Sistemas conectados, Registros legales, etc.. + +-Por la competencia + +En este método, un grupo de proveedores de servicios compiten entre sí para ser seleccionados para la provisión de servicios por el sistema. Este paradigma no se completa descentralización, pero hasta cierto punto asegura que un intermediario o proveedor de servicios no está monopolizando el servicio. + +En el contexto de la tecnología blockchain, un sistema puede ser previsto en que los contratos inteligentes pueden elegir un proveedor de datos externo de un gran número de proveedores según su reputación, puntuación anterior, revisiones y calidad de Servicio. + +Esto no dará lugar a una descentralización completa, pero permite contratos inteligentes para hacer una libre elección en base a los criterios mencionados anteriormente. De esta manera, un entorno de la competencia se cultiva entre los proveedores de servicios, por lo que compiten entre sí para convertirse en el proveedor de datos de elección. + + +Grafico: +Sectores de la Economía que actualmente trabajan con tecnología Blockchain según informa la Comisión Europea. + + + + diff --git a/tiposchain.asciidoc b/tiposchain.asciidoc new file mode 100644 index 0000000..93d30c8 --- /dev/null +++ b/tiposchain.asciidoc @@ -0,0 +1,29 @@ +== Tipos de Blockchain: Público, Privado e Híbrido + +Existen tres tipos: +-Públicas +-Privadas +-Híbridas. + +=== Blockchains públicas + +Los ejemplos más conocidos de Blockchains públicas son Bitcoin y Ethereum. Una Blockchain pública es accesible a cualquier usuario en el mundo. Lo único que se necesita es un ordenador y una conexión a Internet. +El problema central a resolver por el Blockchain publico es lograr y mantener la integridad en un sistema punto a punto puramente distribuido que se compone de un número desconocido de pares con confiabilidad desconocida. + +Bitcoin, por primera vez, resuelve este problema, y lo hace de manera segura, o muy segura. Por un lado, una de las principales fortalezas de su seguridad viene de la aplicación de robustos sistemas criptográficos, que ofrece un nivel de seguridad superior a los más avanzados de defensa de servidores, por otro lado plantea un nuevo paradigma en la forma de estructurar su arquitectura operativa, más allá de la estructura cliente servidor (centralizada) muy vulnerable o de los modelos Cloud (distribuido) que también comienzan a dar señales de lentitud en respuesta a desafíos de seguridad, + + +=== Blockchains privadas + +Una Blockchain privada, a diferencia de una Blockchain pública, no está abierta al público, sino que solo se puede acceder a ella por invitación. Las Blockchains privadas son más nuevas que las Blockchains públicas y pueden ser muy diferentes las unas a las otras y en algunos casos es incluso cuestionable que se pueda hablar de Blockchain para algunas de las soluciones que se conocen en el mercado. Algunas de las más famosas son Hyperledger (de la Fundación Linux), R3 (un consorcio de bancos internacionales para desarrollar soluciones bancarias de blockchain privada) o Ripple (un protocolo para facilitar las transferencias internacionales de dinero). + +=== Blockchains híbridas + +Las Blockchain híbridas son una combinación de las públicas y privadas. En una Blockchain híbrida los nodos participantes son invitados, pero todas las transacciones son públicas. +Aquí, el proceso de validación de consenso puede ser controlado por personas u organizaciones preseleccionadas, como un consorcio de instituciones financieras o los clientes de una empresa. + +Eso quiere decir que los nodos participan en el mantenimiento y seguridad de esta blockchain, pero que todas las transacciones son visibles para usuarios en todo el mundo y que no tienen que conocer el contenido de la Blockchain, a diferencia de las blockchains privadas en la cual las transacciones son privadas también. +Algunos ejemplos de Blockchains híbridas son BigchainDB (un proveedor de tecnología Blockchain) o Evernym, una blockchain híbrida que quiere facilitar la gestión de la Identidad Digital Soberana (ltSelf Sovereign Identity). Otro ejemplo de Sistema híbrido o de consorcio, es el consorcio español de grandes empresas, Alastria. + +En general, el derecho de leer la Blockchain asociada puede ser público o restringido a los participantes. Estos sistemas son considerados parcialmente descentralizados. Se puede requerir que la identidad de los usuarios se conforme para conocer su negocio ("KYB") o conocer los procedimientos de su cliente ("KYC"). Si estos sistemas necesitan una moneda integrada para proporcionar incentivos dependería del grado de confianza, que a su vez dependerá del grado de descentralización. +