Che cos’è l’arte nota crittografica e perché è importante per il software?
Ogni sviluppatore si è trovato in una conversazione in cui qualcuno chiede: “Puoi dimostrare quando hai effettivamente scritto quel codice?” La maggior parte dei team indica il log di Git. Git è ottimo per la collaborazione, ma i suoi timestamp non sono una prova legale solida. Possono essere modificati, sottoposti a rebase o respinti in una controversia.
L’arte nota crittografica cambia questa equazione. Trasforma un hash di commit Git in un timestamp ancorato alla blockchain di Bitcoin. Questo ti offre una registrazione immutabile e pubblicamente verificabile di quando uno specifico stato del tuo codice esisteva — senza rivelare il codice stesso.
Che cos’è l’arte nota crittografica?
In termini di proprietà intellettuale, l’arte nota è la prova che un’idea o un’invenzione era pubblicamente nota prima di una specifica data di deposito di un brevetto. L’arte nota può invalidare una rivendicazione brevettuale perché l’invenzione non era effettivamente nuova.
L’arte nota tradizionale include pubblicazioni, rilasci di prodotti, interventi a conferenze e repository di codice pubblici. Ma l’arte nota tradizionale presenta spesso ambiguità: quando è stato effettivamente creato quel PDF? Chi può verificare che quella versione del software sia stata distribuita in quella data?
L’arte nota crittografica elimina questa ambiguità. Invece di basarsi su una traccia documentale o sui log interni di un server, utilizza:
- Hash di commit Git come impronta crittografica del tuo lavoro.
- La blockchain di Bitcoin come registro pubblico e immutabile.
- Il protocollo OpenTimestamps come meccanismo per ancorare quell’impronta in un blocco Bitcoin.
Il risultato è una prova matematicamente verificabile che uno specifico stato del tuo repository esisteva in un momento specifico.
Un notaio che non legge mai il tuo documento
Un modello mentale utile è un notaio con una promessa molto insolita: il notaio non apre mai il tuo documento, non lo copia mai e non lo archivia mai. Invece, il notaio calcola un’impronta univoca del documento e la pubblica su un giornale con una data di pubblicazione fissa.
Mesi dopo, qualcuno sostiene di aver inventato la stessa cosa prima di te. Apri il giornale archiviato, indichi la tua impronta e dici: “No, eccola qui, datata.” Il giornale non contiene il tuo codice. Contiene solo la prova che il codice esisteva.
L’ancoraggio a Bitcoin funziona allo stesso modo. L’impronta è pubblica e verificabile. Il codice sorgente sottostante rimane privato.
Perché gli sviluppatori software hanno bisogno dell’arte nota crittografica
La proprietà intellettuale del software è strana. La maggior parte dei team crea tecnologia preziosa molto prima di pensare alla protezione legale formale. I brevetti tradizionali sono lenti, costosi e spesso impraticabili per codebase in rapida evoluzione. I log interni sono facili da respingere in una verifica legale.
Questo crea diversi rischi per sviluppatori, startup e agenzie.
Patent troll
I patent troll depositano brevetti generici su tecniche software comuni e poi richiedono diritti di licenza o avviano contenziosi. Se il tuo team ha implementato quella tecnica mesi prima della data di deposito del troll, potresti avere arte nota. Ma senza prove, la tua affermazione è solo parole.
L’arte nota crittografica ti offre un ancoraggio datato e immutabile per la tua implementazione. Se la data di priorità del troll è successiva, la tua prova diventa una seria arma difensiva.
Controversie con i dipendenti
Quando uno sviluppatore senior lascia l’azienda, spesso seguono controversie sulla proprietà. Chi ha concepito l’architettura? Quando è stata effettivamente implementata una specifica funzionalità? Senza un timestamp immutabile, diventa una battaglia di “lui ha detto, lei ha detto”.
Un hash Git ancorato a Bitcoin risponde alla domanda quando con certezza crittografica. L’hash è legato a uno specifico stato del repository, e il blocco Bitcoin fornisce la data.
La fallacia della clean room
I concorrenti a volte affermano di aver “sviluppato indipendentemente” una funzionalità simile dopo aver visto il tuo prodotto. Dimostrare il contrario è difficile — a meno che tu non abbia un timestamp.
Se puoi dimostrare che la tua logica definitiva esisteva 18 mesi prima, l’argomento dello sviluppo indipendente diventa molto più difficile da sostenere. Non stai chiedendo a nessuno di fidarsi del tuo server interno; stai indicando la matematica di Bitcoin.
Log fragili
La cronologia Git standard vive su piattaforme che non controlli completamente. GitHub è comodo, ma non è un archivio legale neutrale. In una controversia, i log interni vengono spesso respinti come autoreferenziali o manipolabili.
Le prove ancorate alla blockchain sono diverse. Sono pubbliche, immutabili e verificabili senza la tua cooperazione. Anche se il tuo repository scomparisse, la prova rimarrebbe.
Come funziona l’arte nota crittografica sotto il cofano
Il processo sottostante è sorprendentemente semplice.
Passaggio 1: Impronta
Quando effettui un commit Git, Git genera un hash unidirezionale che rappresenta lo stato esatto del repository in quel momento. A seconda della configurazione del repository, quell’hash è SHA-1 o SHA-256.
git rev-parse HEAD
# 9f2b45c7a1e8d09c6f4b1a0e2d3c4b5a6f7e8d90
Quell’hash è un’impronta crittografica del tuo lavoro. Non può essere invertito per esporre il codice sorgente.
Passaggio 2: Ancoraggio
Gli hash dei commit vengono raccolti e aggregati. Un lotto giornaliero viene utilizzato per costruire un albero di Merkle, e la radice di Merkle viene ancorata in una transazione Bitcoin utilizzando il protocollo OpenTimestamps.
Una volta che la transazione è confermata in un blocco Bitcoin, il timestamp diventa parte della blockchain. Nessuno può modificarlo — né tu, né una piattaforma, né il fornitore del servizio.
Passaggio 3: Prova
Il processo genera un file di ricevuta .ots. Quella ricevuta consente a chiunque di verificare il timestamp contro la blockchain di Bitcoin senza doversi fidare di terze parti.
La prova si basa solo su primitive crittografiche e dati dei blocchi Bitcoin. Se ogni intermediario sparisse domani, potresti comunque verificarla localmente.
Zero-knowledge by design
Un dettaglio critico è ciò che non accade: il codice sorgente non lascia mai il tuo ambiente. Solo l’hash del commit viene ancorato.
Timestamp GIT legge gli hash dei commit, non il codice. Non vede mai, non copia e non archivia il tuo codice sorgente effettivo. Dal punto di vista della privacy, questo rende il sistema adatto a codice proprietario, segreti commerciali e sistemi interni.
Idee sbagliate comuni sull’arte nota crittografica
“La mia cronologia Git è sufficiente.”
La cronologia Git è utile per lo sviluppo, ma è debole come prova legale. Le date dei commit possono essere modificate tramite rebasing, force-push o configurazione del server. In una verifica legale, una parte avversa può sostenere che la cronologia è autoreferenziale.
Un hash ancorato alla blockchain è a prova di manomissione e verificabile da chiunque.
“È solo per progetti blockchain.”
Il meccanismo di ancoraggio del prodotto utilizza Bitcoin come notaio pubblico, ma il codice protetto non ha nulla a che fare con le criptovalute. Qualsiasi progetto software — applicazioni web, firmware embedded, pipeline di machine learning, strumenti interni — può trarne beneficio.
“Rivela il mio codice sorgente.”
Viene pubblicato solo l’hash del commit Git. Un hash crittografico è una funzione unidirezionale, quindi i dati ancorati non possono essere invertiti nel codice sorgente.
L’architettura zero-knowledge di Timestamp GIT mantiene privato il tuo codice effettivo. I repository pubblici espongono comunque il codice, ma i repository privati non rivelano nulla oltre l’hash.
“È complicato da configurare.”
È qui che l’approccio gestito fa la differenza. Non devi eseguire comandi OpenTimestamps, gestire transazioni Bitcoin o operare server di calendario locali.
Installi una GitHub App una volta, colleghi un repository e i commit futuri vengono timestampati automaticamente. Il lavoro complesso avviene dietro le quinte.
Come Timestamp GIT semplifica l’arte nota crittografica
Timestamp GIT è un servizio gestito creato per nascondere la complessità del protocollo. Gli sviluppatori ottengono i benefici dell’ancoraggio a Bitcoin senza diventare operatori di crittografia.
Il flusso di lavoro pratico è il seguente:
- Installa la GitHub App. Timestamp GIT richiede l’accesso ai repository che vuoi monitorare.
- Seleziona i tuoi repository. Pubblici o privati, a seconda del tuo piano.
- Esegui i commit come al solito. La GitHub App rileva i nuovi commit tramite webhook.
- Lascia che il worker notturno venga eseguito. Ogni notte, gli hash in sospeso vengono raggruppati, gli alberi di Merkle vengono costruiti e la radice viene ancorata a Bitcoin.
- Ricevi la prova automaticamente. I file di prova vengono inviati a un branch dedicato o a un repository ombra.
Non ci sono strumenti CLI da installare sulle macchine degli sviluppatori e nessun passaggio manuale nel normale flusso di lavoro Git.
Verifica senza fiducia
Chiunque può verificare un timestamp scaricando il file .ots e controllandolo contro la blockchain di Bitcoin. Timestamp GIT fornisce anche pagine di stato pubbliche, esportazioni CSV di audit e certificati PDF.
I badge Shields.io incorporabili rendono la verifica visibile in un README. Un visitatore può fare clic sul badge, aprire la pagina di verifica e controllare personalmente i dati del blocco Bitcoin. Per i repository privati, gli URL dei badge includono un HMAC crittografato in modo che solo gli utenti autorizzati possano vedere le informazioni di stato.
Modalità Enterprise ZK
Per le aziende con requisiti di sicurezza più rigorosi, la modalità Enterprise ZK cambia il confine di fiducia. Invece di concedere alla GitHub App l’accesso in lettura al repository sorgente, una GitHub Action viene eseguita all’interno del tuo ambiente.
Quell’Action invia solo l’hash del commit all’API di Timestamp GIT. Il codice sorgente non lascia mai la tua infrastruttura e il servizio non riceve mai l’accesso in lettura al repository.
Opzione Docker self-hosted
Per il massimo controllo o ambienti air-gapped, Timestamp GIT è disponibile come immagine Docker. Una licenza demo a tempo limitato è disponibile su richiesta, e la procedura guidata di configurazione ti guida attraverso la connessione della tua GitHub App e la configurazione dell’istanza.
FAQ: Arte nota crittografica per il software
Qual è la differenza tra arte nota crittografica e un brevetto?
Un brevetto è un diritto esclusivo concesso dal governo su un’invenzione. Richiede una domanda formale e un processo di esame. L’arte nota crittografica è la prova che un’idea esisteva in un momento specifico.
Non concede diritti esclusivi. Invece, crea una prova che puoi utilizzare per invalidare la rivendicazione brevettuale di qualcun altro o stabilire un’implementazione precedente. Timestamp GIT automatizza la creazione di queste prove per i commit Git.
Posso usare l’arte nota crittografica per difendermi da una causa per violazione di brevetto?
Sì. Se qualcuno ti fa causa per violazione di brevetto, puoi presentare una prova crittografica che hai implementato la tecnologia prima della data di priorità del loro brevetto. Questo può supportare argomentazioni di invalidazione o difese di uso precedente.
La prova è matematicamente verificabile contro la blockchain di Bitcoin. Timestamp GIT fornisce anche ricevute .ots, CSV di audit e report PDF per un pacchetto legale più completo.
Il timestamp del mio codice rivela il mio codice sorgente proprietario?
No. Timestamp GIT ancora solo l’hash del commit Git. L’hash è un’impronta unidirezionale, non il codice stesso. Il servizio non vede né archivia mai il tuo codice sorgente.
Questo approccio zero-knowledge mantiene riservati i segreti commerciali pur dimostrando che il codice esisteva in un momento specifico.
Quanto costa timestampare i miei commit Git con Timestamp GIT?
Timestamp GIT ha un piano gratuito per i repository pubblici. Per i repository privati, il piano Pro Agency costa $49/mese. Il piano Enterprise ZK, che include l’integrazione con GitHub Actions, costa $199/mese.
È disponibile anche una licenza Docker self-hosted per ambienti air-gapped. Puoi richiedere una licenza demo a tempo limitato dalla pagina Docker License.
Conclusione
Le controversie sul software si decidono con le prove, non con le buone intenzioni. L’arte nota crittografica converte il tuo normale flusso di lavoro di commit in una prova pronta per il tribunale senza esporre il tuo codice o cambiare il modo in cui lavori.
Il passo pratico successivo è smettere di fare affidamento su date Git fragili e iniziare ad ancorare automaticamente il tuo lavoro a Bitcoin. Installa la Timestamp GIT GitHub App, collega un repository e lascia che la pipeline notturna faccia il resto.
Articoli correlati
- Come dimostrare che il codice esisteva in un momento specifico (senza rivelarlo)
- Che cos’è la prova crittografica di paternità per il codice?
- Timestamp GIT vs. OpenTimestamps: qual è quello giusto per te?