Hola Jtimon,
Gracias por la oportunidad de acercarnos más a la fuente de la información. Yo sé leer el ingles, pero había asumido que la información que hay en español era simplemente buena.
Yo tengo una pregunta en cuanto a la diferencia de desarrollo del bitcoin en comparación al Ethereum. Por lo que he leído los últimos trabajos del equipo bitcoin Core han estado (o estuvo) muy centrados en el tamaño de los bloques y eso ha hecho que descuidaran otras partes del plan de desarrollo del bitcoin como los contratos inteligentes. Cosa que en el ecosistema Ethereum han desarrollado bastante aunque con algunas fallas por revisar y corregir, según se observó con el ataque efectuado a la DAO.
En cualquier caso, creo que ethereum le había robado bastante terreno al bitcoin por esté flanco, pues con Solidity han dado con un lenguaje bastante documentado e implementado en aplicaciones auxiliares que ayuda mucho a desarrollar contratos inteligentes con Ethereum de una forma que no he podido observar en el entorno del bitcoin.
Mi pregunta es ¿Existe actualmente un equipo desarrollando un lenguaje similar a Solidity para los contratos inteligentes en el entorno del bitcoin? ¿Existe algún repositorio en donde se pueda ir viendo de que trata el lenguaje? ¿Existe ya algún contrato inteligente de ejemplo escrito en este lenguaje?
Te agradezco mucho por tu tiempo y esfuerzo en actualizarnos.
No es correcto que Bitcoin Core se haya centrado en ampliar el tamaño de los bloques. Eso en realidad no es muy difícil pero requiere simulaciones y pruebas, y es un tema controvertido.
Entre los últimos softforks desplegados en la red Bitcoin se cuentan CTLV y CSV, dos nuevas instrucciones que permiten o mejoran ciertos contratos inteligentes. Algunos contratos inteligentes que fueron ideados hace tiempo no son seguros por culpa de la maleabilidad de las transacciones. Es el caso del contrato para intercambiar unidades de diferentes cadenas de forma segura y descentralizada (
https://en.bitcoin.it/wiki/Contract#Example_5:_Trading_across_chains ).
Segwit resuelve el problema de la maleabilidad y permitiría la utilización de este y otros contratos. Otro contrato interesante que no necesita necesariamente segwit, pero que se beneficiaría bastante de resolver la maleabilidad son los canales de pago bidireccionales que utiliza Lightning.
Además segwit facilita la extensión y evolución posterior del lenguage de script de Bitcoin al introducir la versión de scripts.
Otras ideas interesantes son las firmas Schnoor, que harían la multifirma más compactas (mejorando la escalabilidad) y privadas; o MAST (Merklized Abstract Syntax Tree), ideado por Russell Occonor, que permite que los propios scripts sean más compactos y privados, pues sólo las partes que sean ejecutadas deben ser publicadas en la cadena de bloques. Russel también está investigando otros usos de scripts, por ejemplo los covenants (
https://blockstream.com/2016/11/02/covenants-in-elements-alpha.html ). También está investigando cómo un lenguaje puede ser completamente expresivo sin necesidad de ser turing completo (que introduce ciertos riesgos), y como se puede hacer que los scripts sean más analizables automáticamente (para que las carteras puedan saber cosas de ellos sin necesidad de tener un plantilla para cada tipo) y como demostrar matemáticamente ciertas propiedades deseadas de los mismos.
Personalmente creo que Ethereum tiene algunos errores de diseño muy graves, entre ellos precisamente el hacer el lenguage de script turing completo, que no creo que sea necesario ni demasiado interesante. Tampoco creo que introducir una capa adicional de más alto nivel como Solidity sea una buena idea: me parece que lo que conseguirá es que se escriban más scripts con errores. Creo que otras cosas son más importantes.
Supongo que lo bueno de Ethereum y Rootstock es que permite a la gente experimentar, y si alguno de los casos de uso o contratos son interesantes, pues ver cómo podemos adaptarlos a Bitcoin.
Pero, sinceramente, de momento no he visto ningún caso de uso en Ethereum del que haya pensado "ay, quiero poder hacer esto mismo en 'Bitcoin".
Un caso de uso del que se ha hablado mucho son las llamadas DAOs, pero nunca me parecieron una buena idea.