27/2/2023 - tecnologia-e-innovacion

Cryptoactivos: Almacenamiento y seguridad

Por nicolas donsini

Cryptoactivos: Almacenamiento y seguridad

Entendiendo el funcionamiento de una billetera

El primer punto a tener en cuenta al hablar de almacenamiento, es entender el funcionamiento de una billetera.

Es un error muy habitual (y lamentablemente poco desarrollado por los comunicadores del ecosistema), creer que nuestras billeteras almacenan los activos que tenemos en posesión, hay que tener presente que esta tecnología no funciona de esa forma.

En bitcoin, por ejemplo, utilizamos la criptografía de clave pública para crear un par de claves que controla el acceso a los bitcoins. El par de claves consiste en una clave privada y—derivada de esta última—una clave pública única. La clave pública se usa para recibir bitcoins, y la clave privada se usa para firmar transacciones y gastar dichos bitcoins.

Existe una relación matemática entre las claves pública y privada que permiten que la clave privada sea utilizada para generar firmas. Estas firmas pueden ser validadas contra la clave pública sin necesidad de revelar la clave privada.

Cuando los bitcoins son gastados el dueño actual de los bitcoins presenta su clave pública y firma (diferente cada vez, pero creada a partir de la misma clave privada) en una transacción para gastar esos bitcoins. A través de la presentación de la clave pública y firma, todos los participantes en la red bitcoin pueden verificar y aceptar la transacción como válida, confirmando que la persona que transfiere los bitcoins los posee al momento de la transferencia.

En la mayoría de las implementaciones de billeteras las claves privadas y públicas son almacenadas juntas como pares de claves por conveniencia. Sin embargo la clave pública puede calcularse a partir de la clave privada, por lo que almacenar únicamente la clave privada también es posible.

La clave privada es un número, generalmente elegido aleatoriamente. A partir de la clave privada utilizamos multiplicación de curva elíptica, una función criptográfica de sentido único, para generar la clave pública. A partir de la clave pública utilizamos una función de hash criptográfica de sentido único para generar la dirección bitcoin.

Pero vamos a alejarnos un poco de tecnicismos, ya que no es el objetivo del artículo.

El concepto que tiene que quedar claro es que nuestras billeteras (hot wallets, cold wallets, con o sin custodia), NO almacenan nuestros activos, lo que almacenan y resguardan son nuestro par de claves, esencialmente nuestra clave privada.

Este par de claves explicado de una forma sencilla, nos van a permitir utilizar nuestros UTXOS, Unspent transaction outputs (transacción de salida no gastada).

Cada UTXO que transformamos en una entrada (saldo que vamos a gastar) en realidad es la salida de una transacción anterior que nos dio acceso a esos BTC. Es decir, todo saldo en Bitcoin tienen una UTXO asociada al mismo, y dicho UTXO tiene asociado un script de bloqueo.

El motor de validación de transacciones de bitcoin depende de dos tipos de scripts para validar transacciones: un script de bloqueo (locking script) y un script de desbloqueo (unlocking script).

Un script de bloqueo (locking script) es una obstrucción colocada sobre una salida, el cual especifica las condiciones que deben cumplirse para gastar dicha salida en el futuro.

Un script de desbloqueo (unlocking script) es un script que «resuelve,» o satisface, las condiciones establecidas por una salida y un script de bloqueo y permite que la salida sea gastada.

Los scripts de desbloqueo son parte de cada entrada de transacción, y la mayoría de las veces contienen una firma digital producida por la billetera del usuario a partir de su clave privada.

Todo cliente bitcoin debe validar transacciones ejecutando los scripts de bloqueo y desbloqueo en simultáneo.

Para cada entrada de la transacción el software traerá primero la UTXO referenciada por la entrada. Esa UTXO contiene un script de bloqueo definiendo las condiciones requeridas para enviarla. El software de validación luego tomará el script de desbloqueo contenido en la entrada que está intentando gastar esta UTXO y ejecutará ambos scripts.

