Add decentralization post
authorMatt Corallo <git@bluematt.me>
Thu, 14 Jan 2016 18:40:50 +0000 (10:40 -0800)
committerMatt Corallo <git@bluematt.me>
Thu, 14 Jan 2016 18:40:50 +0000 (10:40 -0800)
_posts/2013-12-31-whats-jekyll.md [deleted file]
_posts/2014-01-01-example-content.md [deleted file]
_posts/2014-01-02-introducing-poole.md [deleted file]
_posts/2015-01-14-decentralization.md [new file with mode: 0644]

diff --git a/_posts/2013-12-31-whats-jekyll.md b/_posts/2013-12-31-whats-jekyll.md
deleted file mode 100644 (file)
index 6cdd60e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
----\r
-layout: post\r
-title: What's Jekyll?\r
----\r
-\r
-[Jekyll](http://jekyllrb.com) is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From [the project's readme](https://github.com/jekyll/jekyll/blob/master/README.markdown):\r
-\r
-> Jekyll is a simple, blog aware, static site generator. It takes a template directory [...] and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.\r
-\r
-It's an immensely useful tool. Find out more by [visiting the project on GitHub](https://github.com/jekyll/jekyll).\r
diff --git a/_posts/2014-01-01-example-content.md b/_posts/2014-01-01-example-content.md
deleted file mode 100644 (file)
index 2792782..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
----\r
-layout: post\r
-title: Example content\r
----\r
-\r
-\r
-<div class="message">\r
-  Howdy! This is an example blog post that shows several types of HTML content supported in this theme.\r
-</div>\r
-\r
-Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. *Aenean eu leo quam.* Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.\r
-\r
-> Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.\r
-\r
-Etiam porta **sem malesuada magna** mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.\r
-\r
-## Inline HTML elements\r
-\r
-HTML defines a long list of available inline tags, a complete list of which can be found on the [Mozilla Developer Network](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).\r
-\r
-- **To bold text**, use `<strong>`.\r
-- *To italicize text*, use `<em>`.\r
-- Abbreviations, like <abbr title="HyperText Markup Langage">HTML</abbr> should use `<abbr>`, with an optional `title` attribute for the full phrase.\r
-- Citations, like <cite>&mdash; Mark otto</cite>, should use `<cite>`.\r
-- <del>Deleted</del> text should use `<del>` and <ins>inserted</ins> text should use `<ins>`.\r
-- Superscript <sup>text</sup> uses `<sup>` and subscript <sub>text</sub> uses `<sub>`.\r
-\r
-Most of these elements are styled by browsers with few modifications on our part.\r
-\r
-## Footnotes\r
-\r
-Footnotes are supported as part of the Markdown syntax. Here's one in action. Clicking this number[^fn-sample_footnote] will lead you to a footnote. The syntax looks like:\r
-\r
-{% highlight text %}\r
-Clicking this number[^fn-sample_footnote]\r
-{% endhighlight %}\r
-\r
-Each footnote needs the `^fn-` prefix and a unique ID to be referenced for the footnoted content. The syntax for that list looks something like this:\r
-\r
-{% highlight text %}\r
-[^fn-sample_footnote]: Handy! Now click the return link to go back.\r
-{% endhighlight %}\r
-\r
-You can place the footnoted content wherever you like. Markdown parsers should properly place it at the bottom of the post.\r
-\r
-## Heading\r
-\r
-Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.\r
-\r
-### Code\r
-\r
-Inline code is available with the `<code>` element. Snippets of multiple lines of code are supported through Pygments. Longer lines will automatically scroll horizontally when needed.\r
-\r
-{% highlight js %}\r
-// Example can be run directly in your JavaScript console\r
-\r
-// Create a function that takes two arguments and returns the sum of those arguments\r
-var adder = new Function("a", "b", "return a + b");\r
-\r
-// Call the function\r
-adder(2, 6);\r
-// > 8\r
-{% endhighlight %}\r
-\r
-You may also optionally show code snippets with line numbers. Add `linenos` to the Pygments tags.\r
-\r
-{% highlight js linenos %}\r
-// Example can be run directly in your JavaScript console\r
-\r
-// Create a function that takes two arguments and returns the sum of those arguments\r
-var adder = new Function("a", "b", "return a + b");\r
-\r
-// Call the function\r
-adder(2, 6);\r
-// > 8\r
-{% endhighlight %}\r
-\r
-Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.\r
-\r
-### Gists via GitHub Pages\r
-\r
-Vestibulum id ligula porta felis euismod semper. Nullam quis risus eget urna mollis ornare vel eu leo. Donec sed odio dui.\r
-\r
-{% gist 13f94b734a4ddb132735 gist.md %}\r
-\r
-Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec sed odio dui. Vestibulum id ligula porta felis euismod semper.\r
-\r
-### Lists\r
-\r
-Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\r
-\r
-* Praesent commodo cursus magna, vel scelerisque nisl consectetur et.\r
-* Donec id elit non mi porta gravida at eget metus.\r
-* Nulla vitae elit libero, a pharetra augue.\r
-\r
-Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.\r
-\r
-1. Vestibulum id ligula porta felis euismod semper.\r
-2. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\r
-3. Maecenas sed diam eget risus varius blandit sit amet non magna.\r
-\r
-Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.\r
-\r
-<dl>\r
-  <dt>HyperText Markup Language (HTML)</dt>\r
-  <dd>The language used to describe and define the content of a Web page</dd>\r
-\r
-  <dt>Cascading Style Sheets (CSS)</dt>\r
-  <dd>Used to describe the appearance of Web content</dd>\r
-\r
-  <dt>JavaScript (JS)</dt>\r
-  <dd>The programming language used to build advanced Web sites and applications</dd>\r
-</dl>\r
-\r
-Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam quis risus eget urna mollis ornare vel eu leo.\r
-\r
-### Images\r
-\r
-Quisque consequat sapien eget quam rhoncus, sit amet laoreet diam tempus. Aliquam aliquam metus erat, a pulvinar turpis suscipit at.\r
-\r
-![placeholder](http://placehold.it/800x400 "Large example image")\r
-![placeholder](http://placehold.it/400x200 "Medium example image")\r
-![placeholder](http://placehold.it/200x200 "Small example image")\r
-\r
-### Tables\r
-\r
-Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\r
-\r
-<table>\r
-  <thead>\r
-    <tr>\r
-      <th>Name</th>\r
-      <th>Upvotes</th>\r
-      <th>Downvotes</th>\r
-    </tr>\r
-  </thead>\r
-  <tfoot>\r
-    <tr>\r
-      <td>Totals</td>\r
-      <td>21</td>\r
-      <td>23</td>\r
-    </tr>\r
-  </tfoot>\r
-  <tbody>\r
-    <tr>\r
-      <td>Alice</td>\r
-      <td>10</td>\r
-      <td>11</td>\r
-    </tr>\r
-    <tr>\r
-      <td>Bob</td>\r
-      <td>4</td>\r
-      <td>3</td>\r
-    </tr>\r
-    <tr>\r
-      <td>Charlie</td>\r
-      <td>7</td>\r
-      <td>9</td>\r
-    </tr>\r
-  </tbody>\r
-</table>\r
-\r
-Nullam id dolor id nibh ultricies vehicula ut id elit. Sed posuere consectetur est at lobortis. Nullam quis risus eget urna mollis ornare vel eu leo.\r
-\r
------\r
-\r
-Want to see something else added? <a href="https://github.com/poole/poole/issues/new">Open an issue.</a>\r
-\r
-[^fn-sample_footnote]: Handy! Now click the return link to go back.\r
diff --git a/_posts/2014-01-02-introducing-poole.md b/_posts/2014-01-02-introducing-poole.md
deleted file mode 100644 (file)
index 4e21d3d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
----\r
-layout: post\r
-title: Introducing Poole\r
----\r
-\r
-*The Strange Case of Dr. Jekyll and Mr. Hyde* tells the story of a lawyer investigating the connection of two persons, Dr. Henry Jekyll and Mr. Edward Hyde. Chief among the novel's supporting cast is a man by the name of Mr. Poole, Dr. Jekyll's loyal butler.\r
-\r
------\r
-\r
-Poole is the butler for [Jekyll](http://jekyllrb.com), the static site generator. It's designed and developed by [@mdo](https://twitter.com/mdo) to provide a clear and concise foundational setup for any Jekyll site. It does so by furnishing a full vanilla Jekyll install with example templates, pages, posts, and styles.\r
-\r
-There are currently two themes built on Poole:\r
-\r
-* [Hyde](http://hyde.getpoole.com)\r
-* [Lanyon](http://lanyon.getpoole.com)\r
-\r
-Learn more and contribute on [GitHub](https://github.com/poole).\r
-\r
-### What's included\r
-\r
-Poole is a streamlined Jekyll site designed and built as a foundation for building more meaningful themes. Poole, and every theme built on it, includes the following:\r
-\r
-* Complete Jekyll setup included (layouts, config, [404]({{ site.baseurl }}/404.html), [RSS feed]({{ site.baseurl }}/atom.xml), posts, and [example page]({{ site.baseurl }}/about))\r
-* Mobile friendly design and development\r
-* Easily scalable text and component sizing with `rem` units in the CSS\r
-* Support for a wide gamut of HTML elements\r
-* Related posts (time-based, because Jekyll) below each post\r
-* Syntax highlighting, courtesy Pygments (the Python-based code snippet highlighter)\r
-\r
-Additional features are available in individual themes.\r
-\r
-### Browser support\r
-\r
-Poole and its themes are by preference a forward-thinking project. In addition to the latest versions of Chrome, Safari (mobile and desktop), and Firefox, it is only compatible with Internet Explorer 9 and above.\r
-\r
-### Download\r
-\r
-Poole is developed on and hosted with GitHub. Head to the <a href="https://github.com/poole/poole">GitHub repository</a> for downloads, bug reports, and features requests.\r
-\r
-Thanks!\r
diff --git a/_posts/2015-01-14-decentralization.md b/_posts/2015-01-14-decentralization.md
new file mode 100644 (file)
index 0000000..9975851
--- /dev/null
@@ -0,0 +1,16 @@
+---\r
+layout: post\r
+title: Decentralization's Role in Bitcoin\r
+---\r
+\r
+Bitcoiners, from Bitcoin Core developers to long-time Bitcoin enthusiasts to recent /r/Bitcoin discoverers, love to talk about Bitcoin's decentralization as it's ultimate feature. Rarely, however, do you see anyone explain why decentralization matters - surely it's an interesting property from a computer science perspective, but why should consumers, businesses or investors care? This post is in attempt to write out why decentralization is foundational to Bitcoin's utility and, somewhat more importantly, set up future posts talking about when it isn't.\r
+\r
+When Bitcoiners talk about decentralization, the first thing that comes up is Bitcoin's oft-touted lack of inherent third-party trust. While well-placed trust is a requirement for many systems to operate efficiently, when trust has been misplaced systems can become incredibly fragile. Take, for example, trust in US banks before the establishment of the FDIC. While access to banking services allowed for more convenience and allowed many companies to operate more efficiently, banks were known to collapse, taking all customer funds with them. While certainly not a big deal for most consumers in the western world today, transactions in much of the world pass through banks that are only marginally trustworthy, at best. Even given the state of consumer protections in the west, individuals are not universally protected from loss across borders and over certain value. Worse, regulations which allow individual government officials to seize assets unilaterally have become common. Especially in the US, the now infamous Operation Choke Point and civil asset forfeiture programs have allowed law enforcement officials and private institutions to seize financial assets and deny financial services with little to no oversight. Thus, removing trusted custodians and creating a system with liquid, unseizable assets has the potential to provide more reliable financial services to many who might otherwise not be able to operate efficiently, or at all. This unseizability of Bitcoin is made possible only through its lack of a centralized trust requirement. While centralized e-cash and financial systems have tried to provide such reliability, regulations and business realities have nearly universally prevented it.\r
+\r
+A highly-related property that is equally important to the ability of Bitcoin to provide financial services to whistleblowers, foreign dissidents and porn stars is its transaction censorship resistance. While the ability of third parties to seize assets results in direct and clear monetary loss, freezing assets can have a similar effect. When an individual or organization is no longer able to make transactions to use their assets to pay for goods and services, their financial assets quickly lose their value. While Bitcoin has a very solid unsizeability story (namely that every party in the system enforces the inability of anyone to spend Bitcoin without the associated private key), its censorship resistance story is a bit more nuanced. In a world where no Bitcoin miners have more than 1% of total hash power (or something else equivalently decentralized), it should be easy to find a miner which is either anonymous and accepting all transactions or in a jurisdiction which is not attempting to censor your transactions. Of course this isn't the world we have today, and transaction censorship is one of the bigger reasons to be seriously concerned with mining centralization (for full nodes). Still, the ability of an individual to purchase hashpower (in the form of readily-available old hardware or in the form of renting it) to mine their otherwise-censored transaction is an option as long as the longest-chain rule remains in place across miners. While significantly more expensive than it would be in a truly-decentralized Bitcoin, this does allow Bitcoin to retain some of its anti-censorship properties.\r
+\r
+If you've been around Bitcoin for long enough, you may recognize the above properties as critical to fungibility. A key property in any monetary instrument, fungibility refers to the idea that the value of one unit should be exactly equivalent to every other unit. Without unfreezeability/censorship-resistance and unseizeability, Bitcoin (and any monetary system) starts to lose fungibility. Without it, merchants and payment processors are no longer able to reasonably accept Bitcoin without checking it against a series of blacklists and jumping through hoops to ensure they will be able to spend the Bitcoin they are accepting. If confidence in Bitcoin's fungibility erodes, its utility could be significantly eroded.\r
+\r
+Another property that Bitcoin derives from its decentralization is its open-access. Often exclaimed as one of the most interesting properties of Bitcoin by silicon valley investors, many like to refer to Bitcoin as "permissionless". The ability of anyone, anywhere in the world, with little more than an internet connection, to accept Bitcoin for goods and services and use Bitcoin to purchase goods and services without significant hassle is exciting. Again, this property hinges on Bitcoin's decentralization. While many centralized financial service providers exist, many of which tout their availability to anyone, their very presence as a centralized authority which may deny service arbitrarily makes them susceptible to future policy changes for any number of reasons. PayPal, for example, was founded on the ideals of universal access to ecash. However, due to its position as a central authority, it quickly changed its policies in order to comply with the pressure placed on them both by regulators and the policies of the existing financial system, on which PayPal relied. These days, PayPal is widely known to freeze accounts and seize assets with little or no warning. Fundamentally, reliance on centralized parties for service is incompatible with universal open-access in the financial world.\r
+\r
+You'll note that all of the critical features above, the ones that make Bitcoin so exciting to all of us, can be effectively implemented, for some time, by a centralized system. And, in fact, this has been done before, in much more efficient systems than Bitcoin. Of course they've never lasted, losing critical properties after tweaks to fix one thing or another, implementing regulatory censorship systems directly into the base layers, limiting access to grow profits and shutting down entirely. Really, decentralization in Bitcoin is not itself a feature, but is instead the only way we know of to obtain the features we want in human-operated systems (with a single class of exceptions, but that's for the next post :p).\r