Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s...

13
Jose M. Calabuig jmcalabu.blogs.upv.es [email protected] Blockchain en las administraciones públicas València, 7 de junio de 2018 TRANSPARENCIA NUEVOS RETOS

Transcript of Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s...

Page 1: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Jose M. Calabuig

jmcalabu.blogs.upv.es [email protected]

Blockchain en las administraciones públicas

València, 7 de junio de 2018

TRANSPARENCIA

NUEVOS RETOS

Page 2: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Voto electrónico con

Elecciones 2017

TOTAL: 130 millones

Personal: 55 millones

Envíos: 50 millones

Logística: 12,5 millones

Dispositivos: 13 millones

La votación electrónica basada

en Blockchain permitiría a los

votantes tener más confianza

en el conteo automático

de los votos, permitiéndoles

tener una copia del

registro de votación.

Los votos son:

registrados,

administrados,

contados y verificados

por una autoridad central

En países como Dinamarca ya se ha utilizado esta tecnología para las elecciones internas del

Partido Alianza Liberal (Crytocoins News)

En una encuesta de votantes estadounidenses publicada en diciembre, Edelman Intelligence

encontró que el 35% está preocupado por la exactitud de la tecnología de votación utilizada, y el

69% apoyaría iniciativas para mejorar la tecnología de votación.

Se han utilizado para las elecciones internas de los partidos políticos y los votos de los accionistas en

Estonia. (Parlamento Europeo Research Service)

Page 3: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Taller de pruebaGANACHE

emulador de

blockchain

DApp

SOLIDITY

(Ethereum)

Desplegarlo

en el BlockChain

Conectarlo con

una web

Page 4: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Esquema de la dApp VotoUPV

Navegador

Terminal consola Nodejs

Web3js

html/CSS/Javascript

Web3js

EVM-Ethereum Virtual Machine

Bloque 1

Bloque 2

Bloque 3

Bloque 4

BlockChain virtual

Llamada a

procedimiento

remoto (RPC)

VotoUPV dApp

Page 5: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Instalación

jmcalabu.blogs.upv.es Grupo MadPhy

Taller TechFest 2018

Page 6: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Solidity contract: VotoUPV.sol

Page 7: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Solidity contract  VotoUPV.sol

nombreCandidatos

bytes[]listaCandidatos

bytes[]

candidato

bytes32

votosRecibidos uint8

totalV

otosPara

uint8

votoParaCandidato

uint8

+1

Vo

toU

PV

candidato

Valido

bool

Page 8: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Arrancamos node en otro terminal

Cargamos el código en la variable de cadena: code

Compilamos con solc.compile almacenando el resultado en

compiledCode

La librería solcpermite compilar

el código

web3js es una librería

que permite interactuar

con blockchain vía RPC.

Así podremos desplegar

el contrato e interactuar

con blockchain

Si escribimos en el terminal compiledCode

veremos dos campos importantes:

compiledCode.contracts[':VotoUPV'].bytecode

compiledCode.contracts[':VotoUPV'].interface

bytecode es el número de código

en el que se desplegará en

el blockchain

interface es la plantilla del

contrato (llamado abi) que informaal usuario de las variablesdisponibles en el contrato

Compilando         web3js +

Page 9: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Desplegando 

VotoUPVContract es el nuevo objeto que sedespliega en el blockchain

mediante VotoUPVContract.new

El despliegue se

almacena en

deployedContract y tiene tres

parámetros

data

es el

byteCode

from es el propietario

en nuestro caso

sólo usamos la

primera

gas el dinero que

cuesta interactuar

en la red

contractInstance utiliza la dirección

deployedContract.address para interactuar

en el blockchain

Page 10: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Probando desde el terminal

Cada vez votamos por un candidato obtenemos una identificación de la transacción:

0xdedc7ae544c3dde74ab5a0b07422c5a51b5240603d31074f5b75c0ebc786bf53

Este identificador de transacción es la prueba de que se ha producido esta transacción y puede

consultarlo en cualquier momento en el futuro.

Esta transacción es inmutable

Page 11: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Probando desde la web

index.html

llama a

index.js

que interactúa

con el blockchain

Page 12: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Probando  desde la web

Page 13: Curso Registro Propiedad. Parte 3 · E le c c i one s 2 0 1 7 T O T A L : 1 30 m i llone s P e r s ona l: 5 5 m i llone s ... Probando desde la web i n d ex. h tml l l ama a i n d

Probando desde la web