Il nostro servizio Web App ti permette di utilizzare la blockchain, come se utilizzassi una normale web-app, e di poter certificare file e creare NFT su blockchain in modo semplice e veloce.
La piattaforma client di Notarizzazione.cloud è una web-app React che risiede sotto il dominio bcode.cloud.
Notarizzazione.cloud utilizza Polygon, una sidechain di Ethereum. I file vengono prima notarizzati su Polygon e successivamente ancorati sulla mainnet di Ethereum. Questo vuol dire che i tuoi file saranno visibili su un blockchain explorer sia di Ethereum sia di Polygon. Etherscan è il principale blockchain explorer di Ethereum.
I blockchain explorer sono i motori di ricerca della blockchain.
Proprio come il motore di ricerca che stai utilizzando in questo momento, ti permettono di cercare, all’interno di una determinata blockchain, le transazioni che sono state effettuate su quella specifica piattaforma, comprese le tue, mediante un hash identificativo.
Durante la creazione dell’account che ti consente di utilizzare la Web App, viene generato un wallet blockchain (Ethereum).
Il wallet è uno strumento fondamentale perchè ti consente di firmare le transazioni, certificare file e poter dimostrare in ogni momento che chi compie queste operazioni è il proprietario di quei file e NFT.
La creazione di un account Notarizzazione.cloud prevede gli stessi step che dovresti compiere per registrarti ad un’applicazione classica, con la compilazione degli abituali campi di profilazione utente in fase di login/autenticazione.
Il punto chiave della creazione del profilo è la gestione del wallet.
Al momento di creazione del profilo, ti verrà richiesto se vuoi importare un tuo wallet personale già esistente o crearne uno nuovo.
Se scegli questa seconda opzione, la generazione del wallet avverrà lato client sul tuo dispositivo tramite ethers.js, in modo da garantire la randomicità totale del wallet calcolato.
Al momento di creazione del profilo dovrai inserire:
Il wallet verrà cifrato sul tuo dispositivo in due versioni, una con password primaria e l’altra con password secondaria.
I wallet cifrati sono salvati e ripristinati lato client ad ogni login dell’applicazione, in modo da rendere Notarizzazione.cloud non custodial e assicurare ad ogni utente la gestione esclusiva del suo wallet.
Una volta attivato l’account e collegato/creato il wallet, l’utente può scegliere se rimanere in pseudo-anonimato (utilizzando cioè solo username e password) o collegare la sua identità all’account.
Nel secondo caso, potrà collegare la sua identità utilizzando un’autenticazione PSD2 con cellulare ed email o firmando digitalmente un pdf che certifica il possesso del wallet ed inviandolo tramite pec.
Questa notarizzazione ha valore legale, attesta cioè giuridicamente il legame tra identità e possesso del wallet. In altre parole, è fondamentale per evitare che, in fase probatoria, il legame tra identità digitale individuale ed indirizzo del wallet venga lasciata alla libera interpretazione del giudice, come avviene invece in caso di pseudo-anonimato.
Notarizzazione.cloud utilizza come blockchain Polygon ed Ethereum.
Polygon è una soluzione permissionless layer2 di Ethereum altamente adottata ed efficiente per velocità e numero di transazioni eseguite. Ecco come funziona.
Quando l’utente notarizza un file, la transazione avviene su Polygon e successivamente, tramite i meccanismi di checkpoint forniti dai validatori di Polygon, sulla mainnet di Ethereum.
Viene eseguita direttamente dal wallet dell’utente, lato client.
Di solito, le piattaforme di notarizzazione file su blockchain utilizzano un database centralizzato per salvare i file. Ecco cosa rende unica e più efficiente Notarizzazione.cloud: i documenti notarizzati tramite la nostra piattaforma sono archiviati sul database decentralizzato IPFS.
L’intero processo di notarizzazione e caricamento del file sul nodo IPFS avviene lato client. Da qui i dati delle relative response vengono inviati al server di Notarizzazione.cloud, che si occupa poi di salvare i riferimenti degli indirizzi IPFS del file e i dati della transazione.
Lato interfaccia, l’utente ottiene una ricevuta di avvenuta transazione, con i dati verificabili sia su Polygon che Ethereum e il CID di riferimento di IPFS.
Per certificare un file, di qualunque tipo (tracce audio, testi, immagini…), l’utente deve solo caricare il file su Notarizzazione.cloud, inserire titolo e descrizione e confermare la richiesta di notarizzazione.
Si attiva così lo smart contract scritto e deployato da BCode, che emette l’evento contenente l’hash del documento notarizzato.
L’utente riceve una prima conferma di notarizzazione su Polygon. Già in questa fase può scaricare la ricevuta di avvenuta notarizzazione e vedere il file su Notarizzazione.cloud, nell’archivio dei file notarizzati.
Successivamente, il file viene notarizzato sulla mainnet di Ethereum.
In modo autonomo e in ogni momento, l’utente potrà verificare la corretta certificazione del file da un blockchain explorer, come quelli di Ethereum, ad esempio Etherscan, o altri indipendenti da Notarizzazione.cloud.
Il punto di forza di una notarizzazione effettuata tramite Notarizzazione.cloud è che avviene completamente sul device dell’utente.
Quando un utente sceglie di notarizzare un documento, la transazione viene gestita localmente sul client insieme al caricamento del documento sul nodo IPFS.
I dati contenuti nella receipt della transazione e l’indirizzo IPFS del documento verranno poi inviati al backend di Notarizzazione.cloud per essere salvati.
Con Notarizzazione.cloud è possibile creare NFT (ERC721) da associare ad un file e poi decidere se custodirli nel proprio wallet personale, inviarli ai propri contatti o esportarli al di fuori della piattaforma per venderli, regalarli o fare ciò che si ritiene opportuno.
Prima di certificare un file, è anche possibile scegliere il numero di NFT da generare. Una volta creato, ogni file viene associato al suo NFT e resta di proprietà dell’utente, fin quando non sarà l’utente stesso a cederlo o venderlo.
Il report è una ricevuta di notarizzazione che fornisce all’utente tutte le informazioni necessarie per
verificare indipendentemente che il file sia stato notarizzato correttamente, mediante un explorer di
Polygon o Ethereum, e visualizzare il file su IPFS.
Una volta che i dati sono stati notarizzati su Polygon e Ethereum, Notarizzazione.cloud fornisce un report di avvenuta notarizzazione, che contiene queste informazioni:
Una volta caricato il file e inseriti titolo e descrizione, puoi scegliere di utilizzare l’opzione multi-firma di un file e permettere così ai tuoi contatti di firmare i file in maniera congiunta, sicura e senza imbrogli.
Utilizzando l’opzione multi-firma viene deployato un contratto che rappresenta il documento. A questo contratto viene associato l’indirizzo IPFS del documento e gli address dei contatti che devono firmare. Sarà poi compito dei contatti invitati firmare il documento attraverso la web-app.
Questa opzione ti permette di gestire la firma dei tuoi file in maniera totalmente trasparente all’interno della tua rete di contatti.
Con Notarizzazione.cloud puoi scegliere, al momento della notarizzazione di un file, se rendere pubblico o meno il contenuto del documento e poter così gestire i tuoi file e la tua rete di contatti in modo ottimale.
Per proteggere il contenuto di un file, puoi scegliere di cifrarlo:
Se non si vuole notarizzare il file, è sempre possibile notarizzare solo il suo hash, senza dover mai caricare il file su Notarizzazione.cloud.
Ogni modifica fatta al file genera un hash differente, che dunque deve essere nuovamente notarizzato. Si ha così la certezza e garanzia che ogni hash notarizzato corrisponda ad una sola versione del file.
Poiché l’utente è l’unico proprietario del wallet, in caso di smarrimento della password deve procedere così:
Il nostro DB registra vecchio e nuovo address e notarizza l’avvenuto cambio di indirizzo. Identità e account dell’utente vengono collegati al nuovo wallet.
Cosa sono le operazioni? Per operazione si intende una delle azioni principali che possono essere effettuate dall’utente all’interno di Notarizzazione.cloud:
Ognuna di queste azioni corrisponde ad un’operazione.
Quindi creare un file e associare un NFT al file corrisponde a due operazioni.
Se si decide di creare due NFT allora le operazioni saranno due, in quanto un singolo NFT corrisponde a una singola operazione.
In base al piano di abbonamento scelto, si ha a disposizione un determinato numero di operazioni al mese.
Ideando questo sistema, abbiamo dato all’utente totale spazio di manovra nella gestione, in base ai propri bisogni, delle operazioni da effettuare mensilmente.
Nessuna differenza, significano la stessa cosa.
Notarizzazione.cloud non può accedere al tuo wallet in nessun modo.
All’interno del nostro database, infatti, il wallet viene salvato criptato dalla tua password. E tu sei l’unico che conosce la chiave privata per accedervi.
Quando accedi a Notarizzazione.cloud, il tuo wallet viene recuperato, criptato con la tua password.
Notarizzazione.cloud non utilizza nessun database per archiviare i tuoi file.
Non vendiamo spazio su disco né conserviamo alcun documento nei nostri server.
Utilizziamo, infatti, il database decentralizzato IPFS (InterPlanetary File System), protocollo universale di comunicazione per l’archiviazione e la condivisione dei dati decentralizzato e peer-to-peer.
Oltre ad aver sviluppato la web-app Notarizzazione.cloud, BCode fornisce anche il servizio di API per chi avesse già un sistema funzionante e volesse integrare la notarizzazione o la creazione di NFT su blockchain.
Mediante questo servizio, i clienti possono notarizzare dati su blockchain in due differenti modi, fornendo cioè a Notarizzazione.cloud:
In entrambe le opzioni, Notarizzazione.cloud certifica i dati, firmando con il proprio wallet, e restituisce al cliente la conferma di notarizzazione e l’indirizzo del registro IPFS dove i dati notarizzati sono archiviati.
Mediante API, i file e i dati dei clienti vengono notarizzati dal sistema, ossia firmati mediante il wallet di Notarizzazione.cloud.
Oltre al servizio API appena descritto, i clienti hanno anche la possibilità di firmare i dati con il proprio wallet mediante SDK (Software Development Kit).
SDK è il pacchetto di strumenti per la notarizzazione fornito da Notarizzazione.cloud, che contiene un numero maggiore di funzionalità: permette, ad esempio, il calcolo dell’hash dei
file, la cifratura e decifratura dei dati, e l’integrazione delle varie funzioni di notarizzazione in differenti modalità.
Il vantaggio dell’utilizzo del SDK è la possibilità di utilizzare direttamente il proprio wallet per eseguire le notarizzazioni, rendendo così l’integrazione nei sistemi maggiormente personalizzabile.
Un indirizzo pubblico idoneo a contraddistinguere il Wallet, che deriva dalla Chiave Pubblica e che è costituito da un codice alfanumerico.
Una chiave privata costituita da un codice alfanumerico unico (cioè stringhe di caratteri casuali generate matematicamente) che si può considerare come una password che dà accesso al Wallet
Una chiave pubblica, anch’essa consistente in un codice alfanumerico unico che viene generato dalla Chiave Privata tramite una funzione crittografica.
“Content identifier” attribuito da IPFS a un determinato File Digitale mediante funzioni crittografiche di Hash.
Algoritmo di cifratura a blocchi con chiavi simmetriche (private) o asimmetriche (una pubblica per cifrare e una privata per decifrare) di lunghezza prestabilita che consentono di “nascondere” il contenuto di un dataset, trasformandolo in una sequenza di numeri e lettere, che solo chi conosce le chiavi private (e quindi segrete) è in grado di decifrare.
File digitali di qualsiasi formato (testo, immagine, file musicale ecc.).
Modalità di sottoscrizione ai sensi degli artt. 1, lett. (s), e 24 del D.Lgs. 7 marzo 2005, n. 82.
Soggetti individuati dall’Utente per la raccolta delle relative firme sul File Digitale mediante il Wallet, in caso di Validazione Multi Firma.
Funzione della Piattaforma che consente, tramite Crittografia eseguita con la Chiave Pubblica, di rendere non visibile al pubblico, inclusi gli altri utenti, il contenuto del File Digitale, nonché il titolo e la descrizione che l’Utente ha inserito su IPFS in fase di caricamento del file sul registro decentralizzato.
Funzione della Piattaforma che consente di memorizzare su Blockchain soltanto l’Hash del File Digitale e non il File Digitale stesso, così che quest’ultimo non sia in alcun modo accessibile a soggetti diversi dal possessore del File Digitale.
“Impronta digitale” del File Digitale, ottenuta tramite una funzione crittografica che trasforma un dataset, a prescindere dalla relativa dimensione, in un codice alfanumerico unico con lunghezza predefinita.
Congiuntamente o disgiuntamente, Identificazione per PEC e Identificazione per Cellulare.
Modalità di identificazione dell’Utente tramite Notarizzazione.cloud, che prevede la richiesta, tramite la Piattaforma, di un codice pin a 6 cifre (di cui 3 vengono inviate al numero di cellulare e 3 all’indirizzo e-mail che l’Utente stesso ha comunicato a BCode), e il suo successivo inserimento su Notarizzazione.cloud.
Modalità di identificazione dell’Utente tramite Notarizzazione.cloud, che prevede la richiesta, tramite la Piattaforma, di creazione di una Scheda Utente, che l’Utente stesso deve poi sottoscrivere a mezzo di una valida Firma Digitale ed inviare firmata dal proprio indirizzo PEC all’indirizzo PEC di BCode.
Registro distribuito decentralizzato InterPlanetary File System
“Non fungible tokens” associati al File Digitale, cioè cripto-attività formate da una serie univoca di informazioni digitali registrate all’interno di una Blockchain, che incorporano un diritto non fungibile a favore del loro possessore (e.g. certificati che attestano la titolarità di un determinato bene a favore del proprietario del relativo NFT), e che possono essere conservati in wallet operanti su Blockchain ovvero ceduti o scambiati su piattaforme terze di cd. “exchange”.
Piattaforma Blockchain Polygon-Matic, sidechain di Ethereum.
Scrittura privata che fa piena prova, fino a querela di falso, della provenienza delle dichiarazioni dal soggetto che l’ha sottoscritta, a patto che colui contro il quale la scrittura è prodotta ne riconosca la sottoscrizione ovvero se questa è legalmente considerata come riconosciuta, ai sensi e per gli effetti dell’art. 2702 c.c.
La scheda contenente l’indicazione della Chiave Pubblica, dell’Address e dei dati anagrafici e/o societari dell’Utente, predisposta da BCode ai fini dell’Identificazione per Pec dell’Utente.
Programma per elaboratore, che opera su Tecnologie Basate su Registri Distribuiti, e la cui esecuzione vincola automaticamente due o più parti sulla base di effetti predefiniti dalle stesse (cfr. art. 8 ter, comma 2, del Decreto Semplificazioni 2018).
Tecnologie e protocolli informatici che usano un registro condiviso, distribuito, replicabile, accessibile simultaneamente, architetturalmente decentralizzato su basi crittografiche, tali da consentire la registrazione, la convalida, l’aggiornamento e l’archiviazione di dati sia in chiaro che ulteriormente protetti da crittografia verificabili da ciascun partecipante, non alterabili e non modificabili (cfr. art. 8 ter, comma 2, del Decreto Semplificazioni 2018).
Tecnologie Basate sui Registri Distribuiti di soggetti terzi, quali IPFS, Polygon ed Ethereum.
Serie di informazioni digitali registrate su Tecnologie Basate su Registri Distribuiti e rappresentative di una qualche forma di valore o di diritto, come, a titolo esemplificativo, la proprietà di un asset, la veridicità di un’informazione, l’accesso ad un servizio, l’attestazione di ricezione di un pagamento o l’attestazione dell’esistenza di un fatto o di un evento.
Congiuntamente e disgiuntamente, Validazione File Digitale, Validazione NFT e Validazione Multi Firma.
Memorizzazione su Blockchain del File Digitale con indicazione di data e ora di tale memorizzazione, utile anche a dimostrare in un momento successivo che il File Digitale non sia stato modificato.
Memorizzazione su Blockchain delle firme raccolte mediante Wallet sul File Digitale sia dell’Utente che dei Firmatari, con indicazione della data e dell’ora di raccolta di ciascuna sottoscrizione, utile anche a dimostrare in un momento successivo che il File Digitale firmato da ogni singolo Firmatario non sia stato modificato.
Memorizzazione su Blockchain di ciascun NFT con indicazione della data e ora di tale memorizzazione, per dimostrare in un momento successivo che l’NFT non sia stato modificato.
“Wallet Ethereum”, cioè portafoglio digitale su Ethereum caratterizzato da un proprio Address, che attribuisce all’Utente un’identità crittografica accessibile mediante un meccanismo a doppia chiave: la Chiave Privata, che si può considerare come una password che dà accesso al Wallet, e la Chiave Pubblica.
Scarica la nostra Documentazione Tecnica per scoprire come funzionano nel dettaglio i nostri servizi e come viene utilizzata la tecnologia blockchain.
Se stai riscontrando qualche problema con uno dei nostri servizi e ti serve una mano compila il form, specificando il problema, e sarai contattato il prima possibile.