"Vuoi una mano? Sei mal ridotto? Sei fortunato, abbiamo le FAQ"

Un’altra semi Cit.

Pablock Web-app

Pablock è una web-app che ti permette di utilizzare la blockchain in maniera semplice, come utilizzare una normalissima web-app. Con Pablock puoi certificare file e creare NFT su blockchain velocemente.

La piattaforma client di Pablock è una web-app React che risiede sotto il dominio bcode.cloud.

Pablock 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 dei motori di ricerca della blockchain. Proprio come il motore di ricerca che stai utilizzando in questo momento, i blockchain explorer ti permettono di cercare, all’interno di una determinata blockchain, le transazioni effettuate su quella blockchain, quindi anche le tue, mediante un hash identificativo

Per utilizzare Pablock, durante la creazione dell’account viene generato un wallet blockchain (Ethereum), per poter firmare le transazioni e certificare file. Il wallet dimostra anche che chi firma le transazioni, e dunque certifica file e crea NFT, è il proprietario di quei file e NFT.

La creazione di un account Pablock avviene come in una classica applicazione: verranno richiesti i
classici campi per la profilazione dell’utente in fase di login / autenticazione. Il punto chiave della
creazione del profilo è la gestione del wallet. Infatti, durante la creazione del profilo, verrà richiesto
all’utente se importare un wallet già esistente e in possesso dell’utente, oppure se scegliere di crearne
uno nuovo. La generazione del wallet avviene lato client sul dispositivo dell’utente tramite ethers.js,
garantendo la totale randomicità del wallet calcolato. La creazione del profilo prevede l’inserimento,
oltre della password per la protezione dell’account, anche di una password secondaria e di completa gestione dell’utente. Al momento della registrazione dell’account il wallet verrà cifrato in due versioni,
una con la password primaria e una con la password secondaria, la cifratura avverrà sempre sul
dispositivo dell’utente. I wallet cifrati sono poi salvati e ripristinati lato client ad ogni login
dell’applicazione, rendendo Pablock non custodial e assicurando all’utente la gestione esclusiva del
wallet. La password primaria verrà trattata come una classica password quindi ne viene salvato l’hash
sui nostri server, mentre la password secondaria è detenuta solamente dall’utente e verrà richiesta nel
momento di reset della password per ricostituire il wallet cifrato. 

Dopo aver collegato il wallet con l’account, l’utente può scegliere se rimanere in
pseudo-anonimato (utilizzando solo username e password) oppure se collegare la sua identità
all’account. Per collegare la sua identità l’utente può scegliere di utilizzare un’autenticazione
PSD2 con cellulare ed email, o firmando digitalmente un pdf che certifica il possesso del wallet
ed inviandolo tramite pec. La notarizzazione ha valore legale, il legame tra identità e possesso
del wallet è ciò che permette, in fase probatoria, di non lasciare il legame tra identità digitale di
una persona ed indirizzo del wallet alla libera interpretazione del giudice, come avviene in caso
di pseudo-anonimato.

Pablock utilizza come blockchain Polygon ed Ethereum. Polygon è una soluzione permissionless layer
2 di Ethereum altamente adottata ed efficiente per velocità e numero di transazioni eseguite.
Quando l’utente notarizza un file, la transazione viene eseguita direttamente dal suo wallet lato client.
La transazione principale avviene su Polygon e successivamente, tramite i meccanismi di checkpoint
forniti dai validatori di Polygon, sulla mainnet di Ethereum.
A differenza delle altre piattaforme di notarizzazione file su blockchain che utilizzano un database
centralizzato per salvare i file, i documenti notarizzati tramite Pablock sono archiviati sul database
decentralizzato IPFS. L’intero processo di notarizzazione e caricamento del file sul nodo IPFS avviene
lato client, il quale invierà i dati delle relative response al server di Pablock, che si occuperà di salvare i
riferimenti degli indirizzi IPFS del file e i dati della transazione.
Lato interfaccia l’utente otterrà una ricevuta con i dati verificabili della corretta transazione 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 Pablock, inserire un titolo e una descrizione e confermare la notarizzazione del file, dallo smart
contract scritto e deployato da BCode verrà emesso un evento contenente l’hash del documento
notarizzato. La prima conferma di notarizzazione che l’utente riceve è quella di Polygon. Una volta che
il file viene notarizzato su Polygon, l’utente può scaricare la ricevuta di notarizzazione e il file sarà
sempre visibile su Pablock, nell’archivio dei file notarizzati. Successivamente il file viene notarizzato
sulla mainnet di Ethereum. Inoltre, è possibile verificare, in modo autonomo, la certificazione dei file
da un blockchain explorer di Ethereum, come Etherscan, o qualsiasi altro blockchain explorer
indipendente da Pablock.

