forked from aaronbloomfield/ccc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
251 lines (241 loc) · 11.7 KB
/
index.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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Cryptocurrency: UVA specific material, fall 2023</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../markdown.css" />
<script>
function openTab(evt, tabName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
}
function insertCopyLink(text) {
document.write("<span class=\"copylink copy_img\" onclick=\"navigator.clipboard.writeText('" + text.replace(/\"/g,"\\'") + "')\"></span>");
}
</script>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="cryptocurrency-uva-specific-material-fall-2023">Cryptocurrency: UVA specific material, fall 2023</h1>
<p><a href="../readme.html">Go up to the main CCC readme</a> (<a href="../readme.md">md</a>)</p>
<p>Much of the rest of this repository is meant to be generic to anybody who has a class such as this one. This page contains details specific to the specific version of the course at the University of Virginia.</p>
<hr />
<h2 id="links">Links</h2>
<p>There are a number of links and other parts of this course that are <strong>NOT</strong> included in this repository. They are:</p>
<ul>
<li>Any concerns you have should be handled via a support request; the link is on the <a href="https://canvas.its.virginia.edu/courses/72253">Canvas landing page</a></li>
<li>Assignment submission is through the Gradescope tool in Canvas</li>
<li>The <a href="https://piazza.com/class/llkzesh3p545k6">Piazza forum for this course</a>; Canvas can log you in directly – the Canvas tool link is <a href="https://canvas.its.virginia.edu/courses/72253/external_tools/21">here</a></li>
<li>The link for the VirtualBox image will be available on the <a href="https://canvas.its.virginia.edu/courses/72253">Canvas landing page</a>. For how to install it, see <a href="https://uva-cs.github.io/pdr/tutorials/01-intro-unix/virtual-box.html">here</a>.</li>
<li>Apparently anonymous feedback is not currently available in Canvas</li>
</ul>
<!-- no longer available in canvas:
- ~~[Email list archive](...): not a canvas tool~~
- ~~[Anonymous feedback](...): not a canvas tool~~
-->
<p>The parts of this course that are in this repo are:</p>
<ul>
<li><a href="syllabus.html">Course syllabus</a> (<a href="syllabus.md">md</a>)</li>
<li><a href="daily-announcements.html#/">Daily announcements</a></li>
<li><a href="hw-policies.html">Homework policies page</a> (<a href="hw-policies.md">md</a>)</li>
<li><a href="grades.html">Final course grade determination</a> (<a href="grades.md">md</a>)</li>
</ul>
<h2 id="readings">Readings</h2>
<!-- All scholarly articles (such as from the ACM digital library) can be obtained from free from any UVA wireless network. Some of them you will *NOT* be able to get it for free from your home Internet provider such as Comcast (unless you live in a UVA dorm, of course) without using a UVA VPN. -->
<p>All readings are due by the start of lecture that day. You should expect there to be in-class quizzes on each reading.</p>
<p>None assigned yet!</p>
<!--
- Due Friday, February 17th: HW S3: Read the [Ethereum whitepaper](https://ethereum.org/en/whitepaper/) ([PDF](https://canvas.its.virginia.edu/courses/72253/files?preview=1043863))
- You can skip (or quickly browse) the first 3 sub-parts of the ‘History’ section (‘Bitcoin’, ‘Mining’, and ‘Merkle Trees’); also skip the ‘references and further reading’ section at the end; what’s left is 32 pages (of large and widely-spaced text) in the PDF to read
- Be sure you do ***NOT*** read the [outdated PDF](https://ethereum.org/669c9e2e2027310b6b3cdce6e1c52962/Ethereum_Whitepaper_-_Buterin_2014.pdf), which is what a lot of searches for "ethereum whitepaper pdf" will return
- Due Friday, February 3rd: HW S2: Read the [Bitcoin whitepaper](https://bitcoinwhitepaper.co/) ([PDF](https://bitcoinwhitepaper.co/bitcoin.pdf)) (also in Canvas [here](https://canvas.its.virginia.edu/files/981134/download?download_frd=1))
-->
<h2 id="homeworks">Homeworks</h2>
<p>Reading assignments are due by the start of the lecture that day, and all other homeworks are due by the end of the day of the due date given – this means by 11:59:59 pm. The late policies are discussed in the <a href="hw-policies.html">homework policies page</a> (<a href="hw-policies.md">md</a>). Submission is through the Gradescope Canvas tool – all submissions should open up 2 days (i.e., 48 hours) prior to the due date/time. The larger (“P”) homeworks are due on Tuesdays by the end of the day; the smaller homeworks will have varying due days.</p>
<h4 id="larger-programming-homeworks">Larger Programming Homeworks</h4>
<p>All of the programming homeworks are due by the end of the day (11:59:59 pm). To avoid having the due dates having to be listed in too many places, the homeworks and their due dates are not shown here. The homeworks themselves can be seen on the <a href="../hws/index.html">Homeworks page</a> (<a href="../hws/index.md">md</a>) – but please don’t start on one until it’s announced in class that it is ready! You can see the due dates in the <a href="daily-announcements.html#/">daily announcements</a> and the <a href="https://canvas.its.virginia.edu/courses/72253">Canvas landing page</a>.</p>
<h4 id="smaller-homeworks">Smaller Homeworks</h4>
<p>Readings are due by the start of lecture on that day; all other homeworks are due by the end of the day (11:59:59 pm).</p>
<p>None assigned yet!</p>
<!--
- Due Tue, 3/14, by midnight: [HW S5: dApp Introduction](../hws/dappintro/index.html) ([md](../hws/dappintro/index.md))
- Due Thu, 3/2, by midnight: [HW S4: Connecting to the Private Ethereum Blockchain](../hws/ethprivate/index.html) ([md](../hws/ethprivate/index.md)); see the [Canvas landing page][1] for the necessary information
- Due Friday, February 17th: HW S3: Read the [Ethereum whitepaper](https://ethereum.org/en/whitepaper/) ([PDF](https://canvas.its.virginia.edu/courses/72253/files?preview=1043863))
- You can skip (or quickly browse) the first 3 sub-parts of the ‘History’ section (‘Bitcoin’, ‘Mining’, and ‘Merkle Trees’); also skip the ‘references and further reading’ section at the end; what’s left is 32 pages (of large and widely-spaced text) in the PDF to read
- Be sure you do ***NOT*** read the [outdated PDF](https://ethereum.org/669c9e2e2027310b6b3cdce6e1c52962/Ethereum_Whitepaper_-_Buterin_2014.pdf), which is what a lot of searches for "ethereum whitepaper pdf" will return
- Due Friday, February 3rd: HW S2: Read the [Bitcoin whitepaper](https://bitcoinwhitepaper.co/) ([PDF](https://bitcoinwhitepaper.co/bitcoin.pdf)) (also in Canvas [here](https://canvas.its.virginia.edu/courses/72253/files?preview=981134))
- Due Tuesday, January 24th: HW S1: fill out the Google survey (link on the [Canvas landing page][1]) by the end of the day on Tuesday, Jan 24th
-->
<h2 id="course-calendar">Course calendar</h2>
<table>
<thead>
<tr class="header">
<th>Week #</th>
<th>Week of Monday</th>
<th>Lecture days</th>
<th>HWs due</th>
<th>Expected Topics</th>
<th>Actual Progress</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>Aug 21</td>
<td>W,F</td>
<td></td>
<td><a href="../slides/introduction.html#/">Course introduction</a>, <a href="../slides/overview.html#/">Overview</a></td>
<td>Wed: finished intro; Fri: overview to 5.2</td>
</tr>
<tr class="even">
<td>2</td>
<td>Aug 28</td>
<td>M,W,F</td>
<td></td>
<td><a href="../slides/encryption.html#/">Encryption</a></td>
<td>Mon: finished overview; Wed: encryption to 4.7</td>
</tr>
<tr class="odd">
<td>3</td>
<td>Sep 4</td>
<td>M,W,F</td>
<td>P1 (Introduction)</td>
<td><a href="../slides/encryption.html#/">Encryption</a></td>
<td></td>
</tr>
<tr class="even">
<td>4</td>
<td>Sep 11</td>
<td>M,W,F</td>
<td>P2 (ECDSA)</td>
<td><a href="../slides/bitcoin.html#/">Bitcoin</a></td>
<td></td>
</tr>
<tr class="odd">
<td>5</td>
<td>Sep 18</td>
<td>M,W,F</td>
<td>P3 (BTC parser)</td>
<td><a href="../slides/bitcoin.html#/">Bitcoin</a></td>
<td></td>
</tr>
<tr class="even">
<td>6</td>
<td>Sep 25</td>
<td>M,W,F</td>
<td>P4 (BTC scripting)</td>
<td><a href="../slides/ethereum.html#/">Ethereum</a></td>
<td></td>
</tr>
<tr class="odd">
<td>7</td>
<td>Oct 2</td>
<td>W,F</td>
<td>S4 (ETH Private)</td>
<td><a href="../slides/solidity.html#/">Solidity</a></td>
<td></td>
</tr>
<tr class="even">
<td>8</td>
<td>Oct 9</td>
<td>M,W,F</td>
<td>midterm</td>
<td><a href="../slides/tokens.html#/">Tokens</a></td>
<td></td>
</tr>
<tr class="odd">
<td>9</td>
<td>Oct 16</td>
<td>M,W,F</td>
<td>S5 (dApp intro)</td>
<td><a href="../slides/mining.html#/">Mining</a></td>
<td></td>
</tr>
<tr class="even">
<td>10</td>
<td>Oct 23</td>
<td>M,W,F</td>
<td>P5 (Gradebook)</td>
<td><a href="../slides/applications.html#/">Blockchain applications</a></td>
<td></td>
</tr>
<tr class="odd">
<td>11</td>
<td>Oct 30</td>
<td>M,W,F</td>
<td>P6 (Tokens)</td>
<td><a href="../slides/scalability.html#/">Scalability</a></td>
<td></td>
</tr>
<tr class="even">
<td>12</td>
<td>Nov 6</td>
<td>M,W,F</td>
<td>P7 (Auction)</td>
<td><a href="../slides/stablecoins.html#/">Stablecoins</a></td>
<td></td>
</tr>
<tr class="odd">
<td>13</td>
<td>Nov 13</td>
<td>M,W,F</td>
<td>P8 (DEX)</td>
<td><a href="../slides/consensus.html#/">Consensus</a></td>
<td></td>
</tr>
<tr class="even">
<td>14</td>
<td>Nov 20</td>
<td>M</td>
<td>P9 (DAO&web3)</td>
<td><a href="../slides/zksnarks.html#/">zkSNARKs</a></td>
<td></td>
</tr>
<tr class="odd">
<td>15</td>
<td>Nov 27</td>
<td>M,W,F</td>
<td>P10 (Arbitrage)</td>
<td><a href="../slides/ethics-legal-policy.html#/">Ethics, Legality, and Policy</a>, <a href="../slides/darkside.html#/">The Dark Side of Cryptocurrency</a></td>
<td></td>
</tr>
<tr class="even">
<td>16</td>
<td>Dec 4</td>
<td>M</td>
<td>P11 (Metamask)</td>
<td><a href="../slides/conclusion.html#/">Course conclusion</a></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="legal-issues">Legal Issues</h2>
<p>This course has received approval from the necessary parts of UVA: <a href="https://virginia.service-now.com/its/">ITS</a>, <a href="https://security.virginia.edu/">InfoSec</a>, and the <a href="https://universitycounsel.virginia.edu/">Office of the University Counsel</a>. Specifically, the cryptocurrencies created in this course will be exchangeable with each other, but not with any cryptocurrency outside the course; thus they have no monetary value. Because they have no monetary value, and because the activities in this course are necessary to achieve the academic goals of the course, these various activities of this course, including mining, have been judged to be legal.</p>
</body>
</html>