No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Introducci贸n a OpenZeppelin

Curso de Introducci贸n a OpenZeppelin

Sebasti谩n Leonardo Perez

Sebasti谩n Leonardo Perez

Caso de uso: Escrow

13/19
Recursos

Sin duda, uno de los casos de uso m谩s frecuentes en un contrato inteligente es el denominado como 鈥淓scrow鈥, realizar transferencias entre dos partes de manera segura.

Depositos en garant铆a

El t茅rmino Escrow seguramente es poco conocido. En pocas palabras, se trata de un intermediario entre dos partes para la transferencia de un bien o valor de forma segura.

No se trata de algo nuevo de Blockchain. En las finanzas tradicionales y el mundo legal, los agentes Escrow son profesionales que act煤an para dar garant铆as de intercambio de una propiedad, un autom贸vil o dinero entre dos partes.

La revoluci贸n de Blockchain logra que ese intermediario, que no deja de ser una persona o una empresa, desaparezca y ocupe su lugar un contrato inteligente. Evitando as铆 la burocracia de tener que ponerse en contacto y acordar con una tercera parte.

Escrow garantiza que Alice y Bob puedan intercambiar criptomonedas u otros bienes. El contrato inteligente retendr谩 las cripto o una garant铆a hasta que ambas partes obtengan lo que les pertenece.

Implementaci贸n de un Escrow

OpenZeppelin implementa tres contratos para resolver de forma r谩pida y segura este tipo de caso de uso.

Escrow.sol

Escrow.sol es el contrato base para implementar la l贸gica de intercambio de criptomonedas o tokens entre dos partes. El contrato en s铆 tiene poca utilidad en el mundo real, ya que por lo general habr谩 alg煤n tipo de condici贸n y confirmaci贸n previa a la entrega del valor a cada parte involucrada.

Importante mencionar que Escrow.sol hereda de Ownable.sol. Por lo tanto, el mismo tendr谩 un due帽o. Aunque siempre puedes desarrollar tu propio contrato con su propia l贸gica si no deseas que el mismo tenga un owner y este sea diferente.

ConditionalEscrow.sol

ConditionalEscrow.sol Es una extensi贸n de Escrow.sol que le agrega la posibilidad de implementar un condicionante dependiendo nuestra regla de negocios para confirmar la operaci贸n y liberar las criptomonedas.

RefundEscrow.sol

RefundEscrow.sol hereda de los dos anteriores con la diferencia de que m煤ltiples cuentas pueden depositar valor y este ser retirado por una sola. Pocos casos de uso tienen sentido en el mundo real. Que solo una cuenta se quede con el dep贸sito de muchas podr铆a tratarse de alg煤n tipo de donaci贸n o causas ben茅ficas.

Caso real de Escrow

Si Alice y Bob quieren intercambiar crypto por dinero Fiat, Alice depositar谩 las crypto en el contrato inteligente y el mismo las retendr谩 hasta que Bob haga la transferencia correspondiente de forma off-chain. Si Alice recibi贸 lo suyo, ella misma dar谩 la orden de liberar las crypto hacia la cuenta de Bob.

En ning煤n momento el contrato inteligente le permite a Alice volver a enviar las crypto a su propia cuenta. En este caso, el owner del contrato puede intervenir para solucionar la situaci贸n.

Un buen ejemplo de la vida real de Escrow es el P2P de Binance. Si has realizado compras o ventas de criptomonedas a trav茅s de esta plataforma o similar, comprender谩s c贸mo es que un contrato inteligente retiene valor hasta su posterior liberaci贸n luego de una confirmaci贸n.

Conclusi贸n

Escrow es un sencillo y muy utilizado caso de uso que te invito a explorar para el intercambio de valor de forma segura entre dos partes. Lo maravilloso de Blockchain est谩 en eliminar esos intermediarios tan molestos.


Contribuci贸n creada por: Kevin Fiorentino (Platzi contributor).

Aportes 5

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Tenemos 3 implementaciones de escrow:

B谩sica

  • Escrow (s贸lo admite dep贸sitos y retiros)

Variantes de la b谩sica

  • ConditionalEscrow (los retiros se pueden hacer siempre y cuando se cumpla cierta condici贸n) - extiende de Escrow
  • RefundEscrow (todos los dep贸sitos van a una sola cuenta, caso de uso: causa ben茅fica) - extiende de ConditionalEscrow

Un caso de uso Escrow puede ser el P2P de Binance. Si compraron criptos a otra persona por este medio, la app de Binance espera confirmaci贸n para liberar las criptomonedas. El Smart Contract hace de intermediario para dar garant铆a que cada parte recibir谩 lo suyo.

Quienes tienen permisos para operar con Escrow: onlyOwner (solo el owner)

Escrow
Contratos que gestionan dep贸sitos y retiros de fondos de parte de los usuarios.
Este es un caso muy popular en el desarrollo de contratos inteligentes.