Este script de bloqueo es una especie de candado digital que debemos abrir para entonces poder hacer uso del saldo de dicha UTXO. Los scripts de bloqueo en Bitcoin son variados, pero el más común es el que se usa dentro de las transacciones del tipo P2PKH (Pay to Public Key Hash). Este script de bloqueo indica que la llave para abrirlo es una llave criptográfica en la que queremos demostrar dos cosas:

-Que somos dueños de la clave privada y pública que generó la dirección de Bitcoin donde está el saldo (UTXO).

-Que tenemos en nuestro poder la firma digital válida que certifica que dichas claves son nuestras.

Así que para poder desbloquear dicho script lo que debemos hacer es tomar la dirección de Bitcoin, junto a nuestra clave privada y generar la clave pública de dicha dirección. Al final estampamos nuestra firma digital y con todos esos datos verificados, se desbloquea el saldo de dicha dirección para que podamos usarlo. Es decir, los nodos aceptarán la transacción y la pondrán en el mempool a la espera de los mineros.

Por el contrario, si fallamos al hacer ese procedimiento, simplemente la transacción es rechazada por los nodos y no podremos usar el saldo. A este proceso se llama script de desbloqueo. Por supuesto, este proceso criptográfico es automático y transparente para los usuarios de una wallet, todo el proceso lo realiza la propia billetera.

Resumiendo y evadiendo otra vez tecnisismos , nuestras billeteras almacenan nuestras claves , y estas claves permiten gastar nuestro saldo disponible, el cual esta registrado en la blockchain con la cual estemos interactuando.

Que tipos de billeteras existen , cual es mas segura?

Vamos a diferenciar dos grandes grupos y algunos sub grupos.

Los dos grandes grupos que vamos a diferenciar en este artículo son las billeteras CON CUSTODIA y las billeteras SIN CUSTODIA

-Billeteras con custodia:

Las billeteras con custodia, como su nombre lo indica, están custodiadas por alguien ajeno a nosotros. El claro ejemplo de este tipo de billeteras es el que nos ofrecen los Exchanges centralizados, siendo el líder indiscutido del mercado, Binance.

La característica principal, es que nosotros no tenemos la custodia de nuestras claves, estas están resguardadas por la plataforma que estemos utilizando, la cual nos da acceso a la billetera pero únicamente dentro de la plataforma.

Una frase clásica en el ecosistema es la de «Not your keys, not your coins» , si no son tus claves, no son tus monedas.

Esto es una realidad, ya que no tenemos el control absoluto sobre nuestros activos y se ha visto en el pasado lo peligroso que puede ser cuando se opera en plataformas de dudosa transparencia, en las cuales depositamos nuestra confianza y de un día para el otro pueden desaparecer siendo estos los únicos con el control de nuestros fondos (caso FTX).

Pero spoileando un poco como continúa el artículo, basándome en mi experiencia, puedo asegurar que no hay un único camino ni una verdad absoluta, todas las alternativas tienen sus pro y sus contras para el usuario y los exchange no son la excepción.

Puede que en un exchange tengamos que basar nuestra confianza en un tercero, y si, esto va un poco en contra de los principios fundadores de esta tecnología. Pero también los exchanges (los serios y reconocidos), tienen grandes sistemas de seguridad en la plataforma, interfases intuitivas y rapidas, extensivos controles de los proyectos listados, y hasta incluso facilidades para operar en el sector DEFI (conocido como CEDEFI) reduciendo enormemente los riesgos que este puede conllevar.

De todas formas es importante tener en cuenta que son los mismos exchanges que recomiendan no tener la totalidad tus activos dentro de las plataformas, y recomiendan la división entre otras alternativas para reducir el riesgo ante cualquier eventualidad.

Al operar con billeteras con custodia es de suma importancia tener una correcta higiene cibernética: mantener nuestros dispositivos seguros, no utilizar conexiones de internet públicas, utilizar la mayor cantidad de factores de seguridad brindados por las plataformas (más allá de las conocidas verificaciones por correo y sms, es muy importante utilizar otros sistemas de autenticación en dos factores ,2fa, como por ejemplo google authenticator o incluso hardwares externos como yubikey), utilizar correos únicos para las plataformas (jamás correos de uso habitual), gestores de contraseñas, aprender a identificar campañas de phishing, posibles intentos de scam, etc.

