Last active
October 21, 2020 10:40
-
-
Save computerphysicslab/03e8e7c44c516377543e5ddc4f03e2be to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Para ilustrar este punto, veamos la interpretación del enunciado: | |
"Ve a la tienda y compra un periódico. Si hay huevos, trae una docena." | |
Un ser humano interpretaría lo siguiente: | |
Si la tienda tiene huevos, compra un periódico y una docena de huevos. | |
Una computadora, sin embargo, interpretaría esto: | |
Si la tienda tiene huevos, compra una docena de periódicos en lugar de uno. | |
Por tanto, un contrato escrito es susceptible de diversas interpretaciones. | |
Considerando que los humanos pueden inferir el significado de una declaración hecha a partir de su contexto y | |
experiencia social estándar, lo más probable es que una computadora no tenga tal experiencia. | |
Por lo tanto, usar el contrato inteligente como única base para la interpretación puede conducir a una | |
mala interpretación de las intenciones de las partes. | |
-- | |
Tres posibles escenarios de futuro: | |
1.- Sin blockchain: La contratación seguirá durante los próximos años realizándose de forma convencional, así como los procesos de reclamación. | |
2.- Es prueba: La contratación se transcribe en un Smart Contract, y ante caso de reclamación lo reflejado en blockchain será provatorio. | |
3.- Sin litigación: La contratación se transcribe en un Smart Contract y la garantía de servicio se soporta mediante un fondo de compensación en crypto. | |
-- | |
1.- ¿Qué diferencia hay entre un programa de ordenador, una aplicación en la nube y un Smart Contract? | |
Autor: ¿Quién lo escribe? | |
Programa => Yo | |
Nube => Yo | |
Smart Contract => Yo | |
Usuario: ¿Quién lo ejecuta? | |
Programa => Yo | |
Nube => Cualquiera | |
Smart Contract => Cualquiera | |
Proveedor: ¿Quién lo guarda? | |
Programa => Yo | |
Nube => Una empresa como Google, Microsoft o Amazon | |
Smart Contract => Miles de mineros | |
Garantía: ¿Hace lo que debe? | |
Programa => Yo | |
Nube => Proveedor + Autor lo certifican | |
Smart Contract => El código es garantía | |
2.- ¿Puede borrar o alterar datos un Smart Contract? | |
Un Smart Contract puede borrar o alterar datos dentro del SC (sus propios tokens y su propio balance) | |
Un Smart Contract no puede borrar o alterar datos de blockchain (balances y transacciones ajenas) | |
En cualquier caso todos los cambios quedan registrados sin posibilidad de ser borrados en la cadena de bloques. | |
Caso grid p2p: | |
Si el contador de casa reporta que ha cedido 1 Kwh a la red eléctrica, ningún Smart Contract podrá eliminar o modificar dicho dato. | |
Por tanto, el flujo eléctrico queda registrado para siempre en blockchain. | |
La tarea del Smart Contract es transferir el valor correspondiente del consumidor al productor, acorde a los términos previamente negociados. | |
Para que el Smart Contract pueda "mover" dicho valor, ha de tenerlo bajo su control. Por eso el consumidor primero envía fondos al SC que actúa como custodio (escrow). | |
3.- ¿Tienen gasto todas las operaciones realizadas con un Smart Contract? | |
Las operaciones de lectura son gratis | |
Las operaciones de escritura tienen un gasto (fees) | |
Todos los miles de nodos que conforman blockchain disponen de cualquier dato que podamos querer consultar. A blockchain no le supone ningún esfuerzo respondernos a una consulta sobre estos datos, y por eso es gratis. | |
Sin embargo, crear una nueva transacción (escribir datos) supone que los miles de nodos agreguen de forma sincronizada nuevos datos a la cadena de bloques. Esta operación es costosa, requiere que el algoritmo de consenso se ejecute y exige un pago a los mineros. | |
Caso grid p2p: | |
Reportar la energía cedida a la red, o la energía consumida de la red supone un gasto (fees) en blockchain, porque requiere escribir nuevos datos en la cadena de bloques. | |
Consultar la energía generada o consumida de un usuario es gratis, porque no exige añadir ningún dato nuevo en la cadena de bloques. | |
El oráculo (encargado de reportar los flujos de energía entrantes y salientes) tendrá que realizar un gasto constante en fees de blockchain cada vez que reporte. | |
En el momento en que el oráculo reporta estos flujos energéticos, el SC transfiere valor desde el escrow del consumidor al wallet del productor. | |
La validez del pago depende por tanto de estos factores: | |
1.- Que el contador (oráculo) reporte fidedignamente los flujos energéticos | |
2.- Que el contador (oráculo) disponga de fondos suficientes para pagar los fees de cada reporte | |
3.- Que el SC esté bien programado | |
4.- Que la red blockchain sea estable | |
5.- Que la criptomoneda con la que se transfiere valor no sea volátil | |
6.- Que el productor pueda finalmente convertir en fiat (o en otro producto) la criptomoneda recibida. | |
4.- ¿Puede un Smart Contract leer datos fuera de blockchain, por ejemplo de una página web o una API? | |
No. Blockchain es un ecosistema cerrado dentro de Internet. | |
De fuera hacia adentro, un wallet puede emitir una transacción. Por tanto una aplicación de Internet (wallet) puede interactura con blockchain. | |
Pero de dentro hacia afuera, no es posible que un Smart Contract pueda realizar ningún tipo de comunicación con ningún elemento de Internet. | |
La arquitectura de blockchain impide esta posibilidad, dado que los Smart Contracts tienen una forma peculiar de ejecutarse. | |
Cada transacción que recibe un Smart Contract debe ser ejecutada por el minero que valide el bloque. Pero hay miles de mineros que intentan validar bloques constantemente. Sólo un minero conseguirá crear el nuevo bloque. | |
Si a un Smart Contract se le permitiera hacer llamadas a Internet, el resultado sería desastroso porque habría miles de mineros ejecutando el Smart Contract y realizando la misma llamada a Internet, provocando un ataque de tipo DDoS. | |
Si necesitamos que un Smart Contract disponga de un dato de Internet, la única opción que existe es que reciba dicha información a través de los datos de una transacción. El emisor de dicha transacción se llama oráculo. | |
5.- ¿Qué podría fallar en una justicia basada en Smart Contracts? | |
+ Oráculo inactivo: no se cierra la transacción sin el visto bueno del oráculo. Una falta de fondos para pagar fees puede inactivar al oráculo. Una actualización del software del oráculo puede también inhabilitarlo. | |
+ Oráculo corrupto: Incluso una intervención manual también podría, ya que el oráculo no reside en blockchain, sino que es un software que maniente un tercero (los oráculos son centralizados, en contrates con la filosofía blockchain de descentralización) | |
+ Bugs en el SC: no se comporta como esperábamos. | |
+ Depósito de fondos en dirección errónea: no es posible hacer un chargeback. | |
+ Inestabilidad de blockchain: cambio inesperado en fees, congestión de bloques, caída de servicio, ataque del 51%, los mineros abandonan la red por una mejor | |
+ Volatilidad crypto: el precio negociado y el valor recibido pueden diferir (hasta un 20% diario) por una abrupta volatilidad de la crypto (excepto en stablecoins). | |
-- | |
Caso de uso que nos permitirá entender las diferencias entre un contrato legal y un Smart Contract: | |
Si tu casa tiene placas solares y generas más energía de la que consumes en cierto momento, aparece un caso de uso de blockchain: p2p energy grid | |
* p2p energy grid => http://taiyangnews.info/markets/malaysia-launches-solar-energy-trading-pilot-project/ | |
A tu compañía eléctrica puede no interesarle absorber la energía sobrante de tu casa por muchos motivos (horario/calendario solar en el que tiene mucha energía sobrante, incapacidad para almacenar la energía sobrante, complejidad para computar la factura del abonado) y no comprártela o hacerlo a un precio muy poco competitivo. | |
Si se da el caso de que un vecino cercano tiene un coche eléctrico que le interesa recargar en horario solar puedes ofrecerle tu energía sobrante a través de una microgrid (un cable privado entre ambas casas) y negociar el precio del intercambio con un Smart Contract en blockchain. | |
En | |
https://www.elconfidencial.com/tecnologia/2019-12-09/blockchain-empresas-usos-reales-digitalis-bra_2366912/ | |
https://www.analyticslane.com/2019/01/16/blockchain-en-el-sector-electrico/ | |
nos lo explican con más detalle: | |
Un vecino con placas solares en casa puede vender su excedente de energía a las personas de su alrededor usando Blockchain. Lo que Blockchain permite es una descentralización de cualquier sector, lo que aumenta la autonomía de los consumidores y de los productores individuales. Por ejemplo, podemos imaginar una microred eléctrica en la que un vecino con placas solares en casa puede vender su excedente de energía a las personas de su alrededor gracias al uso de contadores de luz inteligentes y sin la necesidad de que una compañía energética regulara ese proceso. | |
La implantación del Blockchain permite que la transacción sea automática una vez que se ha verificado que el cliente ha recibido el servicio. Con esa medida se pueden detectar fraudes en tiempo real (como hacer un pago por un servicio no prestado) gracias a la inviolabilidad de la tecnología que sustenta la transacción. | |
La forma convencional de proceder en el mercado de la energía doméstica genera problemas que blockchain y los Smart Contracts pueden evitar. Ejemplo: | |
Incumplimiento de contrato con compañía eléctrica: "yo en marzo me fui de Empresa_A por unos motivos cuales reclame y me fui a Empresa_B contraté la cuota 12 en gas y luz y ok gas por teléfono.calcule mi consumo del año anterior en kw que gasté me salía una cuota de 52€ de gas y otros 52€ total 104€ al mes quedo todo grabado en la gabración la cosa viene cuando me empiezan a cobrar una serie de facturas que no tiene nada que ver con lo que contraté de luz, llamo a Empresa_B para reclamar que yo contraté cuota12 y que no se me esta aplicando y quiero que se me aplique lo que contraté me dicen que en navarra no hay cuota 12 y yo les respondo que no se me informo de esto al contratar sino todo lo contrario que el chico que me atendio se equivocaría yo les digo que esta todo grabdo en la grabación del contrato todo con les digo que rescindo el contrato por incumplimiento por su parte de y les solicito que me envíen la grabación y que rescindo tanto ok gas y todos los contratos por incumplimiento y me mandan una serie de facturas por incumplimiento por mi parte por darme de baja y les e puesto un monton de reclamaciones a ellos y todas son cerradas el mismo dia de ponerlas. total que me tenido que ir otra vez a Empresa_A que ya tuve problemas también os adjunto documentación " | |
https://www.ocu.org/reclamar/lista-reclamaciones-publicas/reclamacion-publica?referenceid=CPTES00013175-80 | |
Analicemos las diferencias entre paradigmas (convencional vs blockchain) mediante los flujos: | |
1.- Contrato legal: | |
+ Se firma contrato | |
+ Operativa en que quizá una parte no queda satisfecha | |
+ Se produce reclamación por el consumidor | |
+ Un tribunal puede resolver el caso obligando a una compensación hacia el consumidor | |
2.- Smart Contract: | |
+ Se despliega SC en blockchain | |
+ Los wallets de los usuarios se registran en el SC como comprador/vendedor (consumidor/productor) | |
+ El comprador envía fondos al SC | |
+ Un oráculo verifica que el servicio se ha dispensado correctamente | |
+ El SC envía los fondos al vendedor | |
Ventajas del flujo con Smart Contracts: | |
+ Lo que está escrito en el código del Smart Contract no puede ser alterado. Así se evita fraude o irregularidades en la transacción económica asociada al contrato. | |
+ El historial de acciones realizadas queda escrita inmutablemente en blockchain. Es abierto y auditable. Por tanto, no requiere solicitar al banco el histórico de cargos como prueba. | |
Posibles anomalías del flujo con Smart Contracts: | |
+ Bugs en el SC: no se comporta como esperábamos. | |
+ Depósito de fondos en dirección errónea: no es posible hacer un chargeback. | |
+ Inestabilidad de blockchain: cambio inesperado en fees, congestión de bloques, caída de servicio, ataque del 51%, los mineros abandonan la red por una mejor | |
+ Volatilidad crypto: el precio negociado y el valor recibido pueden diferir (hasta un 20% diario) por una abrupta volatilidad de la crypto (excepto en stablecoins). | |
+ Oráculo inactivo: no se cierra la transacción sin el visto bueno del oráculo. Una falta de fondos para pagar fees puede inactivar al oráculo. Una actualización del software del oráculo puede también inhabilitarlo. Incluso una intervención manual también podría, ya que el oráculo no reside en blockchain, sino que es un software que maniente un tercero (los oráculos son centralizados, en contrates con la filosofía blockchain de descentralización) | |
Notas: | |
* caídas de servicio: "Steem’s outage, the company explained, was related to an upcoming hard fork update. The code for the fork was being run by some nodes in advance, and as such, these nodes split off onto an incompatible chain when certain safeguards failed. The nodes accidentally hard forked the network early, and as a result, the nodes couldn’t come to consensus on new blocks." | |
https://www.coindesk.com/when-blockchains-go-down-why-crypto-outages-are-on-the-rise | |
-- | |
Presentación ponente: | |
Juan Ignacio Pérez es físico teórico y programador de Smart Contracts. En los últimos 4 años ha desarrollado aplicaciones descentralizadas (DApps) en Ethereum y RSK así como contratos de emisión de monedas (ICO), de propiedad intelectual (ERC-721), sistemas de votaciones protegidos con criptografía asimétrica e identidad digital auto-soberana (ERC-725/735). | |
Los proyectos desarrollados han aparecido en los medios y se han presentado en congresos, como por ejemplo la votación de presupuestos participativos de Alcobendas, los certificados académicos de ESADE, la gestión de atraque de buques del Puerto de Valencia, todos ellos proyectos sobre blockchain Ethereum mediante Smart Contracts. | |
Su desarrollo más ambicioso llamado LydianElectrum es una modificación de Ethereum que transforma la moneda nativa en stablecoin, eliminando el problema de volatilidad, abriendo la puerta al concepto de CriptoEuro. | |
-- | |
5 preguntas: | |
1.- ¿Qué diferencia hay entre un programa de ordenador, una aplicación en la nube y un Smart Contract? | |
2.- ¿Puede borrar o alterar datos un Smart Contract? | |
3.- ¿Tienen gasto todas las operaciones realizadas con un Smart Contract? | |
4.- ¿Puede un Smart Contract leer datos fuera de blockchain, por ejemplo de una página web o una API? | |
5.- ¿Qué podría fallar en una justicia basada en Smart Contracts? | |
-- | |
Webinar flow: | |
1.- Conceptos básicos: | |
* Smart Contract (mueve datos y crypto en base a reglas de Solidity) | |
* Oráculo (exterior a blockchain, centralizado, humano o automatizado) | |
2.- Caso de uso: | |
* Exposición | |
* Paradigma/flujo convencional vs blockchain | |
* Ventajas/inconvenientes entre paradigmas | |
3.- Cuestiones abiertas: | |
* Tennessee e Illinois | |
* Plan de contingencia | |
* Regular el oráculo | |
* Regular el crypto | |
* Odiosa sunt restringenda | |
-- | |
Brainstorm/Puntos a tratar: | |
1.- Tennessee e Illinois: ¿qué pasos han dado? | |
2.- Plan de contingencia: ¿qué hacer y quién se responsabiliza ante fallos (bugs, forks, pérdida de claves, cambios del ecosistema)? | |
3.- Implicaciones legales del rol de oráculo: ¿cómo regular su inactividad, o actividad fraudulenta? | |
4.- El tándem Smart-Contract/Criptomoneda es nativo en blockchain, pero en el terreno legal las crypto están poco reguladas. ¿Cómo conseguir un entorno legal blockchain con capacidad transaccional monetaria? | |
5.- "Odiosa sunt restringenda" ¿Cómo implementar flexibilidad de criterios en un Smart Contract? La Sentencia del Tribunal Supremo de 26 de noviembre de 1929, al decir que "si la justicia ha de administrarse recta y cumplidamente, no ha de atenderse tanto a la observancia estricta y literal del texto del precepto legal como a su indudable espíritu, recto sentido y verdadera finalidad", ya que la disposición legal debe, ante todo, responder al fin supremo de la justicia, el cual "únicamente puede estimarse debida y razonablemente cumplido cuando el precepto se aplica en forma tal que permita, usándose por el Juzgador de una adecuada y justa flexibilidad de criterios acomodarse a las circunstancias del caso." | |
"The governor of Tennessee has signed a bill that legally recognizes blockchain data and smart contracts under state law. Governor Bill Haslam signed the measure on Thursday, public records show, capping a months-long process that saw Tennessee become the latest U.S. state to pursue such legislation." Mar 23, 2018 | |
- https://www.coindesk.com/blockchain-bill-becomes-law-tennessee | |
"An Illinois law took effect last month that recognizes a new form of legal agreement known as a smart contract, a binding accord executed using blockchain technology, putting it on equal footing with traditional legal contracts." February 11, 2020 | |
"...ethical and liability questions will need to be resolved by legislators, regulators or courts to determine who is liable when something goes wrong." | |
"The oracle is a useful tool for neutral information, but it isn’t meant to take on the role of arbitrator or judge if the transaction falls apart." | |
"example of a drought insurance contract to illustrate how it might work. He explained that software could be coded to provide an automatic insurance payout to policyholders if rainfall in a given area failed to exceed a threshold. The oracle would determine whether the rainfall threshold was met based upon resources such as National Weather Service measurements." | |
"there really are no agreed-upon rules about what happens if something goes wrong." | |
"When vulnerabilities in the code interfere with a smart contract, it isn’t clear who is liable," | |
"I think you could streamline standard routine transactions where there is no complexity, nothing to be appealed, and no question of interpretation" | |
- https://www.rollcall.com/2020/02/11/states-ok-blockchain-smart-contracts-but-buy-in-is-uncertain/ | |
-- | |
https://www.slideshare.net/goClio/how-smart-lawyers-handle-smart-contracts | |
Aborda los puntos más importantes que se podrían tratar en la sesión | |
https://elderecho.com/los-contratos-inteligentes-smart-contracts-contratos-inteligentes | |
Innovación: funcionan solos | |
"Un Smart contract constituye, desde el punto de vista tecnológico, un protocolo de códigos informáticos, escrito en lenguaje "máquina", que permite a un dispositivo ejecutar de forma automatizada las secuencias previamente programadas, prescindiendo de cualquier tipo de intervención humana." | |
Utopía: problema al mover dinero no-fiat | |
"Nuestro régimen jurídico integra, con matizaciones, este formato de contratación, pero conseguir un proceso totalmente automatizado implica recurrir a mecanismos de pago en red que no siempre se adaptan al tipo contractual. El uso del dinero electrónico y las monedas virtuales como el bitcoin cubren esta función, pero la escasa o nula regulación de las monedas virtuales dificultan la funcionalidad y seguridad jurídica del uso de las tecnologías Blockchain." | |
https://www.lavanguardia.com/economia/20191028/471166987771/abogados-interesados-blockchain-privacidad-contratos-milcontratos-brl.html | |
Innovación: automatizan la verificación | |
"Los contratos inteligentes rastrean las partes de la transacción, los términos y condiciones y la transferencia de propiedades sin intervención legal, ya que son autoejecutables, además de no modificables y permanentes." | |
Utopía: no reemplazan al sistema judicial | |
"Lejos de hacer desaparecer la figura del abogado, [los Smart Contracts] hacen que este trabaje codo con codo con el desarrollador e ingeniero ... el sector de la abogacía deberá aprender a lidiar con conceptos como la tecnología DLT, el machine learning, el deep learning o el token criptográfico, palabras que aún hoy son desconocidas para muchos abogados pero que, sin duda, formarán parte de nuestro día a día en pocos años." | |
-- | |
Más brainstorming... | |
Leyendo Alastria Legal: "... al examinar la tokenización de inmuebles, la tesis de limitación funcional del token a un valor representativo de derechos en forma de archivo digital, siendo preciso que el Registro de la Propiedad garantice la inseparabilidad entre token y activo real ..." | |
https://issuu.com/alastrialegal/docs/alastria-legal-01-mayo-2020 | |
Por tanto, ¿cuál es la fuente de verdad? ¿el Registro de la Propiedad de Bienes Inmuebles o el token? ante discrepancias, ¿cuál prevalece? | |
* https://es.wikipedia.org/wiki/Registro_de_la_Propiedad_(Espa%C3%B1a) | |
-- | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment