Básico de Bitcoin

20 Características De Bitcoin

Caractersiticas de Bitcoin

La pregunta de ¿qué es Bitcoin? Es una que muchas personas han intentado responder, pero es algo muy difícil de hacer por lo que vamos a seguir encontrando nuevas definiciones todo el tiempo. Esto también se lo debemos a que el protocolo de Bitcoin se encuentra en constante desarrollo, planteándonos la idea de lo que podría ocurrir y en que se transformara.

Es algo difícil, para los que recién comienzan en el mundo de las criptomonedas, entender que nuevas propuestas serán implementadas o no, debido a la falta de reglas clara para elegir una ganadora. Tenemos por un lado las reglas que tienen que ver con lo filosófico de esta criptomoneda, mientras que otras van por el lado de la ingeniería y la seguridad, aunque también tenemos algunas que combinan ambas.

De todas formas, podemos encontrar algunas características principales de Bitcoin que son universales y que nos pueden dar una idea de lo que significa para el mundo y para nuestro futuro.

#1 Consenso sin control

No existe una autoridad en Bitcoin, incluso estas características que leerás hoy no son más un acuerdo generalizado y no algo impuesto para una entidad. Son observaciones que podemos deducir y que la comunidad se ha encargado de desarrollar.

Algunas cuestiones que debemos saber del consenso de Bitcoin:

  • Bitcoin está continuamente alentando el consenso entre sus participantes.
  • La perdida del consenso puede destruir todo el sistema por la falta de confianza.
  • El código con respecto al consenso debe estar protegido y no se deben hacer modificaciones, a menos que sea sumamente importante.
  • Los cambios en el protocolo no deben ser impuestos a los usuarios, sino que son estos los que los adoptan.
  • Como consecuencia de esto último, el software no debe actualizarse automáticamente. Algo que le quita poder a los usuarios y se lo entrega a los desarrolladores.
  • Como es una red descentralizada, no se puede supone que todos los usuarios están prestando atención a los cambios en el protocolo.

¿Entonces como hacemos cambios? Para so se necesita el consenso de los usuarios para realizar un cambio en el sistema. Aquí es donde entra el proceso llamado Bitcoin Improvement Proposal (Propuesta de mejora de Bitcoin) o BIP.

Estas son propuestas de cambio de código por parte de los desarrolladores, que no tienen que alcanzar un 100% del consenso, pero si una mayoría. Para eso, el desarrollador debe conseguir una propuesta en donde no haya objeciones razonables en contra de su implementación.

Las mismas son discutidas con otros desarrolladores y usuarios que se involucran en este proceso, así consiguen el consenso.

#2 Minimización de la confianza

El desarrollador de Bitcoin Matt Corallo también hablo acerca de la confianza en Bitcoin:

De las muchas propiedades de Bitcoin, la falta de confianza, o la capacidad de usar Bitcoin sin confiar en nada más que en el software de código abierto que se ejecuta, es, con mucho, el rey. Más concretamente, el interés por Bitcoin parece derivar casi exclusivamente del deseo de evitar tener que confiar en algún tercero o combinación de terceros. Esto no debería ser una novedad para nadie, pero entender exactamente por qué esta falta de confianza es tan importante (y qué formas adopta) es fundamental para construir y actualizar la tecnología Bitcoin.

Tener un sistema donde la confianza es mínima, hace posible que tengamos otras de las características de este artículo.

Por su parte, es un sistema donde no se alcanza al 100%, pero si tiene como objetivo que esta sea la más baja posible. Esto se debe a que nadie puede auditar todo el software y el hardware con el que interactúa cuando utiliza Bitcoin.

Lo cual no es preocupante, porque sabemos razonablemente de que es un sistema transparente, con grupos que tienen objetivos alineados y que no complotaran en contra del mismo.

#3 Descentralización

Si alguien pudiera controlar algunos aspectos de la red, entonces las propiedades que estamos viendo aquí se verían afectadas enormemente. Así, la descentralización es el medio para conseguirlas, y no tanto el fin.

Si se consigue distribuir el poder todo lo posible, podemos minimizar la confianza que se necesita en una sola entidad o persona, ya que sabemos que no serán capaces de afectarla.

Satoshi Nakamoto dijo:

Mucha gente descarta automáticamente la moneda electrónica como una causa perdida debido a todas las empresas que fracasaron desde los años 90. Espero que sea obvio que lo único que las condenó fue la naturaleza de control centralizado de esos sistemas. Creo que es la primera vez que probamos un sistema descentralizado y no basado en la confianza.

Existen muchas partes de esta red donde podemos medir la descentralización:

  1. Exchanges
  2. Desarrolladores
  3. Clientes de software
  4. Grupos de minería
  5. Hardware de minería
  6. Nodos económicos
  7. Porcentaje de usuarios que controlan sus propias claves privadas
  8. Porcentaje de usuarios que auditan la cadena de bloques con su propio nodo

Encontrar una enorme centralización en alguno de los aspectos no significa necesariamente que el sistema fracase, pero al igual que una cadena, donde es tan fuerte como el eslabón más débil, debemos tenerlo en cuenta.

