Blockchain Immutability Myth

Kildeknude: 1738527

Hvor fleksibel tænkning er at foretrække frem for dogmatisme

"Det højeste gode, end hvilket der ikke er noget højere, er blockchainen, og følgelig er det uforanderligt godt, derfor virkelig evigt og virkelig udødelig."
— Saint Augustine, De natura boni, i, 405 CE (med mindre redigeringer)

Hvis du spørger nogen, der er velinformeret om egenskaberne ved blockchains, vil ordet "uforanderlig" uvægerligt optræde i svaret. På almindeligt engelsk bruges dette ord til at betegne noget, som aldrig kan ændres eller ændres. I en blockchain refererer det til den globale log over transaktioner, som er skabt ved konsensus mellem kædens deltagere. Grundtanken er denne: Når først en blockchain-transaktion har modtaget et tilstrækkeligt niveau af validering, sikrer noget kryptografi, at det aldrig kan erstattes eller vendes. Dette markerer blockchains som forskellige fra almindelige filer eller databaser, hvor information kan redigeres og slettes efter eget ønske. Eller sådan lyder teorien.

I blockchain-debattens hæsblæsende arena er uforanderlighed blevet en kvasi-religiøs doktrin – en kernetro, der ikke må rystes eller stilles spørgsmålstegn ved. Og ligesom doktrinerne i almindelige religioner, bruger medlemmer af modsatrettede lejre uforanderlighed som et våben til hån og latterliggørelse. Det seneste år har været vidne til to fremtrædende eksempler:

  • Cryptocurrency-fortalere, der hævder, at uforanderlighed kun kan opnås gennem decentraliserede økonomiske mekanismer såsom proof-of-work. Fra dette perspektiv er private blockchains latterlige, fordi de afhænger af den kollektive gode opførsel fra en kendt gruppe af validatorer, som tydeligvis ikke kan stole på.
  • Hån hældte på ideen om en redigerbar (eller foranderlig) blockchain, hvor der kan foretages retroaktive ændringer af transaktionshistorikken under visse betingelser. Mockers stillede spørgsmålet: Hvad kunne være meningen med en blockchain, hvis indholdet nemt kan ændres?

For os på sidelinjen er det sjovt at se mudderkastningen. Ikke mindst fordi begge disse kritikpunkter er almindeligt forkerte og stammer fra en grundlæggende misforståelse af karakteren af ​​uforanderlighed i blockchains (og faktisk ethvert computersystem). For dem, der har kort tid, er her den nederste linje:

I blockchains er der ikke noget, der hedder perfekt uforanderlighed. Det egentlige spørgsmål er: Hvad er betingelserne for, at en bestemt blockchain kan og ikke kan ændres? Og passer disse forhold til det problem, vi forsøger at løse?

For at sige det på en anden måde, er en blockchains transaktioner ikke skrevet ind i Guds sind (med undskyldninger til Augustine ovenfor). I stedet afhænger kædens adfærd af et netværk af kropslige computersystemer, som altid vil være sårbare over for ødelæggelse eller korruption. Men før vi kommer ind i detaljerne om hvordan, lad os fortsætte med at opsummere nogle grundlæggende principper om selve blockchains.

Blockchains kort fortalt

En blockchain kører på et sæt noder, som hver kan være under kontrol af en separat virksomhed eller organisation. Disse noder forbindes med hinanden i et tæt peer-to-peer-netværk, så ingen individuel node fungerer som et centralt kontrol- eller fejlpunkt. Hver node kan generere og digitalt underskrive transaktioner, som repræsenterer operationer i en form for hovedbog eller database, og disse transaktioner forplanter sig hurtigt til andre noder på tværs af netværket på en sladderlignende måde.

Hver node verificerer uafhængigt hver ny indgående transaktion for gyldighed i form af: (a) dens overholdelse af blockchains regler, (b) dens digitale signatur og (c) eventuelle konflikter med tidligere sete transaktioner. Hvis en transaktion består disse tests, kommer den ind i nodens lokale liste over foreløbige ubekræftede transaktioner ("hukommelsespuljen") og vil blive videresendt til dens peers. Transaktioner, der mislykkes, afvises direkte, mens andre, hvis evaluering afhænger af usete transaktioner, placeres i et midlertidigt holdingområde ("den forældreløse pool").

Med periodiske intervaller genereres en ny blok af en af ​​"validator"-knudepunkterne på netværket, der indeholder et sæt af endnu ubekræftede transaktioner. Hver blok har en unik 32-byte identifikator kaldet en "hash", som udelukkende bestemmes af blokkens indhold. Hver blok inkluderer også et tidsstempel og et link til en tidligere blok via sin hash, hvilket skaber en bogstavelig "blokkæde", der går tilbage til begyndelsen.

Ligesom transaktioner forplanter blokke sig på tværs af netværket på en peer-to-peer-måde og verificeres uafhængigt af hver node. For at blive accepteret af en node skal en blok indeholde et sæt gyldige transaktioner, som ikke er i konflikt med hinanden eller med dem i de tidligere linkede blokke. Hvis en blok består denne og andre test, føjes den til den nodes lokale kopi af blockchainen, og transaktionerne inden for "bekræftes". Alle transaktioner i nodens hukommelsespulje eller forældreløse pool, som er i konflikt med dem i den nye blok, kasseres øjeblikkeligt.

Hver kæde anvender en form for strategi for at sikre, at blokke genereres af en flerhed af dens deltagere. Dette sikrer, at ingen individuel eller lille gruppe af noder kan gribe kontrollen over blockchains indhold. De fleste offentlige blockchains som bitcoin bruger "proof-of-work", som gør det muligt at skabe blokke af enhver på internettet, der kan løse et meningsløst og djævelsk vanskeligt matematisk puslespil. I modsætning hertil har blokke i private blockchains en tendens til at blive underskrevet af en eller flere tilladte validatorer ved at bruge en passende ordning for at forhindre minoritetskontrol. Vores produkt multikæde bruger en teknik kaldet "mining diversity", som kræver, at en minimumsandel af de tilladte validatorer deltager for at skabe en gyldig kæde.

Afhængigt af den anvendte konsensusmekanisme kan to forskellige validatorknudepunkter samtidig generere modstridende blokke, som begge peger på den samme tidligere. Når en sådan "gaffel" sker, vil forskellige noder i netværket først se forskellige blokke, hvilket får dem til at have forskellige meninger om kædens nyere historie. Disse gafler bliver automatisk løst af blockchain-softwaren, med konsensus genvundet, når en ny blok ankommer til en af ​​grenene. Noder, der var på den kortere gren, spoler automatisk deres sidste blok tilbage og afspiller de to blokke på den længere. Hvis vi er virkelig uheldige, og begge grene udvides samtidigt, vil konflikten blive løst efter den tredje blok på den ene gren, eller den efterfølgende, og så videre. I praksis falder sandsynligheden for, at en gaffel vedvarer, eksponentielt, efterhånden som dens længde øges. I private kæder med et begrænset sæt validatorer kan sandsynligheden reduceres til nul efter et lille antal blokeringer.

Ikke desto mindre er det vigtigt at huske, at hver node kører på et computersystem, der ejes og kontrolleres af en bestemt person eller organisation, så blockchain kan ikke styrke det at gøre hvad som helst. Formålet med kæden er at hjælpe ærlige noder med at forblive synkroniserede, men hvis nok af dens deltagere vælger at ændre reglerne, kan ingen jordisk magt stoppe dem. Derfor er vi nødt til at stoppe med at spørge, om en bestemt blockchain virkelig er uforanderlig, for svaret vil altid være nej. I stedet bør vi overveje betingelser hvorunder en bestemt blockchain kan ændres, og tjek derefter, om vi er fortrolige med disse forhold for den use case, vi har i tankerne.

Foranderlighed i offentlige kæder

Lad os vende tilbage til de to eksempler, der er nævnt i indledningen, hvor doktrinen om uforanderlighed er blevet brugt som grundlag for latterliggørelse. Vi vil begynde med påstanden om, at de konsensuelle valideringsprocedurer, der bruges i godkendte blockchains, ikke kan skabe den "sande uforanderlighed", der er lovet af offentlige kæder.