Il punto di forza di una notarizzazione effettuata tramite Pablock è 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 ricevuti nella receipt
della transazione e l’indirizzo IPFS del documento verranno poi inviati al backend di Pablock per essere
salvati.

È possibile creare degli NFT (ERC721) da associare ad un file, e da poter inviare ai propri contatti, oppure tenerli
nel proprio wallet, o esportarli al di fuori di Pablock: per regalarli, venderli, o fare quello che l’utente
ritiene più opportuno. Prima di certificare il file si può scegliere il numero di NFT da generare. Una
volta creato, il file sarà associato al suo NFT e rimarrà sempre di proprietà dell’utente, fino a quando
non sarà lo stesso utente 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 vengono notarizzati su Polygon e Ethereum, Pablock fornisce un report della notarizzazione. All’interno di questo documento si possono trovare le seguenti informazioni:

  • Titolo notarizzazione: titolo del file notarizzato.
  • Hash del file: hash del file notarizzato. Prima di essere notarizzato, viene calcolato l’hash del file. In questo modo qualsiasi modifica fatta al file produrrà un hash differente.
  • Indirizzo IPFS: indirizzo IPFS del file per cercare il file su IPFS.
  • Transazione Matic (Polygon):
    • Indirizzo mittente: indirizzo del wallet dell’utente.
    • Indirizzo destinatario: indirizzo del wallet del destinatario (Smart Contract)
    • Hash transazione: hash della 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: hash della 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 un file, dopo aver inserito titolo e descrizione, l’utente può scegliere di utilizzare
l’opzione multi-firma di un file, permettendo ai suoi contatti di firmare i file in maniera congiunta,
sicura e senza imbrogli. Questa opzione ti permette di gestire all’interno della tua rete di contatti la
firma dei tuoi file in maniera totalmente trasparente. Utilizzando l’opzione multi-firma viene deployato
un contratto rappresentante il documento al quale viene associato l’indirizzo IPFS del documento e gli
address dei contatti che devono firmare. Sarà poi compito dei contatti invitati di firmare il documento
attraverso la web-app.

Con Pablock è possibile scegliere, al momento della notarizzazione di un file, se rendere pubblico o
meno, il contenuto del documento. Questa funzione permette di gestire i file e la rete di contatti nel modo più ottimale per l’utente. Infatti, scegliendo di proteggere il contenuto del file è possibile
scegliere di cifrarlo con una password, tramite un algoritmo di cifratura simmetrico, e dare la
possibilità di visionare un documento da parte di un altro utente solo se in possesso della password;
oppure è possibile cifrare in modo asimmetrico con la chiave pubblica del wallet in modo da rendere la
consultazione del documento possibile all’autore. 

Se non si vuole notarizzare il file, è sempre possibile notarizzare solo l’hash del file, senza dover mai
caricare il file su Pablock. Ogni modifica fatta al file genera un hash differente, che dunque deve
essere notarizzato nuovamente. In questo modo si ha la certezza che ogni hash notarizzato
corrisponde a una sola versione del file.

Essendo l’utente l’unico proprietario del wallet, in caso di smarrimento della password da parte
dell’utente, il recupero dell’account avviene in due passaggi:

  1. Se un utente perde la prima password può richiedere tramite l’interfaccia dell’applicazione il
    recupero della password primaria utilizzando la password secondaria per il recupero del wallet.
  2. In caso di smarrimento di entrambe le password l’utente effettua il reset della password e
    viene generato un nuovo wallet. Nel nostro DB il vecchio e nuovo address vengono salvati e
    viene notarizzato il cambio di address. L’identità e l’account dell’utente verranno collegati con
    il nuovo wallet.

Per lasciare ampio spazio di gestione e flessibilità all’utente, abbiamo deciso di basare i nostri piani di abbonamento sulle operazioni. In base al piano, l’utente può effettuare un limite massimo di operazioni al mese. Cosa sono le operazioni? Per operazione si intende una delle seguenti azioni effettuate dall’utente all’interno di Pablock:

  • 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. Abbiamo deciso di utilizzare questo sistema per dare all’utente totale spazio di manovra nella gestione, in base ai propri bisogni, delle operazioni da effettuare mensilmente.

Nessuna differenza, significano la stessa cosa.

