#Teoría General de Aplicaciones Descentralizadas, Dapps#
Autores: David Johnston, Sam Onat Yilmaz, Jeremy Kandah, Nikos Bentenitis, Farzad Hashemi, Ron Gross, Shawn Wilkinson y Steven Mason
Fuente: DecentralizedApplications/README.md at master · DavidJohnstonCEO/DecentralizedApplications · GitHub
Ver también la versión anterior de este documento en Google Drive.
#Tabla de contenido#
1.Introducción
a.La aparición de Dapps
b.Definición de una Dapp
c.Bitcoin como Dapp
d.Nomenclatura y su importancia
e.Clasificación de Dapps
f.El valor de Dapps y sus tokens
2.El funcionamiento de una Dapp
a.Los mecanismos para el establecimiento de consenso
b.Los mecanismos para la distribución de tokens
c.Formación y desarrollo de una Dapp
#Introducción#
##La aparición de Dapps##
Un nuevo modelo para la creación de aplicaciones exitosas y masivamente escalables está emergiendo. Bitcoin empezó el camino con su código abierto, la naturaleza de P2P, registros almacenados criptográficamente, (cadena de bloques), y un número limitado de unidades que aprovechan el uso de sus características. En el último año decenas de aplicaciones están adoptando el modelo de Bitcoin para tener éxito. Ethereum, Omni y la Red SAFE son sólo algunas de esas “aplicaciones descentralizadas” que utilizan una variedad de métodos para operar. Algunos utilizan su propia cadena de bloques (Ethereum), otras usan una blockchain ya existente y emiten sus propios tokens (Omni Layer), y otros trabajan dos capas por encima de una blockchain existente y emiten sus propios tokens (SAFE Network).
Este documento describe por qué las aplicaciones descentralizadas tienen el potencial de ser tremendamente exitosas, cómo pueden clasificarse los diferentes tipos de aplicaciones descentralizadas, y presenta la terminología que pretende ser más precisa y útil para la comunidad. Finalmente, se postula que estas aplicaciones descentralizadas algún día superarán a las empresas de software más grandes del mundo en utilidad, base de usuarios, y valoración de la red debido a su estructura superior de incentivación, flexibilidad, transparencia, resistencia y naturaleza distribuida.
##Definición de un Dapp##
Para que una aplicación sea considerada una Dapp (pronunciado Di-ap, similar al correo electrónico) debe cumplir con los siguientes criterios:
-La aplicación debe ser completamente de código abierto, tiene que funcionar de forma autónoma y sin una entidad que controle la mayoría de sus tokens. La aplicación puede adaptar su protocolo en respuesta a mejoras propuestas y sugerencias del mercado, pero todos los cambios debe ser decididos por consenso de sus usuarios.
-Los datos y registros de funcionamiento de la aplicación deben almacenarse en una cadena de bloques pública y descentralizada con el fin de evitar puntos de error centralizados.
-La aplicación debe usar un token criptográfico (bitcoin o un token nativo de su sistema), que es necesario para acceder a la aplicación y toda aportación de valor (mineros) debe ser recompensada en tokens de la aplicación.
-La aplicación debe generar tokens de acuerdo con un algoritmo estándar criptográfico actuando como una prueba de valor de los nodos que están contribuyendo con la aplicación (Bitcoin utiliza el algoritmo prueba de trabajo).
##Bitcoin como Dapp##
Satoshi Nakamoto, el creador de Bitcoin describió su invento como “un sistema de pago electrónico P2P]”. Bitcoin ha demostrado resolver efectivamente los problemas que surgen de un sistema de dinero electrónico que no requiere confianza en una entidad central y es escalable mediante el uso de una contabilidad P2P y distribuída, la cadena de bloques de Bitcoin. Además Bitcoin también es una aplicación con la que los usuarios pueden interactuar a través de programas informáticos). Pero lo más importante para los propósitos de este documento, en base a los criterios descritos anteriormente, Bitcoin es una aplicación descentralizada. He aquí por qué:
1- Todas las aplicaciones de software Bitcoin son de código abierto, ninguna entidad (gobierno, empresa u organización) controla Bitcoin y todos los registros relacionados con el uso de Bitcoin son abiertos y públicos.
2- Bitcoin genera sus tokens, los bitcoins, con un algoritmo predeterminado que no se puede cambiar, y esos tokens son necesarios para que Bitcoin funcione. Los mineros de Bitcoin son recompensados con bitcoins por sus contribuciones en asegurar la red Bitcoin.
3- Todos los cambios en Bitcoin deben ser aprobados por un consenso de la mayoría de sus usuarios a través del mecanismo de prueba de trabajo.
##Nomenclatura y su importancia##
Las aplicaciones descentralizadas fueron descritas inicialmente como Corporaciones Autónomas Descentralizadas, DAC, en un artículo escrito por Daniel Larimer, de innovaciones Invictus. Nosotros evitamos el uso de corporación por dos razones.
En primer lugar, porque lleva consigo prejuicios innecesarios. Por ejemplo, una corporación/empresa se establece en una jurisdicción, tiene acciones, un director general, empleados, etc. Dapps, como Bitcoin no tienen ninguna de estas características. Además, la narrativa es muy importante para cómo las Dapps son percibidas por varias naciones y jurisdicciones. De la misma manera que los gobiernos se esfuerzan por entender y regular Bitcoin porque el concepto de moneda se asocia con él, los gobiernos podrían verse obligados a regular un programa informático de código abierto que es una aplicación descentralizada.
En segundo lugar, porque las empresas tradicionales pueden participar en varias técnicas de obtención de capital (como la venta de acciones de sus acciones y pagar dividendos o préstamos contra sus acciones y pagar intereses) que una Dapp no necesita. El concepto de una Dapp es tan poderoso y elegante porque no usa estas técnicas corporativas tradicionales.
La propiedad de tokens de la Dapp es todo lo que el usuario necesita para utilizar el sistema. Es así de simple. El valor de los tokens está determinado por la cantidad de gente que valora la aplicación. Todos los incentivos, la monetización, todas las formas de conseguir apoyo están integrados en esta estructura maravillosamente simple.Las Dapps no están obligados a recrear las funciones que solían ser necesarias en las empresas centralizadas con el fin de equilibrar el poder de los accionistas y ofrecer beneficios para los inversores y empleados.
##Clasificación de Dapps##
Hay varias características de acuerdo a las cuales las aplicaciones descentralizadas pueden clasificarse. Para los propósitos de este artículo, vamos a clasificar las Dapps en función de si tienen su propia cadena de bloque o si usan la cadena de bloques de otra Dapp. Basado en este criterio, hay tres tipos de Dapps.
Tipo I Las aplicaciones descentralizadas tienen su propia cadena de bloques. Bitcoin es el ejemplo más famoso de una aplicación de tipo I, pero otras altcoins como Litecoin son del mismo tipo.
Tipo II Las aplicaciones descentralizadas que utilizan la cadena de bloques de una dapp tipo I. Las tipo II son protocolos y tienen tokens que son necesarios para su función. El Protocolo de Omni es un ejemplo de una aplicación descentralizada de tipo II.
Tipo III Las aplicaciones descentralizadas que utilizan el protocolo de una aplicación descentralizada de tipo II. las tipo III son protocolos y tienen tokens que son necesarios para su función. Por ejemplo, la red SAFE que utiliza el Protocolo de Omni para emitir ‘safecoins’ que pueden ser utilizados para adquirir almacenamiento de archivos distribuido es un ejemplo de una dapp tipo III .
Una analogía útil para un tipo I de Dapp es un sistema operativo (como Windows, Mac OS X, Linux, Android, iOS) , para un tipo II un programa de software de propósito general (como un procesador de textos, una hoja de cálculo, un sistema de sincronización de archivos como Dropbox) y para el tipo III, una solución de software especializado (como una herramienta de combinación de correspondencia que utiliza un procesador de textos, un informe macro de gastos que utiliza una hoja de cálculo o una plataforma de blogs que utiliza Dropbox.) Con esta analogía, se puede esperar que debido a los efectos de red y el ecosistema que rodea a cada aplicación descentralizada, habrá unas pocas Dapps de tipo I, más tipo II y muchos más tipo III.
En este punto, es importante mencionar que en la actualidad hay varios excelentes proyectos de código abierto que usan Dapps de tipo I; Monedas de colores y CoinJoin, por ejemplo, se basan en la cadena de bloque de Bitcoin y proporcionan características útiles a sus usuarios. Estos proyectos, sin embargo no se pueden clasificar como de tipo II, de acuerdo con nuestra definición, porque no emiten y gestionan un token. (El desarrollo y operación de estos proyectos depende de las donaciones en su lugar.)
##El valor de Dapps y sus tokens##
Para un análisis completo sobre por qué los tokens que se asocian con Dapps, y las redes que las impulsan son valiosos, consulte este artículo.
#El funcionamiento de un Dapp#
##Los mecanismos para el establecimiento de un consenso##
Hay dos mecanismo comunes por el cual las Dapps pueden establecer un consenso: la prueba de trabajo, POW, y la prueba de la participación, POS.
Con la prueba de trabajo, las decisiones sobre cambios en una Dapp se realizan en función de la cantidad de trabajo que cada actor contribuye al funcionamiento de la Dapp. Bitcoin utiliza este enfoque para su funcionamiento día a día. El mecanismo para el establecimiento de un consenso a través de prueba de trabajo se llama minería.
Con la prueba de participación, las decisiones acerca de los cambios en la Dapp se realizan en base al porcentaje de participación que las distintas partes interesadas tienen sobre la aplicación. Por ejemplo, el voto de un accionista que controla el 10% de los tokens emitidos por una Dapp, tiene un peso del 10%. El Protocolo de Omni se basa en el mecanismo POS.
Los dos mecanismos se pueden utilizar paralelamente, como hace Peercoin. Tal combinación permite una Dapp para operar con menos consumo de energía que la prueba de trabajo solamente, y permite que sea más resistente a los ataques de 51%.
##Los mecanismos para la distribución de tokens##
Hay tres mecanismos comunes por los cuales las Dapps pueden distribuir sus tokens: la minería, la recaudación de fondos y el desarrollo.
Con el mecanismo de la minería, los tokens se distribuyen a los que contribuyen con más trabajo (potencia de cálculo) para el funcionamiento de una Dapp. Tomando Bitcoin como ejemplo, los bitcoins se distribuyen a través de un algoritmo predeterminado para los mineros que verifican las transacciones y mantiene la cadena de bloque de Bitcoin.
Con el mecanismo de recaudación de fondos, los tokens se distribuyen a aquellos que financian el desarrollo inicial de la DAPP. Tomando el Protocolo Master como ejemplo, las Mastercoins se distribuyeron inicialmente a los que enviaron bitcoins a una dirección determinada, a razón de 100 Mastercoins por bitcoin enviado. Los bitcoins recogidos fueron utilizados para financiar el desarrollo de aplicaciones que promovieron el desarrollo del Protocolo Master.
Con el mecanismo de desarrollo, los tokens se generan mediante un mecanismo predefinido y sólo están disponibles para el desarrollo de la Dapp. Por ejemplo, además de su mecanismo de recaudación de fondos, el Protocolo Master utilizó el mecanismo de colaboración para financiar su desarrollo futuro. Un 10% adicional de los Mastercoins generados a través de la recaudación fueron reservados para el desarrollo del Protocolo Master. Esos Mastercoins están disponibles a través de un programa predeterminado y se distribuyen a través de un sistema de recompensas basado en la comunidad, donde se toman las decisiones sobre la base del mecanismo de prueba de participación.
Formación y desarrollo de un Dapp##
El desarrollo de aplicaciones descentralizadas se lleva a cabo en tres pasos.
Paso 1: Se publica un documento (whitepaper) técnico con la descripción de la Dapp y sus características
Al igual que en el caso de Bitcoin, la forma más común por la cual una Dapp toma forma es mediante la publicación de un documento que describe el protocolo, sus características y su implementación. Después de la difusión pública, las sugerencias de la comunidad son necesarias para el desarrollo.
Paso 2: Los tokens iniciales son distribuidos
Si la Dapp está utilizando el mecanismo de la minería para distribuir sus fichas, un programa de software de referencia se libera de modo que se puede utilizar para minar. En el caso de Bitcoin, un programa de software de referencia fue compartido y el bloque de transacción inicial fue creado.
Si la Dapp está utilizando el mecanismo de recaudación de fondos, un monedero está disponible para los interesados de la Dapp, para que puedan intercambiar los tokens. En el caso de Mastercoin, una dirección de recaudación de fondos Éxodo y un monedero programado fueron publicados.
Si el Dapp está utilizando el mecanismo de desarrollo, se publica un sistema de recompensas que permite la sugerencia de las tareas a realizar, el seguimiento de las personas que están trabajando en ellas y los criterios por los cuales las recompensas serán repartidas.
Paso 3: La participación en la propiedad de la Dapp se propaga
Mientras los tokens de la minería, la recaudación de fondos y la colaboración se distribuyen a un mayor número de participantes, la propiedad de la Dapp se vuelve menos y menos centralizada y los participantes que mantenían una participación mayoritaria tienen cada vez menos control.
Mientras se desarrolla la Dapp, los participantes con distintas habilidades son incentivados a hacer contribuciones valiosas, y la propiedad de la Dapp se distribuye más. A través de las fuerzas del mercado los tokens de una Dapp se transfieren a los que la valoran más. Entonces pueden contribuir al desarrollo de la Dapp en las áreas que tienen más experiencia.
El caso de Bitcoin ilustra el ejemplo. Según algunas estimaciones, Satoshi Nakamoto minó muchos del primer millón de bitcoins. Conforme los desarrolladores contribuyeron con código para Bitcoin y los mineros contribuyeron con potencia de cálculo a la red Bitcoin, el mercado comenzó a valorar los bitcoins más alto. A medida que el sistema ha madurado aún más, personas con distintas habilidades comenzaron a valorar Bitcoin y contribuir a su desarrollo. Ahora que hay más de 12 millones de bitcoins en circulación, la alta participación en la propiedad de Satoshi Nakamoto se ha diluido.
#La Ley de Johnston#
"Todo lo que puede ser descentralizado, será descentralizado". David Johnston
Basado en las ventajas económicas y de eficiencia de las aplicaciones descentralizadas, está claro que los servicios centralizados serán reemplazados con el tiempo por alternativas descentralizadas. Esta evolución probablemente será más rápida para servicios en los que las ventajas por efecto red de la ley de Metcalfe son más críticas para el éxito del proveedor del servicio.