Cómo hacer que un token sea privado

¿Cómo puedo crear un contrato inteligente que tenga una función que reciba una entrada (ya sea eth u otro token erc20) y la envíe a una dirección específica sin revelar quién la envió?

¿Básicamente hacer que la transacción sea anónima?

¿Hay alguna implementación de esto como un contrato inteligente?

Todo en la cadena de bloques es público y puede ser inspeccionado por cualquier persona que tenga una copia de la cadena de bloques. Desde la bifurcación byzantinum, hay disponibles algunas primitivas para implementar zkSnarks, pero dado que se deben usar direcciones ethereum, no tiene transacciones completamente anónimas.
@Ismael, ¿hay algún ejemplo de cómo implementar zk-snarks?
@ AndroidDev93 Es mejor hacer una nueva pregunta al respecto. Pero puedes echar un vistazo a github.com/JacobEberhardt/ZoKrates

Respuestas (3)

Puede intentar usar zethuna implementación del protocolo zerocoin en un contrato inteligente de ethereum ( https://github.com/zcoinofficial/zeth/blob/master/contracts/Zerocoin.sol ) que podría integrar en un contrato de token. Sin embargo, tenga cuidado, los cálculos de zkSNARK en ethereum son costosos.

Esto puede ser útil para usted https://www.ethereum.org/token . Gracias

Hola. ¿Puede resumir las partes importantes de ese artículo e incluirlas aquí? Sé que esa es la página "oficial", pero es posible que se elimine o se mueva en el futuro, lo que significa que su respuesta ya no será útil. (Además, el OP pregunta sobre tokens privados , en lugar de tokens en general).

Como idea, puede implementar un contrato que recibe una moneda y "retransferir" la moneda a una dirección que se necesita :-)