El punto más criticado en los exchages, en parte por los maximalistas que priorizan las descentralización y el pseudo anonimato , pero también por quienes buscan utilizar la tecnología para cometer actos ilícitos, Son las políticas AML que incluyen el KYC (know your customer o conoce a tu cliente y anti money laundering o anti lavado de dinero).

Es un proceso de varios pasos diseñado para evitar la creación y el uso fraudulento de cuentas. El objetivo de KYC y las políticas AML es comprender la naturaleza de las actividades de los clientes, calificar que su fuente de fondos es legítima y evaluar los riesgos de lavado de dinero asociados a ellos.

Sin Kyc es muy difícil para los investigadores personificar las billeteras de los delincuentes en lo que a blockchain forensics corresponde, son medidas de suma importancia para combatir la delincuencia y en mi opinión personal para lograr una adopción masiva.

Aun en DEFI no podemos observar correcto uso de políticas AML o de implementación de KYC , afortunadamente ya se está trabajando en alternativas que respeten los principios de esta tecnología, que busquen la descentralización y protejan al usuario.

Como aspecto positivo podemos resaltar:

  • importantes factores de seguridad dependiendo de la plataforma a utilizar
  • facilidad de recuperación de la cuenta y los fondos si perdemos u olvidamos las credenciales de la misma (ya que no tenemos la responsabilidad de resguardar las claves privadas)
  • Interfaces intuitivas, rápidas y amigables con el usuario que inicia en el ecosistema
  • Servicios de atención al cliente
  • variedad de productos
  • filtro e investigación de los proyectos listados, reduciendo en gran medida la posibilidad de estafas
  • Políticas Aml y procesos kyc que ayudan a combatir actos ilícitos en el ecosistema

entre sus aspectos negativos:

  • No tenemos las claves privadas, por lo tanto no tenemos el control total de nuestros activos
  • La confianza se deposita en un tercero, estamos sujetos al accionar del mismo
  • Existe la posibilidad de suspensión de retiros o congelamientos de cuentas, también mantenimientos que no permitan operar cuando sea requerido
  • Kyc, se deben facilitar datos personales a la plataforma

-Billeteras sin custodia:

Como comentamos anteriormente, cualquiera sea el tipo de billetera sin custodia que utilicemos, lo principal es que nosotros tenemos la responsabilidad sobre nuestras claves.

En la actualidad se utilizan billeteras DETERMINISTAS

Son billeteras que contienen claves privadas que surgen a partir de una semilla común, mediante el uso de una función hash unidireccional.

La semilla es un número generado aleatoriamente que se combina con otros datos, como un número de índice para derivar las claves privadas.

En una billetera determinista, la semilla es suficiente para recuperar todas las claves derivadas, también es suficiente para una exportación de billetera o importación, lo que permite una fácil migración de todas las claves de los usuarios entre diferentes implementaciones de billetera.

Los códigos mnemotécnicos son palabras en inglés que representan (codifican) un número aleatorio utilizado como semilla para obtener una billetera determinista. La secuencia de palabras es suficiente para volver a crear la semilla y desde allí volver a crear la billetera y todas las claves derivadas. Una aplicación de billetera que implementa billeteras deterministas con código nemotécnico mostrará al usuario una secuencia de 12 a 24 palabras al crear la billetera por primera vez. Esa secuencia de palabras es la copia de seguridad y se puede utilizar para recuperar y volver a crear todas las claves de la misma o de cualquier aplicación de billetera compatible. Las palabras de código mnemotécnico hace que sea más fácil para los usuarios realizar copias de seguridad de las billeteras, ya que son fáciles de leer y transcribir correctamente, en comparación con una secuencia aleatoria de números.

Es importante entender este concepto:

La frase semilla o seed phrase, hace mención a un conjunto de entre 12 a 24 palabras, que tienen como finalidad ofrecernos una forma fácil y sencilla de respaldar nuestra billetera de criptomonedas. De esta forma, si por cualquier causa se llegase a perder el control sobre él, podríamos recuperarlo tan solo usando estas palabras en el orden que se nos dieron originalmente.

