Por: hacer
Solana es un protocolo blockchain rápido y altamente escalable que proporciona una infraestructura poderosa para aplicaciones descentralizadas (DApps). La reciente recuperación del ecosistema de Solana ha atraído una atención generalizada. Este artículo presentará las cuentas, tokens, transacciones de Solana y cómo garantizar la seguridad de los activos en este ecosistema.
Cuenta Solana
Comprender su cuenta es el primer paso para proteger sus activos. A diferencia de las cuentas de Ethereum, la función principal de las cuentas de Solana es almacenar datos.
Hay tres tipos principales de cuentas en Solana:
Cuenta de datos: utilizada para almacenar datos.
Cuenta de programa: utilizada para almacenar programas ejecutables.
Cuenta nativa: se refiere a los programas nativos de Solana, como System, Stake y Vote.
Entre ellas, las cuentas de datos se pueden dividir en dos categorías:
Cuentas propiedad del sistema: cuentas generadas por programas nativos en Solana.
Cuenta derivada del programa (PDA): la autoridad de firma es la cuenta del programa y, por lo tanto, no está controlada por una clave privada como otras cuentas.
Cada cuenta tiene una dirección (normalmente una clave pública) y un propietario (la dirección de la cuenta del programa). El primero es similar al de Ethereum y el segundo puede entenderse simplemente como el programa para crear la cuenta.
Las cuentas generadas por usuarios comunes a través de billeteras pertenecen a todas las cuentas del sistema en la cuenta de datos, y el propietario predeterminado de la cuenta es el programa del sistema. Simplemente podemos entenderlo como: el usuario genera una cuenta para todo el sistema a través del programa del sistema, esta cuenta almacena la información básica, los activos y otros datos del usuario, y esta cuenta tiene una dirección (es decir, una clave pública).
Tomando Solana Explorer como ejemplo, las cuentas utilizadas por los usuarios normales, es decir, todas las cuentas del sistema, se muestran en el navegador como se muestra a continuación:
La identificación del programa asignado representa el propietario de la cuenta, el tamaño de datos asignado representa el tamaño de los datos almacenados en la cuenta y el ejecutable representa si la cuenta es ejecutable. Por lo general, solo las cuentas del programa son ejecutables. Los usuarios normales sólo deben prestar atención a la dirección de la cuenta.
A través del contenido anterior, tenemos una comprensión preliminar de las cuentas de Solana. A continuación, conozcamos Solana Token.
Ficha Solana
SPL-Token representa todos los tokens no nativos de la red Solana, incluidos los tokens fungibles y no fungibles (NFT).
Al igual que los tokens ERC20 y ERC721, los tokens SPL se emiten y comercializan en Solana, pero sus diferencias con Ethereum son:
En Solana, el emisor del token crea una cuenta mint a través del programa token nativo en Solana y almacena la información básica del token en esta cuenta. Por ejemplo, la dirección de la cuenta mint para USDC en Solana Explorer es EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. En el navegador se muestra información detallada sobre USDC Token Mint, incluido el suministro actual de tokens, las direcciones con autoridad de acuñación y congelación y la precisión decimal del token.
A continuación, comprendamos qué es la cuenta simbólica.
En Solana, cada titular de Token tiene una cuenta de token específica, que registra el saldo y la información relacionada del Token específico del titular. Por ejemplo, si Alice posee tokens USDT y USDC, tendrá dos cuentas de tokens respectivamente, una de las cuales registrará el saldo de USDT y la otra registrará el saldo de USDC.
Entonces, ¿cómo comprobar su cuenta simbólica?
Podemos usar el navegador de Solana Beach para ver claramente cada cuenta-token ingresando la dirección de la cuenta de datos y haciendo clic en Portafolio. Cada cuenta registra el saldo de un Token específico.
A través del navegador de Solana Beach, también puede ver la información del Token registrada para cada cuenta, el estado de autorización y otra información detallada.
Comercial Solana
En Solana, cada transacción incluye la siguiente información clave:
Instrucciones: Una o más instrucciones que definen operaciones en una transacción, como transferencias, interacciones de programas, transferencias de Token, etc.
Blockhash: contiene el último valor hash del bloque, que se utiliza para garantizar que las transacciones se ejecuten en el bloque correcto.
Firmas: Una o más firmas que representan la autorización de una transacción. Cada firma corresponde a una cuenta que firma en la transacción, lo que garantiza que solo las cuentas autorizadas puedan ejecutar la transacción.
Una transacción en Solana puede contener múltiples instrucciones, lo que significa que se pueden realizar múltiples operaciones diferentes en la misma transacción. Por ejemplo, los usuarios pueden empaquetar múltiples instrucciones de transferencia en la misma transacción, y estas instrucciones se ejecutarán secuencialmente. Si alguna instrucción de la transacción falla, toda la transacción fallará.
Los registros de transacciones de Solana son ligeramente diferentes de los de Ethereum. Veamos cómo leer eficazmente los registros de transacciones en Solana.
Transacción de transferencia SOL
Para los registros de transacciones en Solana, tomamos el navegador SOLSCAN como ejemplo y nos centramos en la siguiente información principal:
Firma: similar al hash de transacción, la primera firma de la transacción se utiliza como índice de la transacción en el registro de transacción.
Resultado: el resultado de la ejecución de la transacción, que indica si la transacción fue exitosa.
Firmante: la dirección de la cuenta que ejecuta la transacción, es decir, la dirección del firmante.
Acciones Principales: Las principales instrucciones de operación incluidas en la transacción, que pueden ser transferencias, llamadas a programas, etc.
Detalles de instrucciones: las instrucciones de operación específicas realizadas en la transacción.
Podemos ver las direcciones de cuenta de ambas partes de la transferencia en Acciones Principales.
En Detalles de la instrucción, podemos ver que la instrucción principal de la transacción de transferencia SOL es Transferencia SOL, que está diseñada para transferir SOL. Al ver los detalles de la instrucción en detalle, podemos obtener información sobre el programa llamado por la instrucción, así como las direcciones de cuenta de las partes involucradas en la transferencia.
Transacción de transferencia de tokens
La siguiente transacción es una transferencia de USDT, similar a la transacción SOL.
En la sección Detalles de la instrucción, las transacciones de Token generalmente llaman primero a la instrucción Crear cuenta asociada para crear una cuenta de Token para el destinatario (si el destinatario aún no tiene una cuenta correspondiente), que se utiliza para almacenar datos como el saldo de USDT.
Luego ejecute el comando Token Transfer para completar la transferencia de USDT. Vale la pena señalar que, a diferencia de la instrucción de Transferencia SOL, el Origen y el Destino en la instrucción de Transferencia de Token no representan las direcciones de cuenta directa de las partes de la transferencia, sino sus cuentas de Token (cuentas PDA), lo que requiere atención especial.
Transacción de swap
A continuación se muestra una transacción de Swap en la que el usuario intercambia USDT por USDC.
Comercio de órdenes múltiples
En una transacción de Solana que contiene múltiples instrucciones, están involucradas múltiples operaciones, como transferencia SOL, transacción de intercambio y transferencia de token.
Incluso si hay varias instrucciones, aún podemos ver las instrucciones detalladas para la ejecución de la transacción a través de Detalles de la instrucción y comprender las operaciones específicas de cada paso.
Seguridad de activos
Como dice el refrán, si te conoces a ti mismo y al enemigo, podrás librar cien batallas sin peligro. Hemos echado un primer vistazo a las cuentas, tokens y transacciones en Solana. Para evitar el riesgo de robo de activos, debemos tener una comprensión más profunda de los riesgos que podemos enfrentar al usar la billetera Solana.
Se filtra clave privada y frase mnemotécnica
Según las estadísticas del Slowmist Blockchain Hacked Archive (https://hacked.slowmist.io), nueve incidentes de seguridad de fuga de claves privadas en 2023 provocaron pérdidas de hasta 84,75 millones de dólares. Entre los casos de robo manejados por el equipo AML de SlowMist, los incidentes en los que se filtraron claves privadas y frases mnemotécnicas, lo que resultó en el robo de activos, representaron una gran proporción. Por lo tanto, para garantizar la seguridad de los activos en la billetera Solana, lo más importante es administrar la clave privada y la frase mnemotécnica de la billetera.
usar billetera
Las firmas son uno de los riesgos de seguridad más preocupantes al usar una billetera y se debe prestar especial atención a la información firmada al interactuar con proyectos en Solana.
Además, Solana permite empaquetar múltiples transferencias en una sola transacción, lo que significa que todos los activos de la billetera se pueden transferir a la vez con una sola firma.
Veamos un caso práctico a continuación:
Una víctima cometió un error en un sitio web de phishing y solo hizo clic una vez para confirmar, lo que provocó que todos los activos de la billetera se transfirieran a la vez. ¿Qué tipo de operación permite a la víctima firmar una sola vez y dejar que el hacker transfiera todos los activos?
Sí, el hacker aprovechó el mecanismo mencionado anteriormente y una característica de la billetera:
La víctima utilizó Phantom Wallet, que puede empaquetar múltiples instrucciones de transferencia en una sola transacción, requiriendo solo una firma para completar todo el proceso. Es precisamente esta característica la que se ha convertido en un gran avance para que la exploten los piratas informáticos, provocando que las víctimas pierdan todos sus activos en una sola firma. Al utilizar la billetera, los usuarios deben confirmar cuidadosamente cada operación de firma para evitar pérdidas.
Esta característica clave también se presenta claramente en la documentación oficial de Phantom Wallet:
Resumir
En este artículo de divulgación científica de Solana, primero aprendimos los conceptos básicos de las cuentas de Solana; luego profundizamos en los conceptos básicos de Solana Token; y luego discutimos el contenido relevante del comercio en Solana. En términos de garantizar la seguridad de los activos de la billetera, enfatizamos el almacenamiento seguro de claves privadas y frases mnemotécnicas. Recomendamos que los usuarios lean el "Manual de autorrescate de Blockchain Dark Forest" elaborado por Slow Mist: https://github.com/ slowmist/Blockchain-dark-forest-selfguard-handbook/blob/main/README_CN.md para obtener más sugerencias de seguridad; al usar la billetera, los usuarios deben confirmar cuidadosamente cada operación de firma para evitar pérdidas. Además, es fundamental leer los consejos de seguridad en la documentación de la billetera y mantenerse alerta en todo momento es la clave para garantizar la seguridad de sus activos.