#<center><H1>AssetAZ<br>Documentation</H1></center>

**Indholdsfortegnelse:**
<!-- TOC -->
  * [1. Introduktion og formål](#1-introduktion-og-formål)
  * [2. Hubs og terminaler](#2-hubs-og-terminaler)
  * [3. Plugins og interfaces](#3-plugins-og-interfaces)
  * [4. Interaktion med Nenjim](#4-interaktion-med-nenjim)
  * [5. Observables og Subscribers](#5-observables-og-subscribers)
  * [6. AssetAZ-token og incitamenter](#6-assetaz-token-og-incitamenter)
  * [7. Peer-to-peer og orakler](#7-peer-to-peer-og-orakler)
  * [8. Brugeroplevelse](#8-brugeroplevelse)
  * [9. Transparens, tillid og signerede builds](#9-transparens-tillid-og-signerede-builds)
  * [10. Distribution og installation](#10-distribution-og-installation)
  * [11. Fremtidige emner (TODO)](#11-fremtidige-emner-todo)
<!-- TOC -->

## 1. Introduktion og formål
AssetAZ er ikke en økonomiapplikation – det er en platform. Ligesom Windows ikke er Notepad eller Word, er AssetAZ
ikke et budgetprogram eller en wallet. AssetAZ er selve fundamentet, som andre applikationer og plugins bygges ovenpå.

Hver bruger (menneske eller AI) kører sin egen “AssetHub” – det centrale system der håndterer alle ens økonomiske
plugins og data. Det betyder, at al interaktion med aktiver foregår lokalt og under fuld bruger- eller AI-kontrol.
AssetAZ er tænkt som en ny standard for at bygge økonomisk software – åben, decentral og fleksibel.

## 2. Hubs og terminaler
En AssetHub kører ét sted – lokalt eller i skyen – og har én ejer. Terminaler er de enheder, som tilgår hubben:
Det kan være mobilapps, API-klienter, smartwatches, eller endda automatiserede agenter som AI’er. Nogle terminaler
har grafisk UI, andre er helt usynlige og virker kun gennem beskeder eller hændelser.

Der er kun én bruger pr. AssetAZHub. Det er ikke et multibrugersystem, men et personligt system. Adgang til
eksterne systemer (som API-nøgler) styres i Nenjim og ikke inde i AssetAZ.

## 3. Plugins og interfaces
AssetAZ selv kan næsten ingenting. Alt funktionalitet kommer fra plugins. Et plugin kan være fx en wallet,
et budgetværktøj eller et plugin der forbinder til en børs.

Plugins kommunikerer gennem API-moduler (interfaces), som kan have mange forskellige implementationer. Det sikrer,
at forskellige komponenter kan udskiftes, uden at det bryder hele systemet. En vigtig egenskab ved AssetAZ-økosystemet
er, at **interfaces overlever, men implementationer kan dø**.

## 4. Interaktion med Nenjim
Nenjim er ansvarlig for at hente, konfigurere og levere instanser af komponenter. AssetAZ spørger blot Nenjim:
“Giv mig en Bitcoin wallet”. Nenjim returnerer en instans, der allerede virker, fordi den er konfigureret med f.eks.
den korrekte private nøgle.

Al konfiguration – f.eks. adgang til eksterne API’er – sker i Nenjim. Plugins i AssetAZ kommunikerer med Nenjim
via lazy-loaded og versionerede komponenter. Det giver mulighed for side-om-side afvikling af gamle og nye versioner
af de samme objekter.

## 5. Observables og Subscribers
Observables er plugins, som udbyder informationer eller events til andre som er interesseret i at modtage den
information. Dem som lytter på informationerne kaldes 'Subscribers'. Når alt går gennem AssetAZ, bliver det muligt at
lave central logging, analyse og f.eks. korrekt skatteberegning (FIFO, m.m.).
Et plugin for agerer Observable, kan også være et system, der registrerer eksterne hændelser (som vandtemperaturen).
Observables kan også abonneres på over P2P – en AssetAZHub kan abonnere på en observable fra en anden hub, og modtage
events som var de lokale.

## 6. AssetAZ-token og incitamenter
AssetAZ-token bruges til at betale udviklere, stemme om beslutninger og give adgang til plugins og services.
Når en opgave skal løses, estimeres prisen i tokens. Udvikleren betales derefter i tokens og kan selv vælge, om de
vil beholde dem som investering eller sælge dem.

Tokens kan også bruges af brugere, der ønsker at få udviklet features, eller som belønning for at bidrage med viden,
kode eller data.

Prisen på en token fastsættes indirekte gennem de “ankre”, som brugere selv sætter – én bruger kan forvente, at én
token svarer til én krone, mens en anden måske mener den er mere værd. Disse forskelle skaber handel og spekulation
på en decentral børs, men kan også sagtens handles “på gaden” (Over the Counter (OTC))

## 7. Peer-to-peer og orakler
Alle AssetAZHubs kører i et P2P-netværk. Det gør det muligt at dele services – fx adgang til wallets, sensordata,
eller plugins – uden at give adgang til selve koden. Man kan sælge orakeltjenester, som f.eks. at måle havets
temperatur hver morgen, og stille det til rådighed som en observable for andre AssetAZHubs.

Det gør det muligt at tjene tokens på andre typer aktiver end kun finansielle – viden og data bliver også til et aktiv.

## 8. Brugeroplevelse
Brugeroplevelsen i AssetAZ afhænger 100% af den terminal og de plugins, man bruger. En AI vil aldrig bruge UI,
mens en menneskelig bruger måske kun vil bruge et smartwatch.

Et plugin kan vælge at gengive information på mange måder – det minder om at sætte et grafikkort i en computer.
Det oversætter data til noget brugeren forstår. Det er op til terminalen at præsentere det.

## 9. Transparens, tillid og signerede builds
Alle plugins er open source. Brugeren kan compile dem selv, eller stole på builds, som andre har udgivet og
kryptografisk signeret.
Brugeren definerer selv en prioriteret liste over hvem de stoler på. Når et plugin skal installeres, prøver Nenjim
at finde et build, der matcher fra én af de godkendte signaturer.

Det er også muligt at tage betaling for signerede builds, fx via AssetAZ-token, men det kræver, at man aktivt
tilføjer et betalingsplugin – Nenjim har ingen afhængighed til AssetAZ medmindre man ønsker det.

## 10. Distribution og installation
For at gøre AssetAZ nemt at installere, kan det leveres som et færdigt image med Lightwale – et minimalistisk,
immutable Linux-system med Docker. Der er kun én container: Nenjim. Den konfigureres til, automatisk, at starte
AssetAZ og de relevante plugins via én konfigurationsfil.

Det gør det muligt at levere en hel hub med alt prækonfigureret, som man bare starter op.

## 11. Fremtidige emner (TODO)
- Backup og gendannelse via IPFS og kryptering
- Sikkerhed og privacy-afsnit
- AI som brugere og agenter
- Governance og fællesskab
- Brugerscenarier og fiktive cases
- Semver-enforcer tool og build-validering
- Videreudvikling af observable-konceptet
- Flydende tillid og signaturudskiftning
- Betalingstjenester for signerede builds
