-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathethereumintro.html
185 lines (157 loc) · 5.87 KB
/
ethereumintro.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>reveal.js</title>
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<h2>Cryptography</h2>
The study of techniques for secure communication in the presence of adversaries.
</section>
<section>
<blockquote>Cryptography is one of the very few fields where adversarial conflict continues to heavily favor the defender<br>— Vitalik Buterin, <a href="https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51">A Proof of Stake Design Philosophy</a></blockquote>
</section>
<section>
<h3>Important Functions</h3>
<ul>
<li>Hashing</li>
<li>Public-Key Cryptography (Elliptic Curve Cryptography)</li>
<li>Zero Knowledge Proofs</li>
<li>Merkle Trees</li>
</ul>
</section>
<section>
<h2>A History Lesson</h2>
<ul>
<li>The Cypherpunks and the Crypto-Anarchists</li>
<li>Weapons classification and backdoors</li>
<li>HashCash, Bit Gold, and Smart Contracts</li>
</ul>
</section>
<section>
<blockquote>Social scalability is the ability of an institution to overcome shortcomings in human minds and in the motivating or constraining aspects of said institution that limit who or how many can successfully participate.<br>– Nick Szabo, <a href ='http://unenumerated.blogspot.hr/2017/02/money-blockchains-and-social-scalability.html'>Money, blockchains, and social scalability</a></blockquote>
</section>
<section>
<h1>Blockchains!</h1>
<h3>Leveraging Cryptography for Social Scalability</h3>
</section>
<section>
<h2>Bitcoin: A psuedoanonymous digital transaction ledger</h2>
<small>(AKA magic internet money)</small>
<br>
<ul>
<li>Satoshi Nakamoto</li>
<li>No central authority</li>
<li>Proof of work</li>
<li>Worth like 10 billion dollars</li>
</ul>
</section>
<section data-background="img/bitcoin.jpg" data-background-size="contain">
</section>
<section>
<h2>Mining</h2>
<ul>
<li>A validation based election</li>
<li>Block rewards: incentivizing rule following</li>
</ul>
</section>
<section>
<h2>But..</h2>
<ul>
<li>Slow</li>
<li>Expensive</li>
<li>Terrible environmentally</li>
<li><i>Just does money</i></li>
</ul>
</section>
<section>
<h2>Enter Wunderkind Vitalik</h2>
</section>
<section data-background="img/ethereum.jpg" data-background-size="contain">
</section>
<section>
<h3>Ethereum does everything</h3>
<ul>
<li>Built in Virtual Machine as powerful as a 2001 phone</li>
<li>Proof of Stake</li>
<li>Sharding</li>
</ul>
</section>
<section>
<h2>DApps!</h2>
<ul>
<li>Arbitrary state changes!</li>
<li>Smart Contracts!</li>
<li>Shared protocols!</li>
<li>Trust!</li>
</ul>
</section>
<section>
<h3>DApps: Decentralized Apps for Universal Infrastructure</h3>
<ul>
<li>Shared data and the rules for governing it</li>
<li><i>Smart</i> Contracts (but really so much more)</li>
<li>Social, social, social</li>
<li>Reduce the transactional cost of everything, for everyone</li>
</ul>
</section>
<section>
<h3>Accessible Cryptoeconomics</h3>
<ul>
<li>Make rules explicit</li>
<li>All in one place </li>
<li>Extensible, hackable, playable, by default</li>
</ul>
</section>
<section>
<pre><code>
contract MyToken {
mapping (address => uint256) public balanceOf;
function MyToken(
uint256 initialSupply
) {
balanceOf[msg.sender] = initialSupply;
}
function transfer(address _to, uint256 _value) {
if (balanceOf[msg.sender] < _value) throw;
if (balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
}}
</pre></code>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
history: true,
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/notes/notes.js', async: true },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>