Afirmar que un contrato inteligente blockchain debe poder revertirse por otro medio que no sean las llaves privadas de su dueño es el punto central de un debate que resurge con frecuencia en plataformas como Ethereum en aquellos casos, como el de Parity, en que por errores o hackeos, fodos de usuarios resultan comprometidos.
Esto ha sido demostrado recientemente con la forma de la propuesta EIP 867, la cual explicamos en este artículo. Acerca de la reversión de contratos inteligentes, el bitcoiner Meli Manukyan afirma que si los cambios pueden realizarse por otros medios, entonces se está perdiendo el punto central de blockchain: mantener registros de información inmutables, seguros criptográficamente en una red distribuida y visibles de forma transparente por sus participantes.
You can only make changes via private keys. If people can make changes via other means (other than private keys), then the entire premise of private keys are negated and nullified. You are missing the point of #blockchain, go back to database design.
— Melik Manukyan ⚡️ (Ludvig Art) (@realLudvigArt) 18 de abril de 2018
1/2 Dejemos algo claro. La blockchain es una estructura de datos de solo-agregación. No es inmutable, como se evidencia del hecho de que puedes agregar nuevas transacciones. Si «imborrable» es una operación valida, la inmutabilidad se mantiene. Lo que está violándose es el modelo de autorización.
Solo puedes hacer cambios via llaves privadas. Si las personas pueden hacer cambios por otros medios (además de las llaves privadas), entonces la premisa entera de las llaves privadas está negada y nulificada. Estás perdiendo el punto de blockchain, devuelvete al diseño de bases de dato.
¿Hay otra alternativa para Parity además de la EIP 867?
Sí existen alternativas a la propuesta EIP 867, pero no son muy diferentes.
La propuesta EIP 999 ha sido considerada también por los desarrolladores de Parity como una opción viable, pero según dijo en una publicación Alex Van de Sande el pasado 20 de abril, «si un cliente da a los usuarios la opción de bifurcar, el resultado final no será una votación popular sino una separación. Por otra parte, cerrar las puertas a un actor influyente que está pidiendo una bifurcación quizá los force a ejecutarla» y por tanto, un enfrentamiento entre facciones de la comunidad, en tanto que una bifurcación de este tipo siempre es mala.
Esto podría ocurrir tomando en cuenta que Parity es el segundo cliente más popular de Ethereum y que es utilizado por un tercio de la red. Algunos de los directivos de esta compañía se hallan promoviendo la adopción de esta propuesta, como es el caso de Afri Schoedon, director de comunicaciones, y Jutta Steiner, el CEO.
Por su parte, Péter Szilágyi, quien es uno de los principales desarrolladores de Geth, el cliente de la Fundación Ethereum, asegura que de adoptarse esta actualización, la bifurcación forzada será inminente.
¿Cuáles son las consecuencias de una bifurcación?
Si Parity toma su camino aparte, asumiendo que todos sus usuarios le apoyan, una importante parte de la red de Ethereum se vería bifurcada. Además, esto se pudiera entender como una salida de los desarrolladores de Ethereum que en una buena parte están ahí por medio de Parity.
Ahora, el reintegro de los fondos congelados o robados a los administradores originales de los contratos en cuestión es un buen incentivo para que los desarrolladores y usuarios quieran implementar las actualizaciones correspondientes.
Sin embargo, no todo es color de rosa. Generalmente cuando una red se bifurca, la que decide separarse comienza a cotizar en el mercado a un precio mucho menor que el de la criptomoneda original, mientras la otra podría ver descender su precio también. Además, toda la comunidad debe presenciar durante un período de tiempo cómo los mineros se pasan de una a otra red según su conveniencia. Entonces ¿tendría las fichas bloqueadas o robadas el mismo valor e interés para sus dueños?
El permitir la modificación de contratos inteligentes dará cualidades de red centralizada a Ethereum. Algunos incluso previeron la posibilidad de que las autoridades legales en algún punto ordenen la reversión de un contrato o de una transacción, por lo que esta propuesta ha sido señalada de ser un Caballo de Troya para la plataforma, considerada la más importante además de Bitcoin.
Aunado a esto, pareciera que las opciones para tratar este asunto de manera unánime son limitadas, puesto que salvando las distancias, las perspectivas a favor del código y de la comunidad, son racionales, llegando incluso a terrenos de la política donde se avistan temas como la gobernanza de Ethereum. ¿Es ético implementar una actualización sin haber sido revisada y votada por la comunidad aunque esta sea justa en tanto su propósito técnico?¿Debe el campo técnico informático prevalecer sobre los deseos de la comunidad?
Estas cuestiones dejan al ecosistema frente a opciones binarias, polarizadas y naturalmente enfrentadas y, al no existir consenso, cada vez más individuos podrían apartarse de la red para iniciar sus proyectos independientemente, pues una propuesta que reúne un clamor generalizado no está siendo tomada en cuenta. Ceñirse demasiado al aspecto técnico podría hacer que los colaboradores pierdan el sentido de trabajar en la escalabilidad de Ethereum, puesto que sus motivaciones y razones para hacerlo no se están reflejando en este caso en el comportamiento preciso y ‘correcto’ que un software inteligente o automatizado.
He llegado a afirmar que blockchain es una tecnología formada por sus usuarios. De nada nos sirve una tecnología y todo su potencial si en realidad sus usuarios no están presentes, no participan o incluso si dejan de utilizarla por distintas razones. En una etapa de temprano desarrollo de la tecnología es cuando más deben revisarse las máximas de esta, porque el riesgo de que sean erradas es mayor ante un menor tiempo experimentándolas. Por eso, sería inteligente negociar con la comunidad tanto un principio tal como «El código es la ley», y determinar hasta qué punto es seguro sacrificarlo y hasta que punto estarían satisfechas las exigencias de la comunidad mediante su modificación o replanteamiento conceptual.
Imagen destacada por SFIO CRACHO / stock.adobe.com