Deterministic Fixed Point Arithmetic | Dweve Numerus
Numerus: deterministic fixed-point, decimal and integer arithmetic in Rust; same bits under a declared execution contract. Publishing in round two.
La registrazione di ciò che è accaduto, conservata per poter essere riletta.
Un risolutore SMT, con un certificato allegato alla risposta.
Regole come artefatti nominati, con il motivo per cui un controllo è fallito.
Scegli il contratto numerico prima del primo calcolo, conserva il ragionamento che lo accompagnava e consegna a chiunque chieda una registrazione che possa essere rieseguita sulla propria macchina.
Ciò che ottieni è la somma calcolata esattamente, la stessa cifra ovunque, e una registrazione di come è stata raggiunta.
È costruito in Europa, secondo le regole europee, e il suo codice sorgente viene pubblicato con termini Apache-2.0 nel secondo giro del programma di release fondativa di Dweve. Le autorità di regolamentazione e le associazioni dei consumatori potranno ispezionare direttamente l'aritmetica, il giorno in cui andrà in produzione.
Se una regola sia giusta resta una questione per le persone, e hai il diritto di sollevarla. Ciò che questo ti offre è qualcosa di solido con cui sollevarla: una cifra che risulta identica quando chiunque la verifica, una registrazione scritta di come è stata raggiunta che non si basa sulla memoria di nessuno, e un controllo che dice se quella registrazione è stata alterata in seguito.
Se la regola che ti viene applicata è ingiusta, questo la applicherà esattamente, al centesimo, a tutti, ogni volta. Non rende la regola giusta, e non può dire che la regola è ingiusta. Tutto ciò che fa è assicurarsi che la cifra non sia anche sbagliata, che è una promessa più piccola di quella che speravi e una che viene effettivamente mantenuta.
Niente di tutto ciò cambia l'unica cosa che dovresti sentire chiaramente.
Quindi ciò che ti arriva è una cifra con il suo margine allegato, o uno spazio vuoto dove sarebbe andato un numero inventato. Anche il luogo in cui si trova la macchina conta, e più di quanto la gente si aspetti. Lo stesso lavoro fatto in Francia e in Germania produce cifre di carbonio molto diverse, perché l'elettricità è prodotta in modo diverso.
Il conteggio non è perfetto, e il software lo dice senza che glielo si chieda. I lavori troppo piccoli per essere registrati non lasciano alcuna traccia. Lo stesso lavoro eseguito due volte risulta leggermente diverso a seconda di quanto è calda la macchina. Su alcuni computer in affitto non può vedere nulla, e lo dice invece di indovinare.
I computer usano elettricità per pensare. Tutti lo sanno, e nessuno è mai stato in grado di dirti quanta ne è stata usata per un singolo lavoro. I processori tengono un conteggio continuo dell'energia che hanno speso, e quel conteggio può essere letto. Quindi un lavoro può tornare con l'elettricità che ha richiesto scritta accanto, e dove la macchina non può dirlo, con niente piuttosto che una supposizione.
Può anche rispondere a qualcosa che nessuno poteva chiedere qualche anno fa: quanto è costato in elettricità il calcolo.
E nessuna di queste cose deve chiamare da nessuna parte. La lettura, la dose, la distanza di frenata: la cifra è calcolata dove viene misurata, quindi non c'è una copia sul computer di qualcun altro, e nulla aspetta una connessione. Questo conta molto di più quando il numero riguarda il tuo corpo che quando riguarda la tua acqua.
Un contatore è economico in parte perché non può gestire le frazioni, quindi conta in numeri interi. Questo capita di essere lo stesso conteggio che dà una risposta identica su ogni macchina. Quindi la somma nel tuo armadietto non è una versione più approssimativa della somma della banca perché la scatola era piccola. È la stessa somma.
Il contatore nel tuo armadietto decide quanto devi per l'acqua. Una pompa in un reparto ospedaliero decide quanto farmaco entra. Una scatola dietro la ruota di un'auto decide quanto frenare. Nessuno li guarda, e ognuno sta facendo lo stesso tipo di aritmetica che una banca fa con i tuoi soldi. Può essere fatto allo stesso standard, e la risposta non deve mai lasciare la stanza in cui è stata calcolata.
un'organizzazione che ha conservato il lavoro può consegnarlo lo stesso pomeriggio
stai chiedendo il calcolo, ed è una cosa normale da chiedere
e in ogni caso, il calcolo, non un riassunto
un ente pubblico, per una decisione che riguarda i tuoi soldi
un ospedale, per una dose che è stata calcolata
il tuo fornitore di energia, per una bolletta che contesti
la tua banca, per una cifra sull'estratto conto
Fatto in questo modo, la risposta non è il ricordo approssimativo di qualcuno. I numeri da cui si partiva sono stati conservati, e così anche ciò che è stato fatto loro e in che ordine. Eseguilo di nuovo e il risultato è identico, non solo simile. Se il record è stato modificato nel frattempo, questo salta fuori subito, prima che qualcuno riesegua qualsiasi cosa.
Probabilmente l'hai già chiesto e hai ricevuto una risposta insoddisfacente. Qualcuno cerca la versione attuale del calcolo, la esegue sui numeri di oggi e ti dice che il risultato è più o meno giusto. Nessuno sta eludendo la domanda. La cosa che ha prodotto la tua cifra la scorsa primavera non esiste più, quindi non c'è nulla a cui puntare.
Niente di tutto questo risponde alla domanda che chiunque farebbe dopo.
Lo scorso marzo esce dal nuovo sistema esattamente come usciva da quello vecchio, quindi la dichiarazione che hai presentato è ancora valida e non c'è nessun pomeriggio da perdere. Chiedi come è stata ottenuta una cifra e ottieni il calcolo, non una scrollata di spalle. Non devi nemmeno fidarti che il calcolo sia stato lasciato intatto, perché qualsiasi modifica successiva viene a galla.
Nessuna parte della risposta viene dalla macchina. Non c'è un arrotondamento che va in un modo su un chip e in un altro sul successivo, e nessuna scorciatoia che un computer più veloce prende e uno più lento no. Cambia la macchina e la cifra non si muove, e nemmeno il modulo che hai presentato con essa o la lettera che la citava.
Da qualche parte dietro la tua banca, il tuo fornitore di energia o l'ufficio delle imposte, il software viene sostituito. Nessuno te lo dice, e normalmente non ti importerebbe. Ti importa il giorno in cui il nuovo sistema somma l'anno scorso e ottiene una risposta diversa, perché il modulo che hai già presentato non corrisponde più al sistema che lo ha prodotto, e la persona che deve spiegarlo sei tu.
Una bolletta viene saldata in una settimana. La documentazione viene riletta un anno dopo.
Qui il punto di arrotondamento è scritto una volta, prima che venga sommato qualsiasi cosa, e ogni copia della tua bolletta lo segue. Quindi niente telefonate, niente sospensioni sul conto e niente tre settimane. Le copie corrispondono perché sono state calcolate allo stesso modo, non perché qualcuno si è seduto dopo e le ha fatte concordare.
Il motivo è più piccolo di quanto sembri. Le tasse escono in frazioni di centesimo, e qualcuno deve decidere dove queste frazioni vengono arrotondate. Un sistema arrotonda su ogni riga. L'altro arrotonda una volta, sul totale. Entrambi sono ragionevoli, e possono finire a un centesimo di differenza senza che nessuno dei due sia sbagliato.
Una bolletta, tre copie: la ricevuta in mano tua, il registratore di cassa del negozio e quello della tua banca. Ogni tanto due di esse finiscono su un centesimo diverso. Niente è stato rubato e nessuno è stato negligente, e sei comunque tu a ricevere la telefonata, e tu ad aspettare tre settimane mentre qualcuno decide quale copia era giusta.
Abbastanza piccolo da ignorare, finché la cifra non è quello che devi.
Questo conta invece in numeri interi, come conteresti le monete, quindi non avanza nulla e nulla si sposta. Quello che ottieni in cambio è noioso e vale la pena averlo. Il tuo telefono, il lettore di carte sul bancone del negozio e un computer in un altro paese finiscono tutti sulla stessa cifra, e il più vecchio dei tre non ha meno ragione del più nuovo.
Un computer scrive un decimo come scriveresti un terzo in decimale, cioè non esattamente. Da solo, il divario è troppo piccolo per essere visto. Ma non resta da solo: una bolletta ha righe, un anno ha dodici bollette, e ognuno di quei divari è ancora lì nel totale in fondo, che è la cifra che ti viene chiesta di pagare.
La cifra che ti è stata consegnata è uscita da una macchina, e una macchina diversa potrebbe averti dato una leggermente diversa. Chiedi a un computer un decimo più due decimi e, se gli fai mostrare ogni cifra che tiene, la risposta finisce con un quattro vagante. Ogni macchina lo fa, quindi nessuno lo nota. Ognuna sistema il quattro vagante a modo suo, ed è così che una stessa somma, calcolata qui e calcolata in un altro paese, finisce in due posti diversi.
Quello che ottieni è una cifra che risponde per sé, e una decisione al riguardo con una data sopra.
Il pacchetto di certificazione apre la conversazione con un revisore, e a chiuderla è la tua presentazione contro il tuo stesso prodotto, che nessuno può darti. E se nessuna cifra prodotta dalla tua organizzazione deve mai essere difesa davanti a qualcuno esterno, la risposta onesta è che nulla di tutto questo vale il cambiamento.