<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="/i/2422.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>/i2422</title>
<style>
* {
box-sizing: border-box;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 28px;
margin: 0;
}
body a {
text-decoration: none;
color: #2471A3;
}
body a:hover {
font-weight: bold;
color: #8871A3;
}
</style>
</head>
<body bgcolor="#BAADBE" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<img border="0" alt="/i/2422.png" src="/i/2422.png" width="100%" height="20" align="top">
<p id="whatluck" align="center"></p>
<script>
let luck = "";
const d = new Date();
const y = d.getFullYear();
const m = 1+d.getMonth();
const x = d.getDate();
const r = d.getTime() + 168;
for (let s = 1; s < 3; s++) {
let z = 999*y*m*x+9*s*(s+1)*(y+m+x)+s+r;
let a = 9776+z%8;
let a2 = 9800+(z+m)%12;
let a3 = 8528+(z+x+m)%15;
let a4 = 126976+(z+x+y)%42;
let b = z%10000;
let b2 = 126976+(z+m)%42;
let b3 = 126976+(z+m+y)%42;
let b4 = 126976+(z+m+y+x)%42;
let b5 = 128000+(z+x)%61;
let b6 = 128512+(z+y+x)%56;
let c = (z+m*x+123)%40 + 20;
let d = c * 100;
let e = (z*3+m+x+y+321)%20 + 20;
let f = d + e;
let sss = 1 + (s+r)%2;
let ss = 9792+(sss-1)*2;
luck += '<a href="/i'+f+'" title="good i'+f+' luck !"><img border="0" src="/i/'+f+'.png" height="25">'+' &#'+ss+';'+ '&#'+a+';'+'&#'+b5+';'+'&#'+a4+';'+'&#'+b2+';'+'&#'+b3+';'+'&#'+b4+';'+'<img border="0" src="/i/'+f+'.png" height="25"></a><br>';
}
document.getElementById("whatluck").innerHTML = luck;
</script>
<p align = "center">
<b>Bitcoin P2P e-cash paper : the Byzantine Generals' Problem</b>
</p>
<blockquote>
November 13, 2008 From : Satoshi Nakamoto<br><br>
The proof-of-work chain is a solution to the Byzantine Generals' Problem. I'll try to rephrase it in that context.<br>
<br>
A number of Byzantine Generals each have a computer and want to attack the King's wi-fi by brute forcing the password, which they've learned is a certain number of characters in length. Once they stimulate the network to generate a packet, they must crack the password within a limited time to break in and erase the logs, otherwise they will be discovered and get in trouble. They only have enough CPU power to crack it fast enough if a majority of them attack at the same time.<br>
<br>
They don't particularly care when the attack will be, just that they all agree. It has been decided that anyone who feels like it will announce a time, and whatever time is heard first will be the official attack time. The problem is that the network is not instantaneous, and if two generals announce different attack times at close to the same time, some may hear one first and others hear the other first.<br>
<br>
They use a proof-of-work chain to solve the problem. Once each general receives whatever attack time he hears first, he sets his computer to solve an extremely difficult proof-of-work problem that includes the attack time in its hash. The proof-of-work is so difficult, it's expected to take 10 minutes of them all working at once before one of them finds a solution. Once one of the generals finds a proof-of-work, he broadcasts it to the network, and everyone changes their current proof-of-work computation to include that proof-of-work in the hash they're working on. If anyone was working on a different attack time, they switch to this one, because its proof-of-work chain is now longer.<br>
<br>
After two hours, one attack time should be hashed by a chain of 12 proofs-of-work. Every general, just by verifying the difficulty of the proof-of-work chain, can estimate how much parallel CPU power per hour was expended on it and see that it must have required the majority of the computers to produce that much proof-of-work in the allotted time. They had to all have seen it because the proof-of-work is proof that they worked on it. If the CPU power exhibited by the proof-of-work chain is sufficient to crack the password, they can safely attack at the agreed time.
<br><br>
The proof-of-work chain is how all the synchronisation, distributed database and global view problems you've asked about are solved.<br><br>
Satoshi Nakamoto<br>
<br>
<a href="https://satoshi.nakamotoinstitute.org/emails/cryptography/threads/1/#014814" title="Cryptography Mailing List"> Cryptography Mailing List</a></blockquote>
<p align = "center">
<font size="2">Owner Log Records for :</font><br>
<img alt="" src="/i/2422.png" width="25"><b> i/2422.png</b>
<img alt="" src="/i/2422.png" width="25"> <br>
Linked
<a
href="https://opensea.io/item/ethereum/0x495f947276749ce646f68ac8c248420045cb7b5e/796638993731848468553700001337130722622321311759604289543104124121260228609"
target="_top" title="i/2422.png OpenSea Qora2 NFT">
OpenSea NFT
</a>
<br>
Linked Qora Name :<br><a href="/genovesa" target="_top" title="Qora Name : /genovesa">/genovesa</a>
on <a href="/i" target="_top" title="Qora Name : /i World Map">/i World Map</a><br>
Owner :<br><a href="/okchai" target="_top" title="Qora Name : /okchai">Okchai</a> since June 2023
<br><br>
<a href="/aitway" title="aitway's dweb">AITWAY.COM</a> <b>50%</b> off for OpenSea Qora & Qora2 <a href="/opensea/2" title="Qora and Qora2 NFT by okchai">NFT</a> holders
<br>
<br><a href="/i2421" title="/i2421">{ -</a> [] <a href="/i2423" title="/i2423">- }</a>
</p>
<img border="0" alt="/i/2422.png" src="/i/2422.png" width="100%" height="20" align="absbottom">
<iframe width="100%" height="550" frameborder="0" src="/footer" name="foot" border="0"></iframe>
</body>
</html>