# Cadena de blocs

Una cadena de blocs (anglès: blockchain), també coneguda per les sigles BC, és una base de dades distribuïda, formada per cadenes dissenyades per evitar-ne la modificació un cop que una dada ha estat publicada; emprant un segellat de temps confiable i enllaçant a un bloc anterior. Per aquesta raó, és especialment adequada per emmagatzemar de forma creixent dades ordenades en el temps i sense possibilitat de modificació ni revisió. Les dades emmagatzemades en la cadena de blocs normalment solen ser transaccions (Ex. financeres); per això, és freqüent anomenar a les dades, transaccions. No obstant, no és necessari que ho siguin. Realment podríem considerar que el que es registren són canvis atòmics de l'estat del sistema. Per exemple, una cadena de blocs pot ser usada per estampillar documents i securitzar-los enfront d'alteracions. La tècnica ja es va aplicar l'any 2000 amb el naixement de la xarxa Freenet, i el terme fou emprat el 2009 per Bitcoin.
Aquesta tecnologia serveix per a solucionar el problema de la confiança mitjançant la cooperació per a aconseguir objectius comuns. Utilitza matemàtiques avançades, criptografia, llenguatges de programació i la tecnologia de llibre de comptabilitat distribuïda (un tipus de computació).

## Característiques

Aquest enfocament té diferents propietats:
* Emmagatzematge de dades: s'aconsegueix mitjançant la replicació de la informació de la cadena de blocs.
* Transmissió de dades: s'aconsegueix mitjançant peer-to-peer.
* Confirmació de dades: s'aconsegueix mitjançant un procés de consens entre els nodes participants. El tipus d'algorisme més utilitzat és el de prova de treball en el qual hi ha un procés obert competitiu i transparent de validació de les noves entrades anomenada mineria.

## Classificació

Les cadenes de blocs es poden classificar basant-se en l'accés a les dues dades emmagatzemats en la mateixa:
* Cadena de blocs pública: és aquella en la qual no hi ha restriccions ni per llegir les dades de la cadena de blocs (els quals poden haver estat xifrats) ni per enviar transaccions perquè siguin incloses en la cadena de blocs.
* Cadena de blocs privada: és aquella en la qual tant els accessos a les dades de la cadena de bloc com l'enviament de transaccions per ser incloses, estan limitades a una llista predefinida d'entitats.
Tots dos tipus de cadenes han de ser considerades com a casos extrems podent haver-hi casos intermedis.
Les cadenes de blocs es poden classificar basant-se en els permisos per a generar blocs en la mateixa :
* Cadena de blocs sense permisos: és aquella en la qual no hi ha restriccions perquè les entitats puguin processar transaccions i crear blocs. Aquest tipus de cadenes de blocs necessiten tokens nadius per a proveir incentius que els usuaris mantinguin el sistema. Exemples de tokens nadius són els nous bitcoins que s'obtenen en construir un bloc i les comissions de les transaccions. La quantitat recompensada per a crear nous blocs és una bona mesura de la seguretat d'una cadena de blocs sense permisos.
* Cadena de blocs amb permisos: és aquella en la qual el processament de transaccions està desenvolupat per una llista predefinida de subjectes amb identitats conegudes. Per això generalment no necessiten tokens nadius. Els tokens nadius són necessaris per a proveir incentius per als processadors de transaccions. Per això és típic que usin com a protocol de consens la prova de participació.
Les cadenes de blocs públiques poden ser sense permisos (ex. Bitcoin) o amb permisos (ex. cadenes federades). Les cadenes de blocs privades han de ser amb permisos. Les cadenes de blocs amb permisos no han de ser privades, ja que hi ha diferents formes d'accedir a les dades de la cadena de blocs com per exemple:
* Llegir les transaccions de la cadena de blocs, potser amb algunes restriccions (exemple un usuari pot tenir accés només a les transaccions en les quals està involucrat directament).
* Proposar noves transaccions per a la inclusió en la cadena de blocs.
* Crear nous blocs de transaccions i afegir-ho a la cadena de blocs.
Mentre que la tercera forma d'accés en les cadenes de blocs amb permisos està restringida per a cert conjunt limitat d'entitats, no és obvi que la resta d'accessos a la cadena de blocs hauria d'estar restringit. Per exemple, una cadena de blocs per a entitats financeres seria una cadena amb permisos, però podria:
* Garantir l'accés de lectura (potser limitada) per a transaccions i capçaleres de blocs per als seus clients amb l'objectiu de proveir una tecnològica, transparent i fiable, una forma d'assegurar la seguretat dels dipòsits dels seus clients.
* Garantir l'accés de lectura complet als reguladors per a garantir el necessari nivell de compliment.
* Proveir a totes les entitats amb accés a les dades de la cadena de blocs una descripció exhaustiva i rigorosa del protocol, el qual hauria de contenir explicacions de totes les possibles interaccions amb les dades de la cadena de blocs.

## Cadena lateral

