Por que Keep importa

Viktoria Popova
4 min readOct 29, 2020

--

Un poderoso aliado en la caja de herramientas del desarrollador descentralizado

Cuando conocí Bitcoin por primera vez y lo entendí, recuerdo el conjunto de posibilidades en las que pensé como desarrollador.

Desafortunadamente, las secuencias de comandos limitadas de Bitcoin y su modelo UTXO no fueron suficientes para cubrir todo lo que la imaginación de un desarrollador puede pensar. Más tarde, gracias a Ethereum y sus lenguajes de programación como Solidity, se desató esa imaginación.

Finalmente, podríamos construir dapps completos sin requerir ninguna confianza para el usuario, porque los intermediarios previamente existentes podrían ser reemplazados por contratos inteligentes autoaplicables.

Pero el desarrollo de contratos inteligentes es bastante diferente del desarrollo tradicional. Hay cosas que no puedes hacer y cosas que te confunden. Como ejemplo, muchas de las aplicaciones que recibimos para la apertura de desarrolladores de Solidity en Aragón provienen de personas muy calificadas, pero algunos parecen pensar que agregar un modificador privado a cualquier función de repente hace que esa función y su ejecución sean invisibles para el mundo. Desafortunadamente, en la cadena de bloques, no puedes hacer eso. No protege mágicamente los fragmentos de código que le gustaría que el mundo no vea, ni protege esa clave privada que le gustaría proteger para que su dapp funcione.

Esa es una deficiencia que dificulta la creación de una tonelada de aplicaciones que requieren computación privada segura, incluida cualquier cosa que tenga que ver con el cifrado y descifrado de datos privados.

Uno de mis ejemplos favoritos es un interruptor de hombre muerto (DMS). La capacidad de liberar cierta información o ciertas claves dada la falta de interacción dentro de un período de tiempo es perfecta. Los DMS tradicionales se basan en puntos centrales de fallas, como servidores u otro tipo de infraestructura, que deben mantenerse, mantenerse seguros (por ejemplo, sin puertas traseras) y pagar regularmente, por lo general rompiendo el anonimato. Si se construye utilizando una cadena de bloques, un DMS se vuelve completamente imparable, incluso por parte de los actores del estado-nación u otros actores potencialmente maliciosos, y puede ser completamente anónimo.

  1. Sin embargo, construir un DMS en Ethereum es complicado. Generalmente, querrá que un DMS haga lo siguiente:
  2. Habilite una forma de registrarse de forma rutinaria e inicie sesión en los registros para saber cuánto tiempo ha pasado desde el último
    Si el tiempo pasó> un umbral, haz algo
  3. La acción que se desencadenará podría ser la liberación de información encriptada para determinados receptores, o simplemente desencriptar alguna información previamente encriptada y entregarla al mundo.

1 y 2 son triviales de construir. Puede almacenar una marca de tiempo dentro del contrato y exponer un método que la aumente, como se indica a continuación.

uint public lastCheckin;
event Checkin(uint time);

function checkin() onlyOwner returns(bool) {
lastCheckin = now;
Checkin(now);
return true;
}

Pero, para 3 … es complicado. La información que desea que se divulgue debe ser secreta antes del momento de su publicación, por lo tanto, debe permanecer encriptada. Pero, ¿cómo se descifra cuando llega el momento, si el propietario de la clave privada ya no es accesible y sin necesidad de ningún actor centralizado de terceros?

No hay una manera fácil de habilitar esa funcionalidad, pero en 2014 Vitalik describió múltiples fundamentos que podrían hacerlo posible, y las aplicaciones innovadoras que tendría un sistema como ese.

Avance rápido hasta hoy y … ¡conozca Keep! Keep utiliza los mismos fundamentos descritos por Vitalik (SMPC) más una capa de incentivos para asegurarse de que los nodos de la red Keep se mantengan económicamente incentivados para no robar las claves en las fortalezas.

Keep extiende la programación de blockchain al agregar una capa de privacidad: ahora puede contar con datos privados y toda la potencia que la criptografía de clave pública le brinda, en cadena.

Con Keep, el paso 3 sería fácil. Podrías crear una fortaleza y luego solicitar el descifrado de esa fortaleza cuando (lastCheckin + umbral) — ahora <0. Tu valiosa información se volvería a descifrar al mundo, ¡y eso es todo! Acabamos de cerrar el círculo para la construcción de un DMS.

Y hay muchas otras aplicaciones que son posibles con Keep. Uno de ellos que nos entusiasma particularmente en Aragón es que las bóvedas de datos cifrados sean controladas y sean propiedad de los DAO. Esto permitiría compartir datos privados con partes interesadas seleccionadas, que podrían agregarse o eliminarse según el mecanismo de gobierno de la DAO.

Si es un desarrollador, consulte el documento técnico de Keep. Una vez que comprenda cómo funciona, se convertirá en un aliado muy poderoso en su caja de herramientas y, naturalmente, ampliará su pensamiento sobre las cosas que puede construir en una cadena de bloques.

¡Estoy muy emocionado de construir en Keep!

Para obtener más información sobre Keep Network:

Aprender más acerca de tBTC:

--

--