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.
Zapis tego, co się wydarzyło, przechowywany tak, aby można go było odczytać.
Rozwiązujący SMT, z certyfikatem dołączonym do odpowiedzi.
Reguły jako nazwane artefakty, z powodem niepowodzenia kontroli.
Wybierz numeryczny kontrakt przed pierwszym obliczeniem, zachowaj rozumowanie, które mu towarzyszyło, i daj każdemu, kto zapyta, zapis, który może uruchomić ponownie na własnym komputerze.
To, co otrzymujesz, to suma wykonana dokładnie, ta sama liczba wszędzie, oraz zapis tego, jak do niej doszło.
Jest zbudowany w Europie, zgodnie z europejskimi zasadami, a jego źródła publikowane są na warunkach Apache-2.0 w drugiej rundzie programu wydań fundacyjnych Dweve. Organy regulacyjne i organizacje konsumenckie będą mogły bezpośrednio sprawdzić arytmetykę, w dniu, w którym zacznie działać.
To, czy reguła jest słuszna, pozostaje pytaniem dla ludzi i masz prawo je zadać. To, co otrzymujesz, to coś konkretnego, z czym możesz to pytanie postawić: liczba, która wychodzi taka sama, gdy ktokolwiek ją sprawdzi, pisemny zapis tego, jak do niej doszło, który nie opiera się na niczyjej pamięci, oraz kontrola, która mówi, czy ten zapis został później zmieniony.
Jeśli reguła stosowana wobec Ciebie jest niesprawiedliwa, to zastosuje ją dokładnie, co do grosza, wobec każdego, za każdym razem. Nie czyni reguły sprawiedliwą i nie potrafi stwierdzić, że reguła jest niesprawiedliwa. Robi tylko tyle, że liczba nie jest również błędna, co jest mniejszą obietnicą, niż się spodziewałeś, ale taką, która jest faktycznie dotrzymywana.
Żadne z tego nie zmienia jednej rzeczy, którą powinieneś usłyszeć wprost.
Więc to, co do Ciebie dociera, to liczba z własnym marginesem lub puste miejsce tam, gdzie znalazłaby się zmyślona liczba. Ważne jest również to, gdzie znajduje się maszyna, i to bardziej, niż ludzie się spodziewają. Ta sama praca wykonana we Francji i w Niemczech daje bardzo różne liczby dotyczące emisji dwutlenku węgla, ponieważ energia elektryczna jest wytwarzana inaczej.
Licznik nie jest doskonały, a oprogramowanie mówi to bez pytania. Zadania zbyt małe, aby się zarejestrować, nie pozostawiają po sobie żadnego śladu. To samo zadanie uruchomione dwa razy daje nieco inny wynik, w zależności od tego, jak ciepła była maszyna. Na niektórych wynajętych komputerach nie widzi nic i mówi to zamiast zgadywać.
Komputery używają energii elektrycznej do myślenia. Wszyscy to wiedzą i nikt nigdy nie był w stanie powiedzieć, ile jej poszło na jakiekolwiek zadanie. Procesory prowadzą własny bieżący licznik zużytej energii i ten licznik można odczytać. Więc praca może wrócić z zapisaną obok ilością zużytej energii elektrycznej, a tam, gdzie maszyna nie może tego powiedzieć, z niczym zamiast zgadywania.
Może również odpowiedzieć na coś, o co nikt nie mógł zapytać kilka lat temu: ile energii elektrycznej kosztowała suma.
I żadne z tego nie musi dzwonić donikąd. Odczyt, dawka, droga hamowania: liczba jest obliczana tam, gdzie jest mierzona, więc nie ma jej kopii na czyimś innym komputerze i nic nie czeka na połączenie. To ma znaczenie znacznie większe, gdy liczba dotyczy Twojego ciała, niż gdy dotyczy Twojej wody.
Licznik jest tani częściowo dlatego, że w ogóle nie radzi sobie z ułamkami, więc liczy w liczbach całkowitych. To przypadkiem to samo liczenie, które daje identyczny wynik na każdej maszynie. Więc suma w Twojej szafce nie jest gorszą wersją sumy bankowej, bo pudełko było małe. To ta sama suma.
Licznik w Twojej szafce decyduje o tym, ile płacisz za wodę. Pompa na oddziale szpitalnym decyduje o tym, ile leku podać. Pudełko za kierownicą samochodu decyduje o tym, jak mocno hamować. Nikt żadnego z nich nie obserwuje, a każdy wykonuje ten sam rodzaj arytmetyki, co bank z Twoimi pieniędzmi. Można to zrobić na tym samym poziomie, a odpowiedź nigdy nie musi opuścić pomieszczenia, w którym została obliczona.
organizacja, która zachowała obliczenia, mogła je przekazać tego samego popołudnia
Prosisz o obliczenia, i to jest normalna prośba.
i w każdym przypadku obliczenia, a nie ich podsumowanie
organ publiczny, w sprawie decyzji dotyczącej twoich pieniędzy
szpital, w sprawie dawki, która została obliczona
dostawcę energii, w sprawie rachunku, który kwestionujesz
Zrobione w ten sposób, odpowiedź nie jest niczyim wspomnieniem. Liczby, od których zaczęto, zostały zachowane, podobnie jak to, co z nimi zrobiono i w jakiej kolejności. Uruchom to ponownie, a wynik będzie identyczny, a nie podobny. Jeśli zapis został zmieniony w międzyczasie, to wyjdzie na jaw najpierw, zanim ktokolwiek cokolwiek ponownie uruchomi.
Prawdopodobnie zadałeś to pytanie i otrzymałeś słabą odpowiedź. Ktoś sprawdza aktualną wersję obliczeń, uruchamia ją na dzisiejszych liczbach i mówi ci, że wynik jest mniej więcej poprawny. Nikt nie unika odpowiedzi. To, co wygenerowało twoją kwotę w zeszłym roku, już nie istnieje, więc nie ma na co wskazać.
Żadne z tych nie odpowiada na pytanie, które każdy zadałby w następnej kolejności.
Zeszły marzec wychodzi z nowego systemu dokładnie tak, jak wychodził ze starego, więc złożone zeznanie nadal obowiązuje i nie ma popołudnia do stracenia. Zapytaj, jak osiągnięto kwotę, a otrzymasz obliczenia, a nie wzruszenie ramion. Nie musisz też ufać, że obliczenia pozostały nietknięte, ponieważ wszystko, co zostało później zmienione, wyjdzie na jaw.
Żadna część odpowiedzi nie pochodzi z maszyny. Nie ma zaokrągleń, które na jednym chipie działają w jedną stronę, a na następnym w drugą, ani skrótów, które szybszy komputer robi, a wolniejszy nie. Zmień maszynę, a kwota się nie zmieni, podobnie jak formularz, który złożyłeś, czy list, który ją cytował.
Gdzieś za twoim bankiem, dostawcą energii lub urzędem skarbowym oprogramowanie zostaje zastąpione. Nikt ci o tym nie mówi i zwykle by cię to nie obchodziło. Obchodzi cię w dniu, w którym nowy system dodaje zeszłoroczne liczby i otrzymuje inny wynik, ponieważ formularz, który już złożyłeś, nie pasuje już do systemu, który go wygenerował, a osoba, która musi to wyjaśnić, to ty.
Rachunek zostaje uregulowany w tydzień. Dokumenty są ponownie czytane rok później.
Tutaj punkt zaokrąglenia jest zapisany raz, zanim cokolwiek zostanie zsumowane, a każda kopia twojego rachunku się do niego stosuje. Więc nie ma telefonu, wstrzymania konta ani trzech tygodni. Kopie są zgodne, ponieważ zostały obliczone w ten sam sposób, a nie dlatego, że ktoś później usiadł i doprowadził je do zgodności.
Powód jest mniejszy, niż się wydaje. Podatek wychodzi w ułamkach centa i ktoś musi zdecydować, gdzie te ułamki zostaną zaokrąglone. Jeden system zaokrągla w każdej pozycji. Drugi zaokrągla raz, na sumie. Oba są rozsądne i mogą różnić się o cent, bez żadnego z nich będącego błędnym.
Jeden rachunek, trzy kopie: paragon w twojej ręce, kasa w sklepie i twój bank. Co jakiś czas dwie z nich kończą się na innym centie. Nic nie zostało skradzione i nikt nie był nieostrożny, a mimo to to ty odbierasz telefon i czekasz trzy tygodnie, podczas gdy ktoś decyduje, która kopia była poprawna.
Na tyle małe, że można je zignorować, aż do momentu, gdy kwota jest tym, co jesteś winien.
To liczy w liczbach całkowitych, tak jak liczyłbyś monety, więc nic nie zostaje i nic się nie przesuwa. To, co za to dostajesz, jest nudne i warte posiadania. Twój telefon, czytnik kart na ladzie sklepowej i komputer w innym kraju kończą na tej samej kwocie, a najstarszy z tych trzech nie jest mniej poprawny niż najnowszy.
Komputer zapisuje jedną dziesiątą tak, jak zapisałbyś jedną trzecią jako ułamek dziesiętny, to znaczy nie do końca. Sama różnica jest zbyt mała, aby ją zobaczyć. Nie pozostaje jednak sama: rachunek ma pozycje, rok ma dwanaście rachunków, a każda z tych różnic wciąż siedzi w sumie na dole, która jest kwotą, którą masz zapłacić.
Kwota, którą otrzymałeś, wyszła z maszyny, a inna maszyna mogła dać ci nieco inną. Zapytaj komputer o jedną dziesiątą plus dwie dziesiąte, a jeśli każesz mu pokazać wszystkie cyfry, które trzyma, odpowiedź kończy się na zbłąkanej czwórce. Każda maszyna tak robi, więc nikt nie zauważa. Każda porządkuje zbłąkaną czwórkę na swój sposób i tak jedna suma, obliczona tutaj i obliczona w innym kraju, kończy w dwóch różnych miejscach.
To, co otrzymujesz, to kwota, która sama za siebie odpowiada, oraz decyzja w tej sprawie z datą.
Pakiet certyfikacji rozpoczyna rozmowę z audytorem, a zamyka ją twoje zgłoszenie dotyczące twojego własnego produktu, którego nikt nie może ci wręczyć. A jeśli żadna liczba, którą twoja organizacja produkuje, nigdy nie musi być broniona przed kimś spoza niej, uczciwą odpowiedzią jest, że żadne z tego nie jest warte zmiany.
Licznik energii obejmuje jeden system operacyjny na jednej architekturze, a poza tym zakresem odmawia działania zamiast szacować. Udowodnienie właściwości wymaga zainstalowania zewnętrznego solvera, a bez niego otrzymujesz ograniczenia i przedziały, które są przydatne, ale nie są dowodami.
Nic. Generuje dowody, a człowiek ocenia dowody. Utrzyma źle dobrany kontrakt numeryczny z pełną spójnością i wyprodukuje nieskazitelny zapis tego, że to zrobił, a ten zapis jest użyteczną częścią, a nie obietnicą poprawności, ponieważ obietnicy nie można sprawdzić, a zapisu można.