Pero esta frase semilla no es nuestra clave privada, las frases semillas son una especie de codificación de las claves privadas de nuestra billetera, pero de una forma mucho más amigable y gestionable.

En pocas palabras, nuestra seed o semilla es la que nos permitirá en última instancia la generación de nuestra clave privada, de ahí la clave pública y de ahí la dirección.

Sin dudas, una de las mejoras más significativas en las billeteras fue la implementación de las seed phrase, ya que estas son mucho más fáciles de gestionar y memorizar que las claves privadas.

Y lo que debemos resguardar en la mayoría de billeteras sin custodia modernas, es justamente nuestra frase semilla, con las ventajas y desventajas que esto conlleve para el usuario.

Se necesitan billeteras sin custodia para interactuar en el sector DEFIy es aquí donde la seguridad toma mayor relevancia.

En una tecnología en pleno desarrollo, con regulaciones en un estado muy prematuro, el sector defi (decentralized finance , o finanzas descentralizada) es quien lleva la delantera, brindando muchas oportunidades y propuestas, pero también algunos dolores de cabeza si no tenemos el conocimiento necesario.

Las interfaces son menos amigables, los intentos de estafa por redes sociales abundan, proyectos que prometen y no cumplen, rug pulls, exploits, flash loans attacks, autorización de contratos maliciosos son algunos de los escenarios que podemos encontrarnos dentro del sector y que han generado pérdidas de cientos de millones de dólares en activos durante los últimos años.

Por este motivo, antes de operar con una billetera sin custodia y sumergirnos de lleno en el sector DEFI o interactuar con exchanges descentralizados o cualquier tipo de dapp es muy importante adquirir conocimiento, informarse y entender de que va el ecosistema, no solo los múltiples beneficios que genera en muchos sectores, sino también las precauciones necesarias para operar de forma segura y principalmente con proyectos serios.

¿Si vamos a tener nuestros fondos en una billetera sin custodia, cuál es la mejor opción?

aquí tenemos que diferenciar entre hot wallets y cold wallets.

Hot wallets: están conectadas a un servidor web. Se pueden utilizar en cualquier parte del mundo siempre que se tenga una conexión a Internet.

Es fácil entender el atractivo de estas billeteras. Por un lado, suelen ser gratuitas y se pueden descargar de Internet. También son fáciles de usar y son las preferidas para el intercambio diario. Es posible que alguien que realice numerosas operaciones a lo largo del día simplemente no desee mover fondos dentro y fuera de una cold wallet.

La desventaja de las Hot wallets es que no son tan seguras como las cold wallets. Al estar permanentemente conectada a internet se corren algunos riesgos principalmente si se compromete el dispositivo al cual están vinculadas.

Las hot wallets difieren según sus características. Básicamente, hay tres tipos: billeteras de escritorio, web y móviles.

Billeteras de escritorio:

Las billeteras criptográficas de escritorio tienen mayores capacidades de seguridad que las billeteras basadas en la web. Sin embargo, técnicamente, son menos seguras que las cold wallets. Se descarga una billetera criptográfica de escritorio a la computadora

Billeteras web:

Las billeteras web se ejecutan directamente a través de un navegador de página web. Por lo general, no incluyen software adicional que se ejecute en su computadora. Aun así, existen tipos híbridos.

Billeteras móviles:

Las billeteras criptográficas móviles funcionan de la misma manera que las billeteras de escritorio. Se pueden utilizar con los sistemas operativos iOS o Android. El mayor beneficio es que una billetera móvil es más portátil que una billetera criptográfica de escritorio y si se mantienen en dispositivos que no estan conectados a internet se pueden acercar un poco mas a las cold wallets.

Cold wallets:

Las llamadas “Cold wallets” son aquellas que no están conectadas a Internet.

Podemos diferenciar entre Billeteras de hardware y Paper wallets (llamativas pero poco practicas)

