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.
Algoritmide rühmitamine andmetüübi järgi
Üleskirjutis sellest, mis juhtus, hoitud selleks, et seda saaks tagasi lugeda.
SMT-lahendaja, mille vastusele on lisatud sertifikaat.
Reeglid nimega artefaktidena, koos põhjusega, miks kontroll ebaõnnestus.
Vali numbriline leping enne esimest arvutust, säilita sellega kaasnenud põhjendus ja anna igale küsijale üle kirje, mida nad saavad oma masinas uuesti käivitada.
Mida sa saad, on summa, mis on tehtud täpselt, sama arv igal pool, ja kirje sellest, kuidas see saavutati.
See on ehitatud Euroopas, Euroopa reeglite järgi, ja selle lähtekood avaldatakse Apache-2.0 tingimustel Dweve'i sihtasutuse väljalaskeprogrammi teises voorus. Regulaatorid ja tarbijakaitsjad saavad aritmeetikat otse kontrollida alates selle käivitamise päevast.
See, kas reegel on õige, jääb inimeste küsimuseks ja sul on õigus see tõstatada. Mida see sulle annab, on midagi kindlat, millega seda tõstatada: arv, mis tuleb sama, kui keegi seda kontrollib, kirjalik üleskirjutus sellest, kuidas see saavutati, mis ei tugine kellegi mälule, ja kontroll, mis ütleb, kas seda kirjet on hiljem muudetud.
Kui sulle kohaldatav reegel on ebaõiglane, rakendab see seda täpselt, sendi pealt, kõigile, iga kord. See ei muuda reeglit õiglaseks ega suuda öelda, et reegel on ebaõiglane. Kõik, mida see teeb, on tagada, et arv pole ka vale, mis on väiksem lubadus, kui sa lootsid, ja selline, mida tegelikult peetakse.
Miski sellest ei muuda seda üht asja, mida sa peaksid otse kuulma.
Nii jõuab sinuni arv koos oma veamarginaaliga või tühi koht, kus oleks olnud väljamõeldud number. See, kus masin asub, on samuti oluline, rohkem kui inimesed arvavad. Sama töö, mis tehtud Prantsusmaal ja Saksamaal, annab väga erinevad süsinikuarvud, sest elekter toodetakse erinevalt.
Loendus pole täiuslik ja tarkvara ütleb seda ilma küsimata. Liiga väikesed tööd ei jäta sellest jälgegi. Sama töö, mida käivitatakse kaks korda, tuleb veidi erinev, olenevalt sellest, kui soe masin oli. Mõnel renditud arvutil ei näe see midagi ja ütleb seda, selle asemel et arvata.
Arvutid kasutavad mõtlemiseks elektrit. Kõik teavad seda ja keegi pole kunagi suutnud öelda, kui palju sellest ühele tööle kulus. Protsessorid peavad ise pidevat arvestust kulutatud energia kohta ja seda arvestust saab lugeda. Nii võib töö tulla koos selleks kulunud elektriga kirjutatuna kõrvale ja seal, kus masin ei oska öelda, mitte millegagi, mitte oletusega.
See suudab vastata ka millelegi, mida keegi ei saanud paar aastat tagasi küsida: kui palju summa elektrit maksis.
Ja miski sellest ei pea kuhugi helistama. Näit, annus, pidurdusmaa: arv arvutatakse seal, kus seda mõõdetakse, nii et sellest pole koopiat kellegi teise arvutis ja miski ei oota ühendust. See on olulisem siis, kui number puudutab sinu keha, kui siis, kui see puudutab sinu vett.
Arvesti on odav osalt sellepärast, et see ei oska murdudega üldse hakkama saada, nii et see loeb tervikarvudes. See juhtub olema sama loendus, mis annab igas masinas identse vastuse. Nii et summa sinu kapis ei ole panga summa jämedam versioon sellepärast, et kast oli väike. See on sama summa.
Arvesti sinu kapis otsustab, kui palju sa veest võlgned. Pump haigla osakonnas otsustab, kui palju ravimit sisse läheb. Kast auto ratta taga otsustab, kui tugevalt pidurdada. Keegi ei vaata ühtegi neist ja igaüks teeb sama tüüpi aritmeetikat, mida pank sinu rahaga teeb. Seda saab teha sama standardi järgi ja vastus ei pea kunagi lahkuma ruumist, kus see välja arvutati.
organisatsioon, mis töö säilitas, saab selle üle anda samal pärastlõunal
te küsite arvutuskäiku, ja see on tavaline soov
ja igal juhul arvutuskäiku, mitte selle kokkuvõtet
avalikult asutuselt, otsuse kohta teie raha kohta
energiatarnijalt, vaidlustatud arve kohta
Nii tehtuna ei ole vastus kellegi parim mälestus. Algnumbrid säilitati, samuti see, mida nendega tehti ja millises järjekorras. Uuesti käivitades tuleb tulemus identne, mitte ligikaudne. Kui kirjet vahepeal muudeti, ilmneb see enne, kui keegi midagi uuesti käivitab.
Tõenäoliselt olete seda küsinud ja saanud kehva vastuse. Keegi vaatab arvutuse praegust versiooni, käivitab selle tänaste numbritega ja ütleb, et tulemus on umbes õige. Keegi ei püüa kõrvale hiilida. Asi, mis teie numbri eelmisel kevadel tootis, ei eksisteeri enam, nii et pole midagi osutada.
Miski sellest ei vasta küsimusele, mida keegi järgmisena küsiks.
Eelmine märts tuleb uuest süsteemist välja täpselt samamoodi nagu vanast, nii et teie esitatud deklaratsioon jääb kehtima ja pole pärastlõunat, mida kaotada. Küsige, kuidas number saadi, ja saate arvutuskäigu, mitte õlakehituse. Ei pea usaldama, et arvutuskäiku ei muudetud, sest kõik hilisemad muudatused ilmnevad.
Ükski vastuse osa ei tule masinast. Pole ümardamist, mis ühel kiibil läheb ühte pidi ja teisel teistpidi, ega otseteed, mida kiirem arvuti teeb, aga aeglasem mitte. Vahetage masinat ja number ei muutu, samuti ei muutu teie esitatud vorm ega kiri, mis seda tsiteeris.
Kusagil teie panga, energiatarnija või maksuameti taga asendatakse tarkvara. Keegi ei ütle teile, ja tavaliselt te ei hoolikski. Te hoolite päeval, mil uus süsteem liidab eelmise aasta kokku ja saab teistsuguse vastuse, sest teie juba esitatud vorm ei ühti enam süsteemiga, mis selle tootis, ja see, kes peab seda selgitama, olete teie.
Arve saab tasutud nädalaga. Paberid loetakse uuesti aasta hiljem.
Siin on ümarduspunkt kirja pandud üks kord, enne kui midagi kokku liidetakse, ja iga teie arve koopia järgib seda. Seega pole telefonikõnet, kontol ootamist ega kolme nädalat. Koopiad ühtivad, sest need arvutati samamoodi, mitte sellepärast, et keegi istus pärast maha ja pani need kokku sobima.
Põhjus on väiksem, kui see kõlab. Maks tuleb välja sendi murdosades, ja keegi peab otsustama, kus need murdosad ümardatakse. Üks süsteem ümardab igal real. Teine ümardab üks kord, kogusummal. Mõlemad on mõistlikud, ja need võivad erineda ühe sendi võrra, ilma et kumbki oleks vale.
Üks arve, kolm koopiat: kviitung teie käes, poe kassa ja teie pank. Aeg-ajalt lõpevad kaks neist erineva sendiga. Midagi ei varastatud ja keegi ei olnud hooletu, ja ikkagi olete teie see, kes telefonikõne vastu võtab, ja teie ootate kolm nädalat, samal ajal kui keegi otsustab, milline koopia oli õige.
Piisavalt väike, et ignoreerida, kuni number on see, mida te võlgnete.
See loeb hoopis täisarvudes, nii nagu te münte loeksite, nii et midagi ei jää üle ega triivi. See, mida see teile annab, on igav ja seda tasub omada. Teie telefon, poeleti kaardilugeja ja arvuti teises riigis jõuavad kõik samale numbrile, ja kõige vanem neist pole vähem õige kui uusim.
Arvuti kirjutab kümnendiku nii, nagu te kirjutaksite kolmandiku kümnendmurruna, mis tähendab, et mitte päris. Üksi on vahe liiga väike, et seda näha. See ei jää üksi: arvel on read, aastal on kaksteist arvet, ja igaüks neist vahedest on endiselt allosas olevas kogusummas, mis on number, mida teil palutakse maksta.
Number, mille te said, tuli masinast, ja teine masin oleks võinud teile anda veidi teistsuguse. Küsige arvutilt kümnendik pluss kaks kümnendikku ja, kui lasete tal näidata kõiki hoitavaid numbreid, lõpeb vastus juhusliku neljaga. Iga masin teeb seda, nii et keegi ei märka. Igaüks koristab selle juhusliku nelja omal moel ära, ja nii lõpeb üks summa, mis on arvutatud siin ja teises riigis, kahes erinevas kohas.
See, mida te saate, on number, mis vastab iseenda eest, ja otsus selle kohta koos kuupäevaga.
Sertifitseerimispakett alustab vestlust audiitoriga, ja selle lõpetab teie esitlus oma toote kohta, mida keegi teile ei saa anda. Ja kui ühtegi teie organisatsiooni toodetud numbrit ei pea kunagi väljaspool seda kaitsma, on aus vastus, et miski sellest ei vääri muudatust.
Energiamõõtur hõlmab ühte operatsioonisüsteemi ühel arhitektuuril ning mujal ta pigem keeldub kui hindab. Omaduse tõestamine nõuab välise lahendaja installimist ning ilma selleta saad piirid ja intervallid, mis on kasulikud, kuid ei ole tõestused.
Mitte miski. See toodab tõendusmaterjali ja inimene hindab tõendusmaterjali. See hoiab halvasti valitud numbrilist lepingut täieliku järjekindlusega ja toodab laitmatu arvestuse selle tegemisest ning arvestus on kasulik osa, mitte lubadus õigsusest, sest lubadus pole kontrollitav, arvestus aga on.
Ja tasub olla sama selge selle kohta, mida see sulle ei anna.
Ühtegi neist neljast ei loobuta. Need ei kehti, mis on tunduvalt tugevam seisukoht kui loobumine, ja see on vahe raamatukogu ja teenuse vahel, mis on riietatud raamatukoguks. Sinu väljalaskeartefakt kinnistab versiooni ja litsentsi ning teadaolevat ehitust saab intsidendi jaoks alles hoida ilma kelleltki küsimata.
Arvutuse jaoks puudub töötlemisleping, sest töötlejat pole. Ülekande hindamine puudub, sest miski ei lahku. Tarnijast sõltuv kättesaadavus puudub, sest meie ükski lõpp-punkt pole teel. Ja versioon ei saabu sinu alla kellegi teise väljalaske graafiku järgi, sest sina otsustad, millal liikuda.
Mida see sinu paberimajandusest eemaldab
See on raamatukogu lubatava litsentsi all, mille autor on Hollandi ettevõte, ja see saab osaks sinu binaarist. Miski ei asu arvutuse teel, seega pole intsidendi ajal midagi kättesaamatut, puudub kõne-põhine hind, uuendamiskuupäev ja midagi, mida ümber kauelda, kui sinu mahud muutuvad või hankepoliitika muutub. Sõltuvus on kood, mida sa saadad, mitte lõpp-punkt, mida sa rendid. Sinu väljalaskeartefakt saab kinnistada versiooni ja litsentsi, samal ajal kui sinu meeskond valib, millal uuendada, ja saab hoida teadaolevat ehitust intsidendi jaoks. Hankeosakond saab kontrollitud komponendi väljumistee, mitte korduva juurdepääsu tarnijale.