Denne kritik adresseres nemmest ved at pege på sårbarheden af ​​selve offentlige blockchains. Tag for eksempel Ethereum blockchain, som led en ødelæggende udnyttelse i juni 2016. Nogen fandt et kodehul i en smart kontrakt kaldet "The DAO", hvori næsten 250 millioner dollars var blevet investeret, og begyndte at dræne sine midler i hastighed. Selvom dette klart krænkede intentionerne hos kontraktens skabere og investorer, er dens vilkår og betingelser påberåbt sig mantraet om, at "kodeks er lov". Lov eller ej, mindre end en måned senere blev Ethereum-softwaren opdateret for at forhindre hackeren i at trække den "tjente" kryptovaluta tilbage.

Selvfølgelig kunne denne opdatering ikke håndhæves, da hver Ethereum-bruger kontrollerer deres egen computer. Ikke desto mindre blev det offentligt støttet af Vitalik Buterin, Ethereums grundlægger, såvel som mange andre samfundsledere. Som et resultat overholdt de fleste brugere, og blockchainen med de nye regler beholdt navnet "Ethereum". Et mindretal var uenig i ændringen og fortsatte blockchain i henhold til dets oprindelige regler og fik titlen "Ethereum Classic". Et mere præcist valg af navne kan være "Ethereum kompromitteret" og "Ethereum den rene". Uanset hvad, så er demokrati demokrati, og (det pragmatiske og populære) "Ethereum" er nu mere end ti gange værd (den idealistiske, men sidelinjen) "Ethereum Classic".

Lad os nu overveje en mindre velvillig måde, hvorpå offentlig blockchain-uforanderlighed kan undermineres. Husk på, at blokoprettelse eller "mining" i bitcoin og Ethereum bruger et proof-of-work-skema, hvor et matematisk problem skal løses for at generere en blok og kræve dens belønning. Værdien af ​​denne belønning gør uundgåeligt minedrift til et våbenkapløb, hvor minearbejdere konkurrerer om at løse problemerne hurtigere. For at kompensere justerer netværket periodisk sværhedsgraden for at opretholde en konstant hastighed af blokoprettelse, en gang hvert 10. minut i bitcoin eller 15 sekunder i Ethereum.

I de sidste 5 år, bitcoins vanskelighed er steget med en faktor på 350,000×. I dag foregår langt størstedelen af ​​bitcoin-minedrift på dyrt specialiseret hardware, på steder, hvor vejret er koldt og elektricitet er billig. For eksempel vil $1,089 købe dig en Antminer S9, som miner blokerer 10,000 gange hurtigere end nogen stationær computer og forbrænder 10 gange mere elektricitet. Dette er alt sammen langt fra de demokratiske idealer, som bitcoin blev skabt med, selvom det gør blockchain ekstremt sikker.

Nå, lidt sikkert. Hvis nogen ønskede at underminere uforanderligheden af ​​bitcoin blockchain, her er, hvordan de ville gøre det. For det første ville de installere mere minedriftskapacitet end resten af ​​netværket tilsammen, hvilket skaber et såkaldt "51% angreb". For det andet, i stedet for åbent at deltage i minedriftsprocessen, ville de mine deres egen "hemmelige filial", indeholdende de transaktioner, de godkender, og censurere resten. Til sidst, når den ønskede tid var gået, ville de anonymt udsende deres hemmelige afdeling til netværket. Da angriberen har mere minedrift end resten af ​​netværket, vil deres filial indeholde flere bevis på arbejde end den offentlige. Hver bitcoin node vil derfor skifte over, da reglerne for bitcoin siger, at den sværere gren vinder. Alle tidligere bekræftede transaktioner, der ikke er i den hemmelige filial, vil blive tilbageført, og den bitcoin, de brugte, kan sendes andre steder.

Efterhånden vil de fleste bitcoin-troende grine, fordi jeg skrev "installer mere minedriftskapacitet end resten af ​​netværket tilsammen", som om det er trivielt at opnå. Og de har en pointe, for det er den selvfølgelig ikke let, ellers ville mange mennesker allerede have gjort det. Du har brug for en masse mineudstyr og en masse elektricitet til at drive det, som begge koster et væld af penge. Men her er den ubelejlige kendsgerning, som de fleste bitcoinere børster over: For regeringen i ethvert mellemstort land er de nødvendige penge stadig småpenge.