#4 Resistente a la censura

Nadie debería tener el poder de evitar que otra persona interactúe con la red de Bitcoin. Tampoco debería bloquear una transacción válida indefinidamente.

Aunque los mineros tienen el poder de no confirmar una transacción, la realidad es que mientras pague una comisión acorde a la necesaria algún minero podría confirmarla finalmente. Por eso es que Bitcoin es resistente a la censura.

#5 Pseudo anonimato

No es necesario una identificación para utilizar bitcoin. La idea es evitar la censura y obtener un sistema fungible, de esta forma es difícil marcar una transacción y evitar que suceda.

Lo más sorprendente es que esta característica permite que Bitcoin sea utilizado no solo por humanos, sino también por máquinas.

# 6 Código abierto

El código de Bitcoin siempre tiene que estar disponible para cualquiera, así podrá modificarlo, leerlo, copiarlo y compartirlo. El valor de Bitcoin se basa en la transparencia y auditoria del sistema.

Poder auditar cualquier aspecto de Bitcoin asegura que no tengamos que confiar en ninguna entidad. El mismo ecosistema invita a los usuarios a actuar de forma honesta debido a que saben que si no serán penalizados.

#7 Colaboración

Todo el mundo está invitado a colaborar investigando y desarrollando de forma privada. Sin embargo, cuando se quiera hacer un cambio que no tenga una compatibilidad con el software anterior, es necesario llegar al consenso. Y para eso se necesita colaborar con otras personas.

Para eso existen las Propuestas de Mejora de Bitcoin, que nos ofrecen una forma de sugerir cambios sencilla. Claro que no hay una autoridad que lo exija, pero si queremos alcanzar el consenso, es la mejor forma de hacerlo.

#8 Sin permisos

Ningún grupo o persona puede prevenir que alguien participe en la red. Esto se consigue gracias a la poca confianza, resistencia a la censura y el pesudo anonimato.

#9 Indiferencia legal

A Bitcoin no le importa las leyes impuestas por un estado, al igual que ocurre con otros protocolos de internet. Los reguladores tendrán el trabajo de pensar como trabajar con las funcionalidades de Bitcoin.

#10 Fungibilidad

La fungibilidad es importante para el dinero real, ya que evitar poder distinguir la procedencia, haciendo todas las unidades iguales. Además, lo volvería poco práctico si el usuario tiene que analizar todo el dinero que recibe.

Por desgracia, Bitcoin no es  completamente fungible, ya que existen servicios que puede rastrear el origen de una transacción hasta algún delito, y por tanto hacer esos bitcoins menos deseables. Aunque existen servicios, un ejemplo son los mixers, que pueden ayudar a quitarle esa marca a los bitcoins.

#11 Compatibilidad hacia adelante

Bitcoin tiene soporte parar firmar transacciones sin emitirlas. Existe el principio de que cualquier transacción firmada pero no emitida debe seguir siendo válida y emitible.

Un ejemplo de esto son las transacciones con nLocktime, que no son válidas para la confirmación hasta después de la hora especificada por la transacción.

El cambio de esta regla podría tener repercusiones peligrosas. Un número incalculable de transacciones no transmitidas podrían quedar invalidadas. Nadie quiere ser responsable de la destrucción de la riqueza de otra persona porque una regla en la que un usuario estaba confiando fue quitada.

El hecho de que Bitcoin se haya ceñido a este principio hace que todo el mundo confíe en el protocolo. Cualquiera puede asegurar sus fondos con cualquier esquema que sueñe y desplegarlo sin necesidad de permiso. Mientras sigan las reglas del protocolo, lo peor que puede pasar es que los nodos dejen de retransmitir ciertas transacciones por defecto.

#12 Minimización de recursos

En función de poder mantener los costos de verificar las transacciones bajos, el tamaño del bloque es pequeño. Lo que hace que las transacciones sean más costosas si se consume mucho espacio del bloque.

La validación de las transacciones debe ser baja, así muchos usuarios pueden llevar a cabo y así auditar el sistema. Esto también provoca que los ataques por agotamiento de recursos sean caros. Bitcoin tiene la capacidad de rechazar transacciones que han sido costosas de crear pero de forma muy barata.

Esto obliga a los atacantes a pagar un alto precio si desean crear spam. Mientras que con solo descargar 80 bytes de la cabecera, un nodo puede realizar una rápida validación antes de sincronizarla con el resto de las transacciones.

#13 Convergencia

Dos clientes de Bitcoin cualesquiera, si se conectan a un único peer honesto, deberían converger finalmente en la misma cadena de bloques.

Como ejemplo, Bitcoin ABC rompió este principio al instituir una regla de reorganización de la cadena de 10 bloques como máximo. Como resultado, si había una caída de la red y un país como China quedaba aislado del resto de Internet, esos mineros continuarían minando una cadena diferente y cuando las redes se volvieran a unir los dos forks de la cadena no convergerían a la cadena con la mayor cantidad de pruebas de trabajo acumuladas.

