WalletPlace

SDK

Programma Associazioni

Press

Road Map

Assistenza

Qui puoi trovare tutte le risposte alle tue domande!
Per scoprire nel dettaglio come funziona Notarizzazione.cloud scarica la nostra Documentazione Tecnica.

Servizio Web App

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:

  • la password primaria, per la protezione del tuo account, che funziona come una password classica e il cui hash verrà quindi salvato sui nostri server
  • la password secondaria, di tua conoscenza esclusiva, che ti sarà utile in caso di reset delle password di accesso 

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:

    • Titolo notarizzazione: titolo del file notarizzato.
    • Hash del file, che è stato notarizzato. L’hash del file viene calcolato prima della notarizzazione. In questo modo qualsiasi modifica fatta al file produrrà un hash differente.
    • Indirizzo IPFS del file, per poter cercare il file sul registro universale IPFS.
    • Transazione Matic (Polygon):
      • Indirizzo mittente: indirizzo del wallet dell’utente.
      • Indirizzo destinatario: indirizzo del wallet del destinatario (smart contract)
      • Hash transazione
      • Numero blocco: numero del blocco all’interno del quale viene inserita la transazione.
      • Hash blocco: hash del blocco aggiunto alla rete.
    • Transazione Ethereum:
    • Indirizzo mittente: indirizzo del wallet dell’utente.
    • Indirizzo destinatario: indirizzo del wallet del destinatario (smart contract)
    • Hash transazione
    • Numero blocco: numero del blocco all’interno del quale viene inserita la transazione.
    • Hash blocco: hash del blocco aggiunto alla rete.

 

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:

  • con una password, tramite un algoritmo di cifratura simmetrico, e dare la possibilità di visionare il documento solo ad altri utenti in possesso della password
  • in modo asimmetrico con la chiave pubblica del wallet in modo da rendere la consultazione del documento possibile solo all’autore.

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ì:

  1. Se perde la prima password, può recuperarla tramite l’interfaccia dell’applicazione, utilizzando la password secondaria per accedere nuovamente a account e wallet
  2. Se perde entrambe le password, deve effettuare il reset della password e la generazione di un nuovo wallet

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:

  • Certificare un file
  • Creare un NFT
  • Scambiare/esportare un NFT

 

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.

Servizio API

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:

  1. direttamente i dati che vogliono notarizzare
  2. l’hash dei dati che intendono notarizzare

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.

Glossario

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 ora la Documentazione Tecnica

Scarica la nostra Documentazione Tecnica per scoprire come funzionano nel dettaglio i nostri servizi e come viene utilizzata la tecnologia blockchain. 

Contattaci

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.

About

Notarizzazione.cloud è un servizio fornito da BCode, società di sviluppo software specializzata nel campo della tecnologia blockchain.

BCode

Via Flumendosa, 18
20132 Milano (MI) – Italia
info@bcode.cloud
P. IVA 11514730966
SDI X2PH38J

Documentazione tecnica

Scarica il PDF della documentazione tecnica di Notarizzazione.cloud per scoprire di più sul funzionamento tecnico.