Lad os anslå omkostningerne ved et 51% angreb, som vender et års bitcoin-transaktioner. Ved den nuværende bitcoin-pris på $1500 og en belønning på 15 bitcoins (inklusive transaktionsgebyrer) pr. 10-minutters blok tjener minearbejdere omkring $1.2 milliarder om året ($1500 × 15 × 6 × 24 × 365). Hvis man antager (med rimelighed), at de ikke taber penge samlet set, eller i det mindste ikke taber meget, betyder det, at de samlede minearbejderudgifter også skal ligge i samme rækkevidde. (Jeg forenkler her ved at amortisere engangsomkostningerne ved køb af mineudstyr, men $400 millioner vil købe dig nok Antminer 9'er til at matche det nuværende bitcoin-netværks minekapacitet, så vi er i den rigtige boldbane.)

Tænk nu på rapporter at bitcoin bliver brugt af kinesiske borgere til at omgå deres lands kapitalkontrol. Og overvej yderligere, at den kinesiske regerings skatteindtægter er omkring $3 billioner Per år. Ville et ikke-demokratisk lands regering bruge 0.04 % af sit budget til at lukke ned for en populær metode til ulovligt at tage penge ud af det land? Jeg vil ikke påstå, at svaret er nødvendigvis Ja. Men hvis du tror, ​​at svaret er definitivt nej, du er mere end en smule naiv. Især i betragtning af, at Kina efter sigende beskæftiger 2 millioner mennesker til politiets internetindhold, som i alt beløber sig til 10 milliarder dollars/år, hvis vi antager en lav løn på 5,000 dollars. Det sætter 1.2 milliarder dollars omkostningerne ved at vende et år med bitcoin-transaktioner i perspektiv.

Selv denne analyse underdriver problemet, fordi den kinesiske regering kunne underminere bitcoin-netværket meget nemmere og billigere. Det ser ud til, at størstedelen af ​​bitcoin-minedrift foregår i Kina, på grund af lavpris vandkraft og andre faktorer. Med nogle få kampvogne og delinger kunne Kinas hær fysisk beslaglægge disse bitcoin-mineoperationer og genbruge dem til at censurere eller tilbageføre transaktioner. Mens den bredere bitcoin-verden utvivlsomt ville bemærke, er der intet, den kunne gøre uden fundamentalt at ændre styringsstrukturen (og derfor naturen) af bitcoin selv. Hvad var det med censurfri penge?

Intet af dette skal opfattes som en kritik af bitcoins design eller en forudsigelse om, at en netværkskatastrofe rent faktisk vil ske. Bitcoin blockchain er et bemærkelsesværdigt stykke teknik, måske endda perfekt til det formål, dens skaber(e) havde i tankerne. Og hvis jeg skulle sætte penge på det, ville jeg vædde på, at Kina og andre regeringer sandsynligvis vil ikke angribe bitcoin på denne måde, fordi det ikke er i deres ultimative interesse at gøre det. Mere sandsynligt vil de fokusere deres vrede på dets mere usporbare fætre som Dash, Zcash og Monero.

Ikke desto mindre sætter den blotte mulighed for denne form for interferens doktrinen om cryptocurrency-uforanderlighed i stedet. Bitcoin blockchain og dens lignende er ikke uforanderlige i nogen perfekt eller absolut forstand. De er snarere uforanderlige, så længe ingen, der er store nok og rige nok, beslutter sig for at ødelægge dem. Alligevel ved at stole på økonomisk omkostningerne ved at undergrave netværket, cryptocurrency uforanderlighed tilfredsstiller de specifikke behov hos folk, der ikke ønsker at stole på regeringer, virksomheder og banker. Det er måske ikke perfekt, men det er det bedste, de kan gøre.

Omskrivbare private kæder

Lad os nu gå videre til private blockchains, designet til behovene hos regeringer og store virksomheder. Vi kan begynde med at bemærke, at fra disse organisationers perspektiv er uforanderlighed baseret på bevis for arbejde en kommerciel, juridiske , lovgivningsmæssige ikke-starter, fordi det giver enhver (tilstrækkeligt rig) aktør mulighed for anonymt at angribe netværket. For institutioner kan uforanderlighed kun baseres på god opførsel fra andre lignende institutioner, med hvem de kan underskrive en kontrakt og sagsøge, hvis det er nødvendigt. Som en bonus er private blockchains langt billigere at køre, da blokke kun behøver en simpel digital signatur fra de noder, der godkender dem. Så længe et flertal af validatornoder følger reglerne, er slutresultatet stærkere og billigere uforanderlighed end nogen offentlig kryptovaluta kan tilbyde.

Selvfølgelig er uforanderlighed stadig let at underminere, hvis alle deltagerne i en kæde beslutter sig for at gøre det sammen. Lad os forestille os en privat blockchain, der bruges af seks hospitaler til at samle data om infektioner. Et program på det ene hospital skriver et stort og fejlagtigt datasæt til kæden, hvilket er en kilde til gener for de øvrige deltagere. Et par telefonopkald senere er IT-afdelingerne på alle hospitalerne enige om at "spole tilbage" deres noder en time tilbage, slette de problematiske data og så lade kæden fortsætte, som om intet var hændt. Hvis alle hospitalerne er enige om at gøre dette, hvem skal så stoppe dem? Ja, bortset fra det involverede personale, hvem vil overhovedet vide, at det skete? (Det skal bemærkes, at nogle konsensusalgoritmer kan lide PBFT leverer ikke en officiel mekanisme til tilbagerulning, men dette hjælper ikke med styring, da noder stadig er frie til at omgå reglerne.)

Overvej nu et tilfælde, hvor de fleste af en privat blockchains deltagere er enige om at spole tilbage og fjerne en eller anden transaktion, men nogle få tilbageholder deres samtykke. Da enhver organisations node er under dens ultimative kontrol, kan ingen tvinge mindretallet til at tilslutte sig konsensus. Men ved at holde fast i deres principper vil disse brugere finde sig i at blive ignoreret af alle andre. Ligesom de dydige fortalere for Ethereum Classic kan deres plads i himlen meget vel være sikret. Men her på jorden vil de blive udelukket fra den konsensusproces, som kæden blev indsat til, og kan lige så godt give helt op. Den eneste praktiske anvendelse af transaktioner uden for konsensus er at tjene som bevis ved en domstol.

Med dette i tankerne, lad os tale om det andet tilfælde, hvor doktrinen om blockchain-uforanderlighed er blevet brugt til at latterliggøre ideer. Her henviser vi til Accentures idé om ved hjælp af en kamæleon-hash for at gøre det nemt at udskifte en blok begravet dybt i en kæde. Den primære motivation, som beskrevet af David Treat, er at tillade en gammel problematisk transaktion at blive fjernet hurtigt og effektivt. I henhold til ordningen efterlades der et "ar", som alle deltagere kan se, hvis der sker en blokerstatning. (Det skal bemærkes, at alle senere transaktioner, der afhænger af den slettede, også skal fjernes.)

Det er svært at overvurdere, hvor mange mennesker, der hældte hån over denne idé, da den blev annonceret. Twitter og LinkedIn var forfærdede og forfærdede. Og jeg taler ikke kun om kryptopublikummet, som har sportslig fornøjelse ved at håne alt relateret til enterprise blockchains. Idéen blev også bredt kritiseret af private blockchain-fortalere.

Og alligevel, under de rette betingelser, kan ideen om at tillade blockchains at blive modificeret med tilbagevirkende kraft via kamæleon-hash give perfekt mening. For at forstå hvorfor, begynder vi med et simpelt spørgsmål: i denne type blockchain, hvem ville egentlig have magten til at erstatte gamle blokke? Det er klart, at det ikke kan være en uidentificeret netværksdeltager, fordi det ville gøre kæden ustyrlig.

Svaret er, at en kamæleon-hash kun kan bruges af dem, der har dens hemmelige nøgle. Nøglen er påkrævet for at gøre det muligt for en ny version af en blok, med forskellige transaktioner, at få den samme kamæleon-hash som før. Selvfølgelig ønsker vi nok ikke centraliseret kontrol i en blockchain, så vi kan gøre ordningen stærkere ved at have flere kamæleon-hasher pr. blok, hvis nøgle er i besiddelse af en anden part. Eller vi kan bruge hemmelig deling teknikker til at dele en enkelt kamæleon-hash-nøgle mellem flere parter. Uanset hvad, kan kæden konfigureres, så en tilbagevirkende bloksubstitution kun kan ske, hvis et flertal af nøgleindehavere godkender det. Begynder det at lyde bekendt?

Tillad mig at gøre parallellen mere eksplicit. Lad os sige, at vi deler kontrol over kamæleon-hash mellem de samme validerende noder, som er ansvarlige for blokoprettelse. Det betyder, at en gammel blok kun kan udskiftes, hvis et flertal af validerende noder er enige om at gøre det. Og alligevel, som vi diskuterede tidligere, enhver blockchain kan allerede modificeres med tilbagevirkende kraft af et flertal af validerende noder via tilbagespolings- og genafspilningsmekanismen. Så med hensyn til styring, kamæleon-hash, der er underlagt et valideringsflertal, gør ingen forskel overhovedet.

Hvis ja, hvorfor besvære dem? Svaret er: præstationsoptimering, fordi kamæleon-hash gør det muligt at erstatte gamle blokke i en kæde langt mere effektivt end før. Forestil dig, at vi skal fjerne en transaktion fra starten af ​​en blockchain, der har kørt i 5 år. Måske skyldes det EU's ret til at blive glemt lovgivning, som giver enkeltpersoner mulighed for at få fjernet deres personoplysninger fra virksomheders registre. Noder kan ikke bare slette den fornærmende transaktion fra deres diske, fordi det ville ændre den tilsvarende bloks hash og bryde et led i kæden. Næste gang blockchainen blev scannet eller delt, ville alt falde fra hinanden.

For at løse dette problem uden kamæleon-hash, vil noder skulle omskrive den tidlige blok uden den problematiske transaktion, beregne blokkens nye hash og derefter ændre hashen, der er indlejret i den næste blok, så den matcher. Men det ville også påvirke den næste bloks egen hash, som skal genberegnes og opdateres i den efterfølgende blok, og så videre hele vejen hen ad kæden. Selvom denne mekanisme i princippet er mulig, kan det tage timer eller dage at gennemføre i en blockchain med millioner af blokke og transaktioner. Endnu værre, mens en node er involveret i denne proces, kan den være ude af stand til at behandle ny indkommende netværksaktivitet. Så kamæleon-hasher giver en langt mere beregningseffektiv måde at opnå det samme mål på. Hvis du forestiller dig en dårlig transaktion som en sten, der er begravet mange kilometer under jorden, kan kamæleon-hasher teleportere stenen til overfladen, i stedet for at få os til at grave helt ned, hente stenen og fylde hullet ud.

Uforanderlighed er nuanceret

Ved at gennemgå risiciene ved proof-of-work-blockchains og den tekniske værdi af kamæleon-hash, håber jeg at have overbevist dig om, at blockchain-uforanderlighed er langt mere nuanceret end et "ja eller nej"-spørgsmål. At citere Simon Taylor citerer Ian Grigg, spørgsmålet må altid være "hvem er du, og hvad vil du opnå?"

For cryptocurrency-troende, der ønsker at undgå statsudstedte penge og det traditionelle banksystem, giver det perfekt mening at tro på en offentlig proof-of-work blockchain, hvis uforanderlighed hviler på økonomi snarere end betroede parter. Selvom de må leve med muligheden for, at en stor regering (eller anden velhavende aktør) vælter netværket, kan de trøste sig med, at dette ville være en smertefuld og dyr operation. Og uden tvivl håber de, at kryptovalutaer kun bliver mere sikre, da deres værdi og minekapacitet fortsætter med at vokse.

På den anden side, for virksomheder og andre institutioner, der ønsker at dele en database sikkert på tværs af organisatoriske grænser, giver bevis-på-arbejde uforanderlighed overhovedet ingen mening. Ikke alene er det forbløffende dyrt, men det giver enhver tilstrækkeligt motiveret deltager mulighed for anonymt at gribe kontrol over kæden og censurere eller tilbageføre transaktioner. Hvad disse brugere har brug for, er uforanderlighed baseret på den gode opførsel af et flertal af identificerede validatorknuder, understøttet af kontrakter og lov.

Endelig, for de fleste tilladte blockchain-brugssager, ønsker vi nok ikke, at validatornoder nemt og billigt kan erstatte gamle blokke i kæden. Som Dave Birch sagde på det tidspunkt, "måden at rette en forkert debitering på er med en korrekt kreditering", i stedet for at lade som om, at debiteringen aldrig fandt sted. Ikke desto mindre, i de tilfælde, hvor vi har brug for den ekstra fleksibilitet, hjælper kamæleon-hash med at gøre blockchains til et praktisk valg.

Skriv eventuelle kommentarer på LinkedIn.

Tidsstempel:

Mere fra multikæde