Status Implementa un nuevo estándar de navegador

StatusES
StatusES
Sep 9, 2018 · 3 min read

La red descentralizada se puede sentir más como wild wild west que www. Para ayudar al ecosistema a avanzar, Status se está alineando con otros navegadores de DApps en nuevos estándares de interoperabilidad.

Uno de esos estándares, EIP1102, que vemos como muy importantes para mantener los principios fundamentales de privacidad y seguridad de Status.

Junto con nuestros amigos de MetaMask, Mist y imToken, estamos adoptando EIP1102 para mejorar considerablemente la privacidad del usuario al cambiar la manera en que se ingresa al proveedor de Ethereum.

Una primera versión de la actualización está incluida en la versión de Status 0.9.26, y nuestro mas reciente lanzamiento 0.9.27 incluye una mejora de acuerdo con el EIP.

⚠️ Será necesaria la acción del desarrollador para mantener la compatibilidad con el navegador de Status. El 2 de noviembre, este será un cambio trascendental. ⚠️

¿Qué significa esto para los usuarios de nuestro navegador?

El proveedor de Ethereum es lo que permite a las Dapps conectarse al blockchain en nuestro nombre. Le permite a la DApp obtener tu dirección de Ethereum e iniciar transacciones, para que puedas intercambiar CryptoStrikers, enviar Peeps, etc. ¡Cosas importantes!

El problema es que el método actual ofrece información confidencial acerca de tu cuenta Ethereum sin tu permiso.

Esto, no solo te quita el anonimato, sino que expone detalles acerca de tu saldo y tus transacciones. La gente malintencionada puede identificarte como usuario de Ethereum y potencialmente usarlo en tu contra. Una vez identificado podrán tener tus huellas y rastrearte.

Después del 2 de noviembre, tendrás control sobre tus datos personales. Las DApps tendrán que solicitar tu autorización para acceder a tu cuenta de Ethereum antes de que se compartan tus datos.

En Status, puedes contar con ver la siguiente pantalla cuando una DApp quiera conectarse a tu cuenta en la blockchain:

Izquierda: Status sabe cuál es la Dapp que solicita autorización. Derecha: el acceso a la DApp es vía URL, pero Status no la reconoce

¿Qué significa esto para los desarrolladores de DApps?

Para acoplarte a este EIP y mantener mejor la privacidad del usuario será necesario implementar un pequeño cambio.

En lugar de introducir un proveedor de Ethereum completo y una biblioteca web3 al DOM al cargar la página, Status introducirá un proveedor de sólo lectura. La biblioteca web3.js ya no será introducida en absoluto.

En su lugar, la DApp necesitará cargar la versión de web3.js que requiere. Y para acceder a la información del usuario desde el navegador, una DApp deberá solicitar de manera asincrónica el proveedor de Ethereum completo.

Para hacerlo, la DApp deberá enviar ethereum.enable(). Esto enviará automáticamente una solicitud al usuario para aprobar o denegar el acceso a su cartera de Status.

Este fragmento de código de EIP demuestra una posible implementación de la solicitud:

window.addEventListener('load', async () => {
// Read-only provider is exposed by default
console.log(await ethereum.send('net_version'));
try {
// Request full provider if needed
await ethereum.enable();
// Full provider exposed
await ethereum.send('eth_sendTransaction', [/* ... */]);
} catch (error) {
// User denied full provider access
}
});

Si el usuario lo aprueba, el proveedor de Ethereum estará disponible por completo.

Si el usuario lo rechaza, regresará un mensaje de error.

Nota: En una versión inicial del EIP, la DApp no necesitaba una notificación de acceso denegado para poder mantener el anonimato del usuario. Después de discutirlo con los desarrolladores, se decidió que los usuarios deberían crear en su lugar un ambiente “mínimamente capaz de detectar huellas”. Las DApps sabrán si un usuario está en el navegador de una DApp para facilitar mejores flujos de integración.

¿Qué pasará ahora?

El 2 de noviembre, esto significará un cambio considerable. Las DApps ya no tendrán acceso a un proveedor de Ethereum o API de web3.js sin implementar el código correcto.

El ejemplo de código anterior encapsula los cambios requeridos; esperamos poder implementar por completo dichos cambios en la versión 0.9.28 de Status.

Mientras tanto, nos gustaría saber las reacciones por parte de los desarrolladores. Sabemos que esta es una actualización importante que afectará el diseño de tu producto. Si tienes preguntas o retroalimentación acerca del EIP, te pedimos que lo compartas en esta gran discusión con el resto de la comunidad.

Si quieres saber más acerca del impacto sobre los usuarios de Status, envíanos un ping en Riot.

Status ES

Status es un cliente ligero de Ethereum diseñado para poner al alcance los beneficios del Blockchain a todos los usuarios regulares de telefónos inteligentes. Disponible en iOS y Android.

StatusES

Written by

StatusES

StatusES

Status ES

Status ES

Status es un cliente ligero de Ethereum diseñado para poner al alcance los beneficios del Blockchain a todos los usuarios regulares de telefónos inteligentes. Disponible en iOS y Android.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade