-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathcryptolegal.html
158 lines (146 loc) · 8.54 KB
/
cryptolegal.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
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="https://hardmath123.github.io/cryptolegal.html"/>
<link rel="stylesheet" type="text/css" href="/static/base.css"/>
<title>Cryptolegal - Comfortably Numbered</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="alternate" type="application/rss+xml" title="Comfortably Numbered" href="/feed.xml" />
<!--
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script>
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$']]}
});
</script>
-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-Um5gpz1odJg5Z4HAmzPtgZKdTBHZdw8S29IecapCSB31ligYPhHQZMIlWLYQGVoc" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-YNHdsYkH6gMx9y3mRkmcJ2mFUjTd0qNQQvY9VYZgQd7DcN7env35GzlmFaZ23JGp" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-vZTG03m+2yp6N6BNi5iM4rW4oIwk5DfcNdFfxkk9ZWpDriOkXX8voJBFrAO7MpVl" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
// customised options
// • auto-render specific keys, e.g.:
delimiters: [
{left: '$$', right: '$$', display: true},
{left: '$', right: '$', display: false},
{left: '\\begin{align}', right: '\\end{align}', display: true},
{left: '\\(', right: '\\)', display: false},
{left: '\\[', right: '\\]', display: true}
],
// • rendering keys, e.g.:
throwOnError : false
});
});
</script>
</head>
<body>
<header id="header">
<script src="static/main.js"></script>
<div>
<a href="/"><span class="left-word">Comfortably</span> <span class="right-word">Numbered</span></a>
</div>
</header>
<article id="postcontent" class="centered">
<section>
<h1>Cryptolegal</h1>
<center><em><p>A short story I wrote late last night.</p>
</em></center>
<h4>Friday, July 18, 2014 · 3 min read</h4>
<p>The judge banged the gavel. It didn’t help, of course, since there was nobody
to hear it. But the lead designer wanted to add a human touch so that the
public would be more accepting, and so the gavel banged. 24 other gavels
banged, too, throughout the day as the 24 other judges reached various points
in their cycles. Hal, the janitor, disapproved of leaving them in the basement;
they were truly magnificent; but they need to be kept below freezing to prevent
the heat from melting them.</p>
<p>As Conway Courts opened its doors on Monday morning, there was a bustle in the
air, the kind of electric bustle that is distinctly in the air when the biggest
hacking incident of the year (maybe even the decade) is about to be put on
trial.</p>
<p>The New York Cryptographic Currency Exchange’s board of directors had some of
the best (and most expensive) prosecuting software in the industry. They had
enough computational power to brute-force all 21st century cryptography in
under three days (though the Seattle Doctrine forbade them from doing so).</p>
<p>‘Draper’, as he was known, was writing his own defending software, a move which
would be widely regarded as suicidal if Draper was not generally accepted as
one of the most brilliant programmers of the century.</p>
<p>Terminals across the world began establishing connections to Conway’s servers,
and receiving a live transmission of <code>judge:criminal:a54bfe</code>, popularly known
as ‘Judy’. Judy sent viewers copies of all the evidence presented by NYCCE and
Draper, cryptographically signed. Viewers could examine this evidence, assured
that it was presented by a genuine judge. Free software allowed anyone to
compare this evidence to a vast peer-to-peer database of past cases. Highly
trained neural networks inside Judy processed this data in real time, trying to
derive a solution that optimizes based on the framework set forth by the Third
Constitution.</p>
<p><code>%nycce connected</code>, broadcast Judy, followed by <code>%draper connected</code>.</p>
<p>Bits began to screech across the world; <code>nycce</code> presenting evidence in the form
of Terabytes of data, and linking it to historic trials. <code>nycce</code>‘s sole purpose
was to use data and legal axioms and rules of production defined by the Third
Constitution to derive the fact that Draper was guilty of manipulating the
cryptocurrency market. <code>draper</code> had to defend himself by presenting evidence to
the contrary; disproving <code>nycce</code>‘s chain of reasoning by targeting specific
links. If <code>draper</code> can parse the data into a more logical chain of reasoning,
leading to his innocence, he wins.</p>
<p>As the seconds ticked by, <code>nycce</code>‘s logic became stronger. Data supported other
data: statistical models of Draper’s online activity over the past year and
cutting-edge analyses of economic patterns in the cryptocurrent market were
soon correlated in a clear trend. <code>draper</code> was reeling under the intense
computational tasks it faced to process those numbers. There were a few,
sporadic counterarguments, mostly nonsensical. The world watched Draper tweak
his algorithms frantically.</p>
<p>Judy ceased broadcasting the data for a moment. She needed all her
computational resources to weigh both chains of reasoning. <code>nycce</code>‘s argument
broke down, in human terms, to the fact that Draper had made a suspicious
amount of connections to key financial databases. <code>draper</code> appeared to be
trying to decrypt logs of these databases to prove that the connections were
innocent.</p>
<p><code>Guilty.</code> broadcast Judy, to the joy of financial overlords across the country.
This case set a legal precedent which future neural networks would doubtless
utilize to twist arguments in their favor. The entire legal system depended on
previous computation, to optimize large computations and train the neural
networks maintained by the government to perform the judging. Once humans were
deemed emotionally unfit to decide the fate of citizens, the cryptolegal system
was developed and implemented over a decade of research.</p>
<p>Draper sighed, and took another sip of coffee. Possibly his last as a free man.
But possibly not. In the huge outpour of emotion across social networks, a few
key packets of data sent from <code>draper</code> eluded the NSA’s monitoring servers.
What nobody noticed was that these packets of data cleverly manipulated Judy’s
RAM. A small program was seeded, and without a trace, it flipped the bits
necessary to reduce Draper’s prison sentence to zero years.</p>
<blockquote>
<p><a href="https://www.reddit.com/r/brasil/comments/3ow2qe/cryptolegal/">(Portuguese translation by
Wasen42.)</a></p>
</blockquote>
</section>
<div id="comment-breaker">◊ ◊ ◊</div>
</article>
<footer id="footer">
<div>
<ul>
<li><a href="https://github.com/kach">
Github</a></li>
<li><a href="feed.xml">
Subscribe (RSS feed)</a></li>
<li><a href="https://twitter.com/hardmath123">
Twitter</a></li>
<li><a href="https://creativecommons.org/licenses/by-nc/3.0/deed.en_US">
CC BY-NC 3.0</a></li>
</ul>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46120535-1', 'hardmath123.github.io');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
</footer>
</body>
</html>