-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocumentation.html
78 lines (73 loc) · 5.33 KB
/
documentation.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation</title>
<link rel="icon" href="images/logo/logo only.png" type="image/icon type">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Diphylleia&family=Great+Vibes&family=Quicksand&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="styles/documentation.css">
<link rel="stylesheet" href="styles/nft-footer.css">
<link rel="stylesheet" href="styles/nft-nav.css">
<link rel="stylesheet" href="styles/sideNav.css">
</head>
<body>
<nav></nav>
<div id="mySideNav" class="sidenav"></div>
<div class="heading">Documentation-My Notes</div>
<hr>
<div class="sub-heading">Blockchain</div>
<ul class="content">
<li>Inventors: Stuart Haber & W. Scott Stornetta</li>
<li>Distributed immutable ledger, transparent, decentralised, distributed P2P network</li>
<li>Hashing: SHA256: 64 hexadecimal : 256 bits</li>
<li>Nonce is a number for which the miners are solving, used as the other components of a block can't be changed</li>
<li>Target is a number that a block hash must be below for the block to be added, adjusted timely so that the average mining time of block is 10minutes</li>
<li>Mining : process of validation of information according to specific criteria, prevent double spending</li>
<li>Byzantine Generals Problem: 2/3rd need to support a decision</li>
<li>Consensus Protocol: prevents attacks, competing chain problem</li>
<li>Mines get a reward for each block added and for transaction verification</li>
<li>Miner are beware as they have to give a lot of computing power(money)</li>
<li>When a miner adds a block they other nodes first run a long verification algorithm.This verification is a very short time process</li>
<li>Proof of Work: longer chain persists, better computing power more chance of adding the block</li>
<li>The removed block from the shorted blockchain is called orphan block and the miner who mined it will not get any reward,so one should wait for another 5 blocks(6 confirmations) to added to verify a transaction </li>
<li>Needs only 51% majority</li>
<li>Monetary policy : maintain the supply of currency</li>
<ul>For bitcoin:
<li>Invented by: Satoshi nakamoto</li>
<li>the halving: every four years or when the block number increases by 210,000 the number of new bitcoins added is halved, the supply cap is 21million that of 2140 and new BT=0, i.e. the miners wont get rewards though they would receive the transaction fee</li>
<li>Block frequency : on an average it will take 10 minutes to create a new block, if blocks are mined faster the target is made more difficult and vice-versa</li>
</ul>
<li>CPU<10MH/S, GPU<1GH/s, AISC>1000GH/s</li>
<li>The larger mining pools in not always the best as the rewards are distributed according to the computational power</li>
<li>nonce range 32bit: 2^32 ~ 4billion, the number of possible hashes is 16^64 ~ 10^77</li>
<li>So we add a timestamp(unix time) with it to account for the left hashes</li>
<li>The nonces are covered in negligible time(compared to 1sec). What to do the remaining time till that timestamp changes i.e. 1 sec passes?</li>
<li>Mempool: pool of all pending (added to a block) transactions</li>
<li>The miner removes the least fee transaction from the pool(of highest transaction fee) and add just a bit lower then tries and repeats it</li>
<li>Current hashing rate is 500 million trillion hashes/sec</li>
<li>UTXO: unspent transaction output</li>
<li>The left amount is shown as a back to me transaction</li>
<li>How to find the balance: discard the used transactions and then add the remaining transactions in which 'me' receives</li>
<li>We use public key when we need to make a transaction so we give it to the receiver, while bitcoin address is used when we have to receive a transaction</li>
<li>The signature and public key took 60-65% of the space(ScriptSig) while adding a transaction to a block for verification , so after 2017 this was sent separately(segregated witness), approx size of a block 1MB</li>
<li>Hierarchically Deterministic wallets: multiple private keys by a master private key</li>
</ul>
<div class="sub-heading">About Me</div>
<pre class="content">
Name: Samarth Jindal
Adm No: 23JE0856
Email: 23je0856@iitism.ac.in
samarth.jindal2004@gmail.com
Mobile No: 7818985227
GitHub Id: samarth.jindal2004@gmail.com
</pre>
<footer></footer>
<script src="javascript/sideNav.js"></script>
<script type="module" src="javascript/homepage/renderNavbar.js"></script>
<script type='module' src="javascript/homepage/renderFooter.js"></script>
</body>
</html>