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...
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022071101/5fda9edbf35a643bca2fc344/html5/thumbnails/13.jpg)
Probando desde la web