Todas las operaciones de transacción deben ser deterministas. Solo debe ser posible que una transacción se ejecute de una manera si el estado del sistema es el mismo. Los factores externos al sistema no deben tener efecto sobre sus cálculos. Del mismo modo, no debe haber scripts que funcionen de dos maneras diferentes en dos máquinas distintas.

Los cambios en el protocolo no deben crear la posibilidad de que las transacciones sean invalidadas por las reorganizaciones del blockchain. Las operaciones de transacción no solo deben ser deterministas, sino que deben ser sin estado.

#14 Inmutabilidad de la transacción

Cada bloque adicional que se añada a la cadena después de un bloque determinado debería hacer mucho menos probable que ese bloque quede huérfano por una reorganización de la cadena.

Aunque técnicamente no se puede garantizar la inmutabilidad, podemos garantizar que resulte poco práctico revertir una transacción después de que esté suficientemente enterrada bajo una cantidad importante de bloques.

#15 Resistencia a la denegación de servicio

No debería ser posible para un peer remoto hacer una petición a un nodo Bitcoin que consuma una cantidad desmesurada de recursos.

Un ejemplo de funcionalidad que rompe este principio son los filtros bloom de SPV, que en condiciones adversas pueden ser usados para consumir una gran cantidad de E/S de disco en un peer objetivo haciéndole escanear a través de una gran cantidad de datos de bloque.

Puedes ver muchas de las reglas de protección DoS aquí si buscas «misbehav» en la página. Las acciones que se consideran dañinas reciben varias puntuaciones y si un peer excede la puntuación máxima de mal comportamiento, su nodo se desconectará para evitar más abusos.

#16 Evitar las condiciones de carrera

Las condiciones de carrera ocurren cuando el comportamiento de un sistema depende de la secuencia o el tiempo de eventos incontrolables.

En un sistema distribuido sin permisos como Bitcoin, los eventos son generalmente impredecibles. El modelo UTXO nos ayuda a evitar las condiciones de carrera porque las salidas se gastan todas a la vez – el estado de la salida de una transacción es binario (o gastado o no gastado.)

Esta es otra razón por la que las transacciones no deberían tener dependencias del estado del sistema; puede crear condiciones de carrera y complejidad cuando el estado cambia durante una reorganización de la blockchain.

#17 Conservadurismo

  • El dinero debe ser estable a largo plazo.
  • Debemos ser conservadores a la hora de realizar cambios, tanto para minimizar el riesgo del sistema como para permitir que la gente siga utilizando el sistema de la forma que considere oportuna.
  • No hay que esperar que los usuarios sean muy receptivos a los problemas del sistema, por lo que debemos ser proactivos y cautelosos para limitarlos.

¿En qué consiste realmente el conservadurismo? Es la forma de asegurar la escalabilidad social.

Nick Szabo dijo sobre esto:

El secreto del éxito de Bitcoin es que su prolífico consumo de recursos y su escasa escalabilidad computacional están comprando algo aún más valioso: la escalabilidad social.

El problema inherente a muchos sistemas operados por humanos es que las reglas del sistema pueden aplicarse de forma arbitraria o estar sujetas a cambios por capricho de alguien. Esto hace que los sistemas sean menos fiables.

Nick Szabo agrega:

Cuando podamos asegurar la funcionalidad más importante de una red financiera mediante la informática en lugar de los tradicionales contables, reguladores, investigadores, policías y abogados, pasaremos de un sistema manual, local y de seguridad inconsistente a uno automatizado, global y mucho más seguro.

#18 Alineación de incentivos

Bitcoin solo funciona porque las reglas del sistema crean incentivos para que los participantes sean honestos.

Los mineros, por ejemplo, podrían teóricamente modificar la cadena para gastar su propio dinero varias veces, pero esto sería dispararse en el pie y hacer que sus inversiones en hardware y electricidad perdieran valor. Es más rentable para ellos gastar sus recursos en asegurar que la cadena de bloques funcione de forma honesta.

#19 Osificación

Existe la creencia generalizada de que, con el tiempo, será cada vez más difícil realizar cambios en el protocolo base a medida que el ecosistema crezca.

Esto se debe a que cada vez habrá menos cambios que no sean controvertidos para la mayor variedad de perspectivas e incentivos de la base de usuarios. Como tal, será más probable que las mejoras tengan que tener lugar en otras capas construidas sobre Bitcoin. Como es el caso de Lightning Network.

#20 Cambios improbables en el consenso

  • Aumentar el número total de bitcoins emitidos por encima de los 21 millones.
  • Cualquier regla que añada una centralización requerida y explícita. Por ejemplo, un cambio que requiera que todos los bloques sean firmados por alguna organización central.
  • Demoras (eliminación o reasignación de monedas consideradas «perdidas» o «no utilizadas»). No es posible decir objetivamente que la clave privada de una transacción se ha perdido simplemente porque no se ha gastado después de un determinado periodo de tiempo. En el momento de escribir este artículo solo hay unos 5.000 BTC perdidos/quemados de forma demostrable, aunque puede haber más de 1.000.000 de BTC perdidos.

Acerca del autor

Criptotario

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

Agrega un Comentario

Haz clic aquí para añadir un comentario