Category Archives: Blockchain

setting up an Ethereum private chain in Mac OS X

Prerequisiti:
XCodeHomebrew, e ovviamente geth (go-ethereum).
Create il file genesis JSON come da istruzioni su Ethereum wiki – test networks e aprite un Terminal:

1
2
geth --datadir "/Users/you/Library/Ethereum_privateChain" 
init "/Users/you/Library/Ethereum_privateChain/genesis.json"

datadir è fondamentale. Se avete già installato in precendenza Ethereum Wallet avrete una directory dove è stata scaricata una copia (o le copie) della blockchain. Se non ne specificate una differente in questo modo, verrà sovrascritto tutto. Occhio.

init fa il vero e proprio boostrap della vostra chain. È avviata, ma manca il primo account. Aprite la console JavaScript in un altro terminal:

1
geth --ipcpath /Users/you/Library/Ethereum/geth.ipc

Create il primo account – o coinbase.

1
personal.newAccount()

Vi chiederà la creazione e la conferma della pw ed al contempo genererà il keystore, la chiave privata per il nuovo address. Vi manca qualche eth per deployare e testare i vostri contratti, quindi minatene alcuni in questo modo:

1
miner.start()

In pochi secondi avrete decine di eth al vostro coinbase.

1
miner.stop()

Controllate il vostro nuovo saldo:

1
web3.eth.getBalance("your_newly_generated_address")

Fatto. Adesso potete usare Ethereum Wallet: punterà alla vostra private chain.

Altro terminal:

1
2
/Applications/Ethereum\ Wallet.app/Contents/MacOS/Ethereum\ Wallet 
--ipcpath /Users/you/Library/Ethereum/geth.ipc

Il wallet si aprirà mostrandovi chiaramente che è collegato ad una PRIVATE-NET.
Il processo non è stato immediato per me, spero con questo breve post di riuscire a risparmiarvi minuti e minuti di hacking.

colorChain

Ecco la mia prima DApp: colorChain. Per realizzarla ho usato Meteorweb3.js e le API Etherscan; colorChain è una lista di cards colorate che rappresentano i cambiamenti di stato (colore) di uno smart contract in esecuzione sulla rete di test Ethereum (Ropsten Test Net) e permette la selezione di un nuovo colore da aggiungere alla lista; è solo il primo passo, ma contiene tutti gli ingredienti di base per realizzare la prossima generazione di applicazioni serverless, decentralizzate ed instoppabili.

colorChain funziona sulla test net con Chrome e MetaMask o con il Mist browser, non è priva di bug e va intesa come PoC quindi la regola generica per questa release è che se qualcosa non dovesse funzionare… ricaricare la DApp.

Se vi interessa capire come cominciare con Solidity e l’ecosistema Ethereum, questo ottimo corso via blockgeeks fa per voi..

2017 is the year when the ethereum conversation changes from being about the price of ETH, to “have you used the latest DApp?”
— PB

The DAO Hack

Si conclude così (-66%) la mia impulsiva partecipazione (e altrettanto impulsivo bail out) al più finanziato e discusso progetto di crowdfounding della storia, ($150 milioni) il DAO – Decentralized Autonomous Organization.

Già da tempo, un pò per lavoro ed un pò per cultura personale, seguo con grande interesse il fermento nel campo del fin-tech, in particolare Bitcoin e blockchain. Per toccare con mano l’inarrestabile evoluzione della sharing economy ed in particolare la rivoluzione in atto nel mondo della finanza ho voluto testare varie piattaforme di trading, di exchange e di crowdfounding; poco meno di due mesi fa poi, ho scoperto Ethereum e di conseguenza il DAO, la next-generation organisation that will change the way we create products and share profit.

Lo scopo di questo post è tener traccia – in uno dei miei soliti monologhi – della mia partecipazione ad un progetto avveniristico, globale, aperto e democratico, colpito a pochi giorni dalla nascita da un hack milionario al quale è seguito un contro-hack da film di fantascienza. Quello che mi ha spinto a partecipare è stato sia il meccanismo di generazione delle shares – sotto forma di smart contracts – sia (più importante) il manifesto del DAO: trasparenza, democrazia, decentralizzazione, non-esclusione, partecipazione volontaria e diritto all’anonimato, resi possibili dal fatto che il software – esattamente per come è scritto  – rappresenti una nuova forma di legge. Una legge comprensibile sia agli esseri umani che ai computers e per mezzo del quale definire, verificare ed eseguire contratti, regole e modalità di interazione tra individui, organizzazioni e smart objects.

The DAO consists of the sum of those holding the DAO’s representative tokens.

Questo nuovo tipo di contratto non può essere impugnato e discusso nei tribunali, le leggi che lo regolano non possono essere interpretate, è sempre uguale e sempre vero per tutti (è deterministico) e risiede sulla blockchain. Per questo ha caratteristiche uniche e impossibili da immaginare solo 10 anni fa: è immutabile, instoppabile e incensurabile. Non c’è intervento umano che possa cambiare lo stato del contratto, salvato in milioni di copie,  pubblico e decentralizzato, il cui risultato è sempre certo e tanto più indelebile quanto più passa il tempo.

Stiamo già vivendo la rivoluzione della sharing economy. Siamo sempre più connessi, dipendiamo sempre di più da ciò che Internet rende possibile in termini di servizi, comunicazione, finanza personale. Gli oggetti di uso comune (auto, droni, case, treni) acquisiranno sempre più autonomia, potranno comunicare tra loro e sfruttare dati aggregati da altri servizi per rendere il nostro mondo – finalmente – un po più equo, privo di intermediari e Big Co. Tutto questo però necessita di una Internet of Money, un sistema sicuro, anonimo, trasparente e decentralizzato che possa abilitare e garantire lo scambio di valuta e valore.

Money is simply the latest frontier for the Internet.

Bitcoin e la sua blockchain ($10.45B di capitalizzazione) sono in pole position per abilitare i prossimi 4 miliardi di non e under bancarizzati a partecipare a questo nuovo mondo;  Ethereum è più giovane ($1B di capitalizzazione), e a differenza di Bitcoin le transazioni non sono limitate al trasferimento di valore da A e B, ma servono anche a pagare l’esecuzione di codice e variazioni di dati in memoria sulla blockchain. Ethereum è un progetto open source mantenuto e sviluppato da una larghissima community che ha dimostrato – proprio in questi giorni – grande coesione, coordinazione e creatività.

Regolamentare tutto questo in termini giuridici e di diritto è una delle sfide più impellenti, oltre a quello di garantire la sicurezza dei sistemi decentralizzati; qualcuno anni fa mi disse che la professione del futuro sarebbe stata l’avvocato. Credo proprio avesse ragione.