Takamaka Blockchain interamente costruita su Java

Share it in your socials. Thank you.

Blockchain Java

Takamaka è una Blockchain Java che ha scelto Java per programmare l’intera infrastruttura della blockchain: dal nodo ai contratti intelligenti l’unica cosa da sapere è Java.

Grazie alla sua usabilità e alla familiarità con il codice d’uso, Java è un linguaggio amichevole e l’approccio per chi avvia idee e progetti in blockchain è accessibile alla maggior parte degli sviluppatori e delle aziende

Giovanni Antino, CTO di Takamaka, spiega perchè Takamaka è un’infrastruttura blockchain totalmente sviluppata in Java.

“Java è il linguaggio di programmazione creato da Sun Microsystems nel 1995 che si assicura, secondo GitHub, il secondo posto nel podio dei migliori linguaggi di programmazione del 2020”.

“Considerato uno dei linguaggi più stabili, completi ed affidabili per costruire sistemi complessi. Una delle peculiarità è che una volta scritto il codice, questo può essere eseguito senza necessità di ricompilazione: Java è indipendente dalla piattaforma su cui gira”. Dice ancora Antino, CTO in Takamaka.io,

Considerando le sue caratteristiche e la sua popolarità — vi sono circa 9 milioni di sviluppatori Java in tutto il mondo — Java è stato utilizzato anche nel settore blockchain per la programmazione e lo sviluppo dell’infrastruttura peer-to-peer. 

Blockchain interamente costruita su JAVA

Una blockchain interamente costruita su questo linguaggio è Takamaka, piattaforma di terza generazione che consente la gestione simultanea di due monete digitali: il token verde (TKG) e il token rosso (TKR).

Come spiegato sul sito ufficiale del progetto (Takamaka.io), Takamaka è una blockchain Java Full Stack. Questo indica che Java è l’unico codice utilizzato per la programmazione e l’amministrazione dell’intera infrastruttura: dalla gestione dei nodi agli smart contract.

Un progetto creato su Java si inserisce all’interno dell’ecosistema senza impattare il workflow esistente. Questo accade poiché Java è un linguaggio di programmazione indipendente rispetto alla piattaforma su cui viene costruito. Inoltre, Java si inserisce perfettamente all’interno di ogni ambiente aziendale, si pensi che questo è uno dei primi linguaggi a cui le aziende dedicano le prime ore di formazione dei loro dipendenti.

Il team sta progettando la creazione di un portale dedicato a sviluppatori e programmatori, per la raccolta e l’organizzazione di materiale informativo come tutorial di sviluppo, documentazione e guide all’integrazione. Nella sezione “Documentazione” del sito (https://takamaka.dev/) è possibile vedere un’anteprima del portale.

Blockchain Java e Open Source

La blockchain Takamaka è stata progettata per diventare completamente open source. A partire dall’inizio dei lavori, nel 2018 stiamo progressivamente rendendo di pubblico dominio la documentazione, le specifiche e i core software.

Questo processo porterà, per la fine dell’anno corrente, a rilasciare sotto licenza open source, il codice dei componenti principali della blockchain:
  • nodo
  • wallet pc
  • api
Per quanto riguarda i wallet app questi sono soggetti ad alcune restrizioni di licenza imposte dallo store di pubblicazione (Google Play per android e App Store per IOS).  Le correnti restrizioni di accesso al sorgente delle applicazioni sono dovute al processo di revisione e bug fixing necessari ad innalzare il livello di sicurezza delle componenti core.

Java Open standard

La firma delle transazioni, la verifica di integrità, e la firma dei blocchi sono tutte basate su standard pubblici e implementate a partire da librerie open source. Per il server core sono state impiegate le Bouncy Castle Crypto APIs
Come algoritmi di firma:
Come algoritmi di hashing
  • SHA3 (512, 384, 256)
  • SHAKE
  • RIPEMD-160
L’intera specifica degli standard utilizzati e la loro documentazione può essere consultata a questo indirizzo:

Blockchain con estrema acilità di integrazione

I server che compongono la rete esportano le API REST native per ridurre al minimo il lavoro di integrazione delle applicazioni che devono essere integrate. L’intera API è disponibile a questo indirizzo:

https://takamaka.dev/docs/ApiNode

White-Label

La natura aperta del network e la sua progettazione inclusiva garantiscono a priori la non esclusione di un operatore dall’uso del network pubblico. I componenti core sono tutti scritti in Java e non sono legati ad alcun particolare IDE.

Con il rilascio della versione open source completa sarà possibile modificare in modo completo e radicale l’interfaccia dei componenti per poterli adattare ai propri casi d’uso sostituendo anche il brand Takamaka.io

Smart Contract

Gli smart contract sono stati costruiti in modo da essere slegati dal layer di generazione dei blocchi e non dover rispettare i constrains temporali estremamente stretti del livello base della blockchain.

In questo modo è possibile richiedere esecuzioni estremamente complesse ed implementare logiche avanzate.

Per quanto riguarda i tempi di esecuzione medi, i nodi sono incentivati ad eseguire il più rapidamente possibile un contratto e ad ottimizzare le chiamate.

Il protocollo di esecuzione smart contract costituito dai seguenti step:
  1. raggruppamento delle chiamate a smart contract in un’unica transazione di request
  2. inclusione della transazione di request nel blocco
  3. validazione da parte della maggioranza relativa dei nodi:
    non è necessario attendere che tutti votino, una volta che il voto non è più ribaltabile (es. 50%+1), tutti gli smat-contract del blocco sono considerati risolti e i risultati pubblicati.

Questo meccanismo premia solo i nodi più veloci e non chi submitta un voto dopo il raggiungimento del quorum.

Gli smart contract sono eseguiti in modo asincrono su thread separate dal processo principale. Tutto questo serve a ottimizzare i tempi medi di esecuzione e inquadrarli in una finestra di 2 o 3 blocchi (tra 1 minuto e 1 minuto e 30).

Per gli sviluppatori

Stiamo lavorando alla creazione di un portale dedicato alla raccolta e organizzazione di:
  • tutorial per lo sviluppo
  • documentazione
  • guide all’integrazione
in questa sezione saranno caricate le guide per l’avvio e il test delle applicazioni sviluppate

Per maggiori informazioni su come sviluppare una blockchain utilizzando Java, si può contattare il team al seguente indirizzo: info@takamaka.io

Visita e incontra la community

Telegram: https://t.me/takamaka_io_ita
Facebook: https://www.facebook.com/Takamaka.io
Twitter: https://www.facebook.com/Takamaka.io
Medium: https://medium.com/takamaka

 
Resta aggiornato con la Newsletter Settimanale