Pablock non può accedere al tuo wallet in nessun modo. All’interno del nostro database il wallet viene saltavo criptato dalla tua password. L’unico a conoscere la chiave privata del wallet è l’utente. Quando l’utente accede a Pablock viene recuperato il suo wallet criptato, con la password dell’utente.

Pablock non utilizza nessun database per archiviare i tuoi file. Per l’archiviazione dei tuoi file utilizziamo un database decentralizzato IPFS. Il database decentralizzato IPFS (o InterPlanetary File System) è un protocollo di comunicazione per l’archiviazione e la condivisione dei dati decentralizzato e peer-to-peer. Non vendiamo spazio su disco né conserviamo alcun documento nei nostri server.

Pablock API

BCode oltre ad aver sviluppato la web-app Pablock, fornisce anche il servizio di API per chi avesse già
un sistema funzionante e volesse integrare la notarizzazione su blockchain o la creazione di NFT.
Mediante questo servizio i clienti possono notarizzare dati su blockchain in due differenti modi:

  1. Fornendo direttamente i dati che vogliono notarizzare a Pablock.
  2. Fornendo l’hash dei dati che vogliono notarizzare a Pablock.

In entrambe le opzioni, Pablock notarizza i dati, firmando con il proprio wallet, e restituisce al cliente
la conferma di notarizzazione e l’indirizzo IPFS dove trovare i dati notarizzati. Mediante API i file e dati
dei clienti vengono notarizzati da Pablock, ossia firmati mediante il wallet di Pablock.

Oltre al servizio descritto al punto precedente è possibile per i clienti firmare i dati con il proprio
wallet. Questo avviene mediante SDK (Software Development Kit), pacchetto con un maggior numero di
strumenti forniti da Pablock per la notarizzazione di dati. Comprende funzionalità di calcolo di hash dei
file, cifratura e decifratura dei dati, e integra le funzionalità di notarizzazione in varie modalità.
Il vantaggio nell’utilizzo dell’SDK è la possibilità di utilizzare il proprio wallet per eseguire le
notarizzazioni, rendendo 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 non rendere visibile al pubblico, inclusi gli altri Utenti, il contenuto del File Digitale nonché il titolo e la descrizione del File Digitale inseriti dall’Utente su IPFS in fase di caricamento del File Digitale su IPFS.

Funzione della Piattaforma che consente di memorizzare su Blockchain soltanto l’Hash del File Digitale e non il File Digitale stesso, affinché 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.

La modalità di identificazione dell’Utente tramite Pablock, che consiste nella richiesta dell’Utente, tramite Pablock, dell’invio di un codice pin di 6 cifre (di cui 3 cifre vengono inviate al numero di cellulare, e 3 cifre all’indirizzo e-mail, comunicati dall’Utente stesso a BCode), e inserimento di tale codice pin completo da parte dell’Utente su Pablock.

La modalità di identificazione dell’Utente tramite Pablock, che consiste nella richiesta dell’Utente di creazione, da parte di Pablock, della Scheda Utente, sottoscrizione della Scheda Utente da parte dell’Utente a mezzo di una valida Firma Digitale e invio della Scheda Utente firmata dall’indirizzo PEC dell’Utente all’indirizzo PEC di BCode.

Il registro distribuito InterPlanetary File System.

Non fungible tokens” – ovverossia cripto-attività costituite 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. sono certificati che attestano la titolarità di un determinato bene a favore del possessore del relativo NFT), e che possono essere conservati in wallet operanti su Blockchain ovvero ceduti o scambiati su piattaforme terze di cd. “exchange” – associati al File Digitale.

La Blockchain Polygon-Matic.

Scrittura privata che fa piena prova, fino a querela di falso, della provenienza delle dichiarazioni dal soggetto che l’ha sottoscritta, se colui contro il quale la scrittura è prodotta ne riconosce 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 una informazione, l’accesso ad un servizio, l’attestazione della ricezione di un pagamento o l’attestazione dell’esistenza di un fatto, di un evento.

Congiuntamente e disgiuntamente, Validazione File Digitale, Validazione NFT e Validazione Multi Firma.

Memorizzazione su Blockchain del File Digitale con indicazione della data e ora di tale memorizzazione, per 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 dei Firmatari, per 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”, ovverossia un portafoglio digitale su Ethereum, che attribuisce all’Utente un’identità crittografica, accessibile mediante un meccanismo a doppia chiave, ovverosia la Chiave Privata, che si può considerare come una password che dà accesso al Wallet, e la Chiave Pubblica. Ciascun Wallet è caratterizzato dall’Address.

Vuoi diventare un supereroe?

Seguici sui nostri canali social per rimanere sempre aggiornato sulle ultime novità!