Una cadena lateral, en anglès sidechain, és una cadena de blocs que valida dades des d'una altra cadena de blocs anomenada principal. La seva utilitat principal és poder aportar funcionalitats noves, les quals poden estar en període de proves, recolzant-se en la confiança oferta per la cadena de blocs principal. Les cadenes laterals funcionen de forma similar a com es feien les monedes tradicionals amb el patró or.
Un exemple de cadena de blocs que usa cadenes laterals és Lisk. Atesa la popularitat de Bitcoin i l'enorme força de la seva xarxa per a donar confiança mitjançant el seu algorisme de consens com a prova de treball, es vol aprofitar com a cadena de blocs principal i construir cadenes laterals vinculades que es recolzin en ella. Una cadena lateral vinculada és una cadena lateral els actius de la qual poden ser importats bidireccionalment amb l'altra cadena. Aquest tipus de cadenes es pot aconseguir de les següents formes :
* Vinculació federada, en anglès federated peg. Una cadena lateral federada és una cadena lateral en la qual el consens és aconseguit quan cert nombre de parts estan d'acord (confiança semicentralitzada). Per tant, hem de tenir confiança en certes entitats. Aquesta és el tipus de cadena lateral Liquid, de codi tancat, proposta per Blockstream.
* Vinculació SPV, en anglès SPV peg on SPV ve de Simplified Payment Verification. Usa proves SPV. Essencialment una prova SPV està composta d'una llista de capçaleres de bloc que demostren prova de treball i una prova criptogràfica que una sortida va ser creada en un dels blocs de la llista. Això permet als verificadors verificar que certa quantitat de treball ha estat realitzada per a l'existència de la sortida. Per tant, no cal confiança en terceres parts. És la forma ideal. Per aconseguir-la sobre Bitcoin l'algorisme ha de ser modificat i és difícil aconseguir el consens per a tal modificació. Per això s'usa amb bitcoin vinculació federada com a mesura temporal.

## Aplicacions

El concepte de cadena de blocs és usat en els següents camps:
* En el camp de les criptomonedes la cadena de blocs s'usa com a notari públic no modificable de tot el sistema de transaccions, a fi d'evitar el problema que una moneda es pugui despendre dues vegades. Per exemple, és usada en Bitcoin, Ethereum, Dogecoin i Litecoin, encara que cadascuna amb les seves particularitats.
* En el camp de les bases de dades de registre de noms la cadena de blocs és usada per a tenir un sistema de notari de registre de noms; de tal forma, que un nom únic pugui ser utilitzat per identificar l'objecte que el té efectivament registrat. És una alternativa al sistema tradicional de DNS. Per exemple, és usada en Namecoin. També es pot emprar en procesos electorals per a aconseguir un cens universal, és a dir, una base de dades segura que només es pot votar un sol cop.
* Ús com a notari distribuït en diferents tipus de transaccions fent-les més segures, barates i rastrejables. Per exemple, s'usa per a sistemes de pagament, transaccions bancàries (dificultant el blanqueig de diners), enviament de remeses i préstecs.
* És utilitzat com a base de plataformes descentralitzades que permeten suportar la creació d'acords de contracte intel·ligent entre parells. L'objectiu d'aquestes plataformes és permetre a una xarxa de parells administrar els seus propis contractes intel·ligents creats pels usuaris. Primer s'escriu un contracte amb un codi i es puja a la cadena de blocs mitjançant una transacció. Una vegada en la cadena de blocs el contracte té una adreça des de la qual es pot interactuar amb ell. Exemples d'aquest tipus de plataformes són Ethereum i Eris.

## Referències

* ↑ 324cat «El govern i la seva "revolució" de la "blockchain" per la identitat digital dels catalans». CCMA.
* ↑ Economist Staff «Blockchains: The great chain of being sure about things». The Economist, 31-10-2015. «[Subtitle] The technology behind bitcoin lets people who do not know or trust each other build a dependable ledger. This has implications far beyond the crypto currency.»
* ↑ Morris, David Z. «Leaderless, Blockchain-Based Venture Capital Fund Raises $100 Million, And Counting». Fortune (revista), 15-05-2016 [Consulta: 23 maig 2016].
* ↑ Popper, Nathan «A Venture Fund With Plenty of Virtual Capital, but No Capitalist». New York Times, 21-05-2016 [Consulta: 23 maig 2016].
* ↑ «Bitcoin: A Primer for Policymakers». Fairfax, VA: Mercatus Center, George Mason University, 2013. Arxivat de l'original el 21 de setembre 2013.
* ↑ Trottier, Leo. «original-bitcoin» (self-published code collection). github, 18-06-2016. «This is a historical repository of Satoshi Nakamoto's original bit coin sourcecode»
* ↑ «Blockchain». [Consulta: 19 març 2016]. «Based on the Bitcoin protocol, the blockchain database is shared by all nodes participating in a system.»
* ↑ «What is blockchain? - IBM Blockchain» (en anglès). https://www.ibm.com,+04-10-2017.+[Consulta: 6 octubre 2017].
* ↑ «Blockchain Is Like the Trump Presidency Because...». Psychology Today. Sussex Publishers. [Consulta: 2 abril 2018].
* ↑ Public versus Private Blockchains.
* ↑ Digital Assets on Public Blockchains.
* ↑ La revolución de la tecnología de las cadenas de bloques y su impacto en los sectores económicos.
* ↑ Enabling Blockchain Innovations with Pegged Sidechains.
* ↑ Cadenas laterales: el gran salto adelante.
* ↑ Lisk libera la primera criptomoneda modular con cadenas laterales.
* ↑ Liquid Recap and FAQ.

## Vegeu també

* Hashcash
* Criptomoneda
* Llenguatge de programació Solidity
* Telèfons mòbils basats en Blockchain: SIRIN LABS.

## Bibliografia

* An Integrated Reward and Reputation Mechanism for MCS Preserving Users' Privacy. Cristian Tanas, Sergi Delgado-Segura, Jordi Herrera-Joancomartí. 4 de febrer de 2016. Data Privacy Management, and Security Assurance. 2016. (anglès)

## Enllaços externs

* The API Hour: Blockchain Day (esdeveniment complet). BBVA Innovation Center. 21 d'abril de 2016