En cuanto a Paper wallets , como su nombre lo indica, se trata de la billetera impresa en papel que contiene las claves privadas y direcciones para gestionar las criptomonedas, las paper wallets son ideales para el almacenamiento y resguardo de fondos que no van a ser utilizados o movidos en mucho tiempo.

Las billeteras de hardware son sin duda la opción más fiable en cuanto a seguridad, ya que las claves privadas se encuentran fuera de la web en dispositivos sin conexión. Existen billeteras de código abierto y billeteras de código cerrado, hay una importante competencia dentro del mercado, algunas ofrecen la posibilidad de interactuar con más redes o monedas que otras. El valor varía bastante entre las distintas opciones.

El mayor inconveniente es que pueden resultar un poco tediosas al operar, ya que se necesita un proceso más largo y menos práctico que con una hot wallet. Son mayormente recomendadas para mantener activos a largo plazo.

Los exchanges centralizados utilizan tanto cold wallets como hot wallets para las claves que gestionan.

Como aspectos positivos de las billeteras sin custodia podemos resaltar:

  • Mantenemos el resguardo personal de nuestras claves, dependen únicamente del usuario, no se necesita ni se depende de un tercero
  • No hay restricciones de horarios ni montos para operar, tampoco ningún tipo de mantenimiento
  • Son muy seguras mientras se tomen las correspondientes medidas de precaución, las billeteras de hardware lideran en seguridad.
  • Permiten interactuar con diferentes Dapps
  • Descentralizadas y pseudo anonimas
  • Sin kyc (no requieren información personal)

Como aspectos negativos:

  • Interfaces un poco más complejas para usuarios que se inician.
  • en su mayoría, sin soporte al usuario.
  • interactuar con Dapps puede ser riesgoso sin el correcto conocimiento
  • Sin políticas AML

Conclusión:

Si se esperaba una única respuesta, lamentablemente ese no es el resultado. Tanto las billeteras con custodia como las billeteras sin custodia, son opciones seguras. Quedará a criterio del usuario según su grado de conocimiento, el objetivo que tenga en mente y su forma de operar, que opción le resulte más o menos practica.

Para un usuario que recién inicia en el ecosistema seguramente una billetera con custodia en un exchange sea la mejor opción.

Un trader experimentado, que necesite múltiples herramientas para operar además de interfaces rápidas y precisas, también lo hará mediante una billetera con custodia dentro de un exchange centralizado.

Un usuario que interactúe en DEFI o que prioriza la descentralización y el pseudo anonimato de un dex, necesitara una hot wallet sin custodia.

Un holder con gran cantidad de activos, sin duda invertirá en una cold wallet sin custodia para mantenerlos con la mayor seguridad posible.

Mi consejo es dividir entre distintas opciones, de esta forma también, dividiremos el riesgo.

Pero principalmente, instruirse en lo que a higiene cibernética refiere. Además de conocer como identificar los problemas de seguridad que atentan contra el sector (algo en lo que podremos profundicar en otra oportunidad). De esta forma sabremos mantener nuestros dispositivos seguros, sabremos que es 2fa y que opciones elegir, utilizaremos correos únicos para las plataformas, mantendremos las contraseñas seguras y cambiantes, no utilizaremos redes públicas, aprenderemos a prevenir scams o intentos de phishing, protegeremos nuestras claves privadas, y en un nivel un poco más avanzado podremos entender como funciona una auditoria de smart contracts, como identificar un potencial rugpull, como revocar contratos potencialmente maliciosos de una billetera, como identificar un malware de copy-paste en un dispositivo, esto entre otros tantos aspectos a trabajar y tener en cuenta.

¿Deseas validar esta nota?

Al Validar estás certificando que lo publicado es información correcta, ayudándonos a luchar contra la desinformación.

Validado por 0 usuarios
nicolas donsini

nicolas donsini

Hola, soy Rodrigo Nicolas Donsini. Abogado, especializado en tecnología blockchain y ciberseguridad, con un master en sus aspectos legales por Blockchain school for management - España. Tambien aficionado por la programacion con un diplamatura en Python - UTN. Actualmente trabajando para uno de los Exchanges mas importantes dentro del ecosistema crypto.

Linkedin

Vistas totales: 8

Comentarios