Loading market data...

Ethereums tilfeldighet er kryptografisk, ikke Math.random()

Ethereums tilfeldighet er kryptografisk, ikke Math.random()

The Math.random() trap

" -> "

Math.random()-fellen

" or "Fellen med Math.random()". We'll use "Math.random()-fellen". Paragraph: "Math.random() is a pseudorandom number generator. It takes a seed and produces a sequence that looks random but is entirely deterministic. If you know the seed, you can predict every number that follows. On a public blockchain, that's a fatal flaw. Miners or validators could see the seed, or even influence it, and game the system." Translation: "Math.random() er en pseudotilfeldig tallgenerator. Den tar et frø og produserer en sekvens som ser tilfeldig ut, men som er helt deterministisk. Hvis du kjenner frøet, kan du forutsi hvert tall som følger. På en offentlig blokkjede er det en fatal svakhet. Gruvearbeidere eller validatorer kan se frøet, eller til og med påvirke det, og utnytte systemet." We might use "gruvearbeidere" or "minere"? For crypto, "minere" is common. I'll use "minere" to be more natural. Also "validatorer" is fine. Next: "There's also the verifiability problem. With Math.random(), there's no way for users to prove the output was actually random. You'd have to trust the contract developer. On a decentralized network, that trust is hard to come by." Translation: "Det er også et verifiseringsproblem. Med Math.random() er det ingen måte for brukere å bevise at resultatet faktisk var tilfeldig. Du måtte stole på kontraktutvikleren. På et desentralisert nettverk er den tilliten vanskelig å oppnå." Next: "

How Ethereum does randomness

" -> "

Hvordan Ethereum gjør tilfeldighet

" or "Hvordan Ethereum håndterer tilfeldighet". I'll use "Hvordan Ethereum genererer tilfeldighet" but it's fine. Paragraph: "Ethereum instead uses cryptographic methods to produce randomness. These methods are designed so that the output is verifiable by anyone. That means a user can check that the randomness wasn't manipulated after the fact." Translation: "Ethereum bruker i stedet kryptografiske metoder for å produsere tilfeldighet. Disse metodene er utformet slik at resultatet er verifiserbart av enhver. Det betyr at en bruker kan kontrollere at tilfeldigheten ikke ble manipulert i etterkant." Next: "The exact mechanics are complex, but the idea is simple: combine inputs from multiple parties in a way that no single actor can control the result. The output is then hashed or otherwise processed to produce a final random value. Because the process is transparent, the result can be audited." Translation: "De nøyaktige mekanismene er komplekse, men ideen er enkel: kombiner innspill fra flere parter på en måte som ingen enkeltaktør kan kontrollere resultatet. Utdataene blir deretter hashet eller på annen måte behandlet for å produsere en endelig tilfeldig verdi. Fordi prosessen er transparent, kan resultatet bli revidert." Next: "

Why verifiability is non-negotiable

" -> "

Hvorfor verifiserbarhet er ikke-omsettelig

" or "Hvorfor verifiserbarhet er en forutsetning". I'll use "Hvorfor verifiserbarhet er ikke-omsettelig" - but "non-negotiable" often translated as "ikke-omsettelig" or "ikke-omsettelig". Actually "ikke-omsettelig" is fine. Or "ikke-omsettelig" is a bit formal. Maybe "Hvorfor verifiserbarhet er avgjørende" - but we want to keep meaning. I'll go with "Hvorfor verifiserbarhet er ikke-omsettelig". Paragraph: "Smart contracts that pick winners, shuffle cards, or assign traits need randomness they can trust. If the randomness is predictable, the whole application is broken. A lottery could be gamed. A game could be rigged. An NFT drop could be front-run." Translation: "Smarte kontrakter som velger vinnere, blander kort eller tildeler egenskaper, trenger tilfeldighet de kan stole på. Hvis tilfeldigheten er forutsigbar, er hele applikasjonen ødelagt. Et lotteri kan bli manipulert. Et spill kan bli rigget. En NFT-drop kan bli front-run." "front-run" is a term, we can keep as "front-run" or "frontrunning" - maybe "front-run" is fine. Next: "Verifiable randomness turns that around. It gives users a way to confirm that the outcome was fair. That's not just a nice feature — it's a requirement for any application that wants to operate without a central authority." Translation: "Verifiserbar tilfeldighet snur dette rundt. Det gir brukerne en måte å bekrefte at utfallet var rettferdig. Det er ikke bare en fin funksjon – det er et krav for enhver applikasjon som vil operere uten en sentral autoritet." Next: "

A common misconception

" -> "

En vanlig misforståelse

" Paragraph: "New blockchain developers often reach for Math.random() out of habit. It's a natural instinct — it works everywhere else. But on-chain, it's a non-starter. The learning curve is real, and the mistake usually surfaces during testing when someone figures out they can predict the output." Translation: "Nye blockchain-utviklere strekker seg ofte etter Math.random() av vane. Det er en naturlig instinkt – det fungerer alle andre steder. Men på kjeden, er det en non-starter. Læringskurven er reell, og feilen dukker vanligvis opp under testing når noen finner ut at de kan forutsi resultatet." "non-starter" - we can say "ikke aktuelt" or "ikke mulig". But keep "non-starter" as is? Better to translate: "Men på kjeden er det ikke aktuelt." Or "Men på kjeden er det en ikke-starter." I'll use "ikke aktuelt" for clarity. "Læringskurven er reell" is fine. Next: "

The takeaway

" -> "

Konklusjonen

" or "Det viktigste å ta med seg". I'll use "Oppsummeringen" but "takeaway" is often "hovedpoenget". I'll use "Konklusjonen". Paragraph: "Ethereum's choice to use cryptographic randomness over Math.random() isn't a stylistic preference. It's a fundamental requirement of building trustless systems. For developers, that means understanding the difference between pseudorandomness and verifiable randomness is essential. For users, it's a guarantee that the games