WTF es The Blockchain?

La mejor guía de 3500 palabras en inglés simple para entender Blockchain.

http://www.forexnewsnow.com/top-stories/bitcoin-2016-summary-2017-forecasts/

A menos que te escondas debajo de la roca, estoy seguro de que habrás oído hablar de Bitcoins y Blockchain. Después de todo, son los temas favoritos y los favoritos de los medios en estos días: las palabras de moda del año. Incluso las personas que nunca han extraído una criptomoneda o no entienden cómo funciona, están hablando de ello. Tengo más amigos no técnicos que técnicos. Me han estado molestando durante semanas para explicarles esta nueva palabra de moda. Supongo que hay miles por ahí que sienten lo mismo. Y cuando eso sucede, llega el momento de escribir algo para que todos puedan señalar a las otras almas perdidas, ese es el propósito de este post, escrito en inglés sencillo que cualquier usuario regular de internet entiende.

Por cierto, soy comisario de un boletín semanal, Unmade , que ofrece una idea del futuro en tus bandejas de entrada.

Blockchain: ¿por qué necesitamos algo tan complejo?

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

A diferencia de cualquier otra publicación en Internet, en lugar de definir primero Blockchain, entenderemos el problema que resuelve.

Imagina, Joe es tu mejor amigo. Está viajando al extranjero, y el quinto día de sus vacaciones, él lo llama y le dice: "Amigo, necesito algo de dinero. Me he quedado sin eso ".

Usted responde "Enviando algunos de inmediato" y colgó.

A continuación, llama a su gerente de cuenta en su banco y le dice: "Por favor, transfiera $ 1000 de mi cuenta a la cuenta de Joe".

Su gerente de cuenta responde: "Sí, señor".

Él abre el registro, verifica el saldo de su cuenta para ver si tiene saldo suficiente para transferir $ 1000 a Joe. Porque eres un hombre rico, tienes mucho; por lo tanto, hace una entrada en el registro como la siguiente:

El registro de transacciones

Nota: no estamos hablando de computadoras solo para mantener las cosas simples.

Llamas a Joe y le dices: "He transferido el dinero. La próxima vez, iría a su banco, puede retirar los $ 1000 que acabo de transferir ".

¿Lo que acaba de suceder? Usted y Joe confiaron en el banco para administrar su dinero. No hubo un movimiento real de facturas físicas para transferir el dinero. Todo lo que se necesitaba era una entrada en el registro. O más precisamente, una entrada en el registro que ni usted ni Joe controlan o poseen.

Y ese es el problema de los sistemas actuales.

Para establecer confianza entre nosotros, dependemos de terceros independientes.

Durante años, hemos dependido de estos intermediarios para confiar el uno en el otro. Usted podría preguntar: "¿cuál es el problema dependiendo de ellos?"

El problema es que son singulares en número. Si se debe inyectar un caos en la sociedad, todo lo que se requiere es que una persona / organización se corrompa, intencionalmente o no.

  • ¿Qué pasa si ese registro en el que se registró la transacción se quema en un incendio?
  • ¿Qué pasa si, por error, su gerente de cuenta ha escrito $ 1500 en lugar de $ 1000?
  • ¿Y si lo hizo a propósito?

Durante años, hemos estado poniendo todos nuestros huevos en una sola canasta y también en la de otra persona.

¿Podría haber un sistema donde aún podamos transferir dinero sin necesitar el banco?

Para responder a esta pregunta, necesitaremos profundizar más y hacernos una mejor pregunta (después de todo, solo mejores preguntas conducen a mejores respuestas).

Piénselo un segundo, ¿qué significa transferir dinero? Solo una entrada en el registro. La mejor pregunta sería entonces:

¿Hay alguna manera de mantener el registro entre nosotros en lugar de que alguien lo haga por nosotros?

Ahora, esa es una pregunta que vale la pena explorar. Y la respuesta es lo que ya habrás adivinado. El blockchain es la respuesta a la pregunta profunda.

Es un método para mantener ese registro entre nosotros en lugar de depender de que alguien lo haga por nosotros.

¿Sigues conmigo? Bueno. Porque ahora, cuando varias preguntas han comenzado a aparecer en tu mente, aprenderemos cómo funciona este registro distribuido.

Sí, pero dime, ¿cómo funciona?

El requisito de este método es que debe haber suficientes personas que deseen no depender de un tercero. Solo entonces este grupo puede mantener el registro por su cuenta.

"Puede tener sentido solo obtener un poco de Bitcoin en caso de que lo descubra". Si suficientes personas piensan de la misma manera, eso se convierte en una profecía autocumplida ". – Satoshi Nakamoto en 2009

¿Cuántos son suficientes? Al menos tres . Para nuestro ejemplo, supondremos que diez personas quieren renunciar a los bancos o a un tercero. De mutuo acuerdo, tienen detalles de las cuentas de los demás todo el tiempo, sin conocer la identidad del otro.

1. Una carpeta vacía

Todos tienen una carpeta vacía consigo mismos para empezar. A medida que avancemos, estas diez personas seguirán agregando páginas a sus carpetas actualmente vacías. Y esta colección de páginas formará el registro que rastrea las transacciones.

2. Cuando ocurre una transacción

Luego, todos en la red se sientan con una página en blanco y un bolígrafo en sus manos. Todos están listos para escribir cualquier transacción que ocurra dentro del sistema.

Ahora, si # 2 quiere enviar $ 10 a # 9.

Para realizar la transacción, # 2 grita y les dice a todos, "Quiero transferir $ 10 a # 9. Entonces, todos, por favor, anótenlo en sus páginas ".

Todos verifican si # 2 tiene saldo suficiente para transferir $ 10 a # 9. Si tiene suficiente saldo, todos anotan la transacción en sus páginas en blanco.

Primera transacción en la página

La transacción se considera completa.

3. Las transacciones continúan sucediendo

A medida que pasa el tiempo, más personas en la red sienten la necesidad de transferir dinero a otros. Cada vez que quieren hacer una transacción, la anuncian a todos los demás. Tan pronto como una persona escucha el anuncio, (s) lo escribe en su página.

Este ejercicio continúa hasta que todos se queden sin espacio en la página actual. Suponiendo que una página tenga espacio para registrar diez transacciones, tan pronto como se realice la décima transacción, todo el mundo se queda sin espacio.

Cuando la página se llena

Es hora de guardar la página en la carpeta y sacar una nueva página y repetir el proceso desde el paso 2 anterior.

4. Dejar de lado la página

Antes de guardar la página en nuestras carpetas, debemos sellarla con una clave única en la que todos los miembros de la red estén de acuerdo. Al sellarlo, nos aseguraremos de que nadie pueda realizar ningún cambio una vez que sus copias hayan sido guardadas en la carpeta de todos, no hoy, ni mañana, ni siquiera después de un año. Una vez en la carpeta, siempre permanecerá en la carpeta – sellada. Además, si todos confían en el sello, todos confían en el contenido de la página. Y este sellado de la página es el quid de este método.

[Jargon Box] Se llama 'minería' en la página para asegurarlo, pero por la simplicidad de esto, seguiremos llamándolo 'sellado'.

Anteriormente, el tercero / intermediario nos dio la confianza de que todo lo que hayan escrito en el registro nunca será alterado. En un sistema distribuido y descentralizado como el nuestro, este sello proporcionará la confianza en su lugar.

¡Interesante! ¿Cómo sellamos la página?

Antes de que sepamos cómo podemos sellar la página, sabremos cómo funciona el sello, en general. Y como prerrequisito es aprender sobre algo que me gusta llamar …

La máquina mágica

Imagina una máquina rodeada de paredes gruesas. Si envía una caja con algo dentro desde la izquierda, escupirá una caja que contiene algo más.

[Jargon Box] Esta máquina se llama 'Función Hash', pero no estamos de humor para ser demasiado técnicos. Entonces, por hoy, estas son 'Las máquinas mágicas'.

La máquina mágica (también conocida como función hashing)

Supongamos que envías el número 4 desde la izquierda, y descubrimos que escupió la siguiente palabra a la derecha: "dcbea".

¿Cómo convirtió el número 4 a esta palabra? Nadie sabe. Además, es un proceso irreversible. Dada la palabra 'dcbea', es imposible decir a qué se alimentó la máquina de la izquierda. Pero cada vez que alimentas el número 4 a la máquina, siempre escupirá la misma palabra, 'dcbea'.

hash (4) == dcbea

Dada la palabra 'dcbea', es imposible decir a qué se alimentó la máquina de la izquierda. Pero cada vez que alimentas el número 4 a la máquina, siempre escupirá la misma palabra, 'dcbea'.

Probemos enviando un número diferente. ¿Qué tal 26?

hash (26) == 94c8e

Tenemos '94c8e' esta vez. ¡Interesante! Entonces, las palabras también pueden contener los números.

¿Y si le hago la siguiente pregunta ahora?

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

0

Predecir la entrada

Piense en la pregunta por un momento.

Te dije que la máquina tiene una propiedad que no podemos calcular lo que debemos enviar desde la izquierda después de que se nos da el resultado esperado a la derecha. Con una máquina así, ¿cómo podemos responder la pregunta que hice?

Puedo pensar en un método. ¿Por qué no probar cada número en el universo uno por uno hasta que obtengamos una palabra que comience con tres ceros a la izquierda?

Prueba todo para calcular la entrada

Siendo optimistas, después de varios miles de intentos, terminaremos con un número que arrojará el resultado requerido a la derecha.

Fue extremadamente difícil calcular la entrada dada a la salida. Pero al mismo tiempo, siempre será increíblemente fácil verificar si la entrada pronosticada produce la salida requerida. Recuerde que la máquina escupe la misma palabra para un número cada vez.

¿Cuán difícil crees que es la respuesta si te doy un número, digamos 72533, y te hago la pregunta: "¿Este número, cuando se introduce en la máquina, arroja una palabra que comienza con tres ceros a la izquierda?"

Todo lo que necesita hacer es arrojar el número en la máquina y ver qué obtuvo en el lado derecho de la misma. Eso es.

La propiedad más importante de tales máquinas es que: "Dada una salida, es extremadamente difícil calcular la entrada, pero dada la entrada y la salida, es bastante fácil verificar si la entrada conduce a la salida".

Recordaremos esta propiedad de las Máquinas mágicas (o Funciones hash) hasta el resto de la publicación:

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

1

¿Cómo usar estas máquinas para sellar una página?

Usaremos esta máquina mágica para generar un sello para nuestra página. Como siempre, comenzaremos con una situación imaginaria.

Imagina que te doy dos cajas. El primer cuadro contiene el número 20893. Yo, entonces, le pregunto: "¿Puede averiguar un número que cuando se agrega al número en el primer cuadro y se envía a la máquina nos dará una palabra que comienza con tres ceros a la izquierda?"

Esta es una situación similar a la que vimos anteriormente y hemos aprendido que la única forma de calcular ese número es probando cada número disponible en todo el universo.

Después de varios miles de intentos, tropezamos con un número, digamos 21191, que cuando se agrega a 20893 (es decir, 21191 + 20893 = 42084) y se envía a la máquina, arrojará una palabra que satisfaga nuestros requisitos.

En tal caso, este número, 21191 se convierte en el sello para el número 20893. Supongamos que hay una página que lleva el número 20893 escrito en él. Para sellar esa página (es decir, nadie puede cambiar el contenido de la misma), pondremos una insignia con la etiqueta "21191" encima. Tan pronto como el número de sellado (es decir, 21191) queda atascado en la página, la página queda sellada.

El número sellado

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

2

Si alguien quiere verificar si la página fue modificada, todo lo que tendría que hacer es agregar el contenido de la página con el número de sello y alimentar a la máquina mágica. Si la máquina da una palabra con tres ceros a la izquierda, los contenidos no se tocaron. Si la palabra que sale no cumple con nuestros requisitos, podemos descartar la página porque su contenido se vio comprometido y no sirve de nada.

Utilizaremos un mecanismo de sellado similar para sellar todas nuestras páginas y, finalmente, organizarlas en nuestras carpetas respectivas.

Finalmente, sellando nuestra página …

Para sellar nuestra página que contiene las transacciones de la red, necesitaremos encontrar un número que cuando se anexe a la lista de transacciones y se envía a la máquina, recibimos una palabra que comienza con tres ceros a la derecha.

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

3

Una vez que ese número se calcula después de pasar tiempo y electricidad en la máquina, la página se sella con ese número. Si alguna vez, alguien intenta cambiar el contenido de la página, el número de sellado permitirá a cualquier persona verificar la integridad de la página.

Ahora que sabemos sobre el sellado de la página, volveremos al momento en que terminamos de escribir la décima transacción en la página, y nos quedamos sin espacio para escribir más.

Tan pronto como todos salen de la página para escribir más transacciones, se permiten el cálculo del número de sellado de la página para que pueda guardarse en la carpeta. Todos en la red hacen el cálculo. El primero en la red que averigua el número de sellado lo anuncia a todos los demás.

Inmediatamente después de escuchar el número de sellado, todo el mundo verifica si produce la salida requerida o no. Si lo hace, todos etiquetan sus páginas con este número y lo guardan en sus carpetas.

Pero, ¿y si para alguien, digamos # 7, el número de sellado que se anunció no produce la salida requerida? Tales casos no son inusuales. Las posibles razones para esto podrían ser:

  • Es posible que haya oído mal las transacciones que se anunciaron en la red
  • Es posible que haya escrito mal las transacciones que se anunciaron en la red
  • Podría haber intentado engañar o ser deshonesto al escribir transacciones, ya sea para favorecerse a sí mismo o a alguien más en la red

No importa cuál sea el motivo, el # 7 tiene solo una opción: descartar su página y copiarla de otra persona para que él también pueda ponerla en la carpeta. A menos que no coloque su página en la carpeta, no puede continuar escribiendo otras transacciones, prohibiéndole formar parte de la red.

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

4

Entonces, ¿por qué todos gastan recursos haciendo los cálculos cuando saben que alguien más los calculará y se los anunciará? ¿Por qué no quedarse sentado y esperar el anuncio?

Gran pregunta Aquí es donde los incentivos vienen en la imagen. Todos los que forman parte de Blockchain son elegibles para recibir recompensas. El primero en calcular el número de sellado es recompensado con dinero gratis por sus esfuerzos (es decir, energía de la CPU y electricidad gastadas).

Simplemente imagine, si # 5 calcula el número de sellado de una página, se le recompensa con algo de dinero gratis, digamos $ 1, que se acuña de la nada. En otras palabras, el saldo de la cuenta de # 5 se incrementa con $ 1 sin disminuir el saldo de la cuenta de otra persona.

Así es como nació Bitcoin. Fue la primera moneda que se tramitó en un Blockchain (es decir, registros distribuidos). Y a cambio, para mantener el esfuerzo en la red, las personas recibieron Bitcoins.

Cuando suficientes personas poseen Bitcoins, crecen en valor, lo que hace que otras personas quieran Bitcoins; hacer que Bitcoins crezca en valor aún más; haciendo que cada vez más personas quieran Bitcoins; haciéndolos crecer en valor aún más; y así.

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

5

Y una vez que todos esconden la página en sus carpetas, sacan una nueva página en blanco y repiten todo el proceso una y otra vez, haciéndolo para siempre.

"Para cada problema complejo hay una respuesta que es clara, simple e incorrecta." – HL Mencken

6

Y eso, mis amigos, es cómo funciona Blockchain.