<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=DistOS_2021F_2021-11-30</id>
	<title>DistOS 2021F 2021-11-30 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=DistOS_2021F_2021-11-30"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2021F_2021-11-30&amp;action=history"/>
	<updated>2026-05-12T23:28:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2021F_2021-11-30&amp;diff=23565&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Notes==  &lt;pre&gt; Lecture 20 ----------  We&#039;ve discussed blockchains &amp; bitcoin What&#039;s different with Ethereum?  - &quot;smart contracts&quot;  - distributed application running in VMs...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2021F_2021-11-30&amp;diff=23565&amp;oldid=prev"/>
		<updated>2021-12-01T00:40:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Notes==  &amp;lt;pre&amp;gt; Lecture 20 ----------  We&amp;#039;ve discussed blockchains &amp;amp; bitcoin What&amp;#039;s different with Ethereum?  - &amp;quot;smart contracts&amp;quot;  - distributed application running in VMs...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Notes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lecture 20&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;ve discussed blockchains &amp;amp; bitcoin&lt;br /&gt;
What&amp;#039;s different with Ethereum?&lt;br /&gt;
 - &amp;quot;smart contracts&amp;quot;&lt;br /&gt;
 - distributed application running in VMs&lt;br /&gt;
    - with a distributed, consistent data store&lt;br /&gt;
&lt;br /&gt;
Key difference - who runs the code is determined by economics&lt;br /&gt;
 - who is willing to pay&lt;br /&gt;
&lt;br /&gt;
The infrastructure for running smart contracts doesn&amp;#039;t have a lot&lt;br /&gt;
of resources left over for the actual contracts&lt;br /&gt;
 - most goes to proof of work&lt;br /&gt;
&lt;br /&gt;
So we have something like WebAssembly for running code on the nodes&lt;br /&gt;
 - and this code can then interact with other Ethereum accounts,&lt;br /&gt;
   and potentially other services that have interfaces into Ethereum&lt;br /&gt;
&lt;br /&gt;
What does proof of work really buy you?&lt;br /&gt;
 - compared to other systems we&amp;#039;ve discussed?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
With blockchain technologies, we make a bargain:&lt;br /&gt;
 - give up any notion of performance or efficiency&lt;br /&gt;
    - proof of work consumes huge amounts of resources&lt;br /&gt;
 - in exchange, no trusted third party&lt;br /&gt;
    - but what do you have instead?&lt;br /&gt;
&lt;br /&gt;
Instead, trust majority of computing power in the network + correctness/security of code, algorithms, &amp;amp; protocols&lt;br /&gt;
 - why is this better than a third party?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What do you trust more, law/social arrangements or code?&lt;br /&gt;
 - but this really isn&amp;#039;t the choice&lt;br /&gt;
 - because the code *will* have flaws, and then they&amp;#039;ll be&lt;br /&gt;
   addressed using laws &amp;amp; social arrangements&lt;br /&gt;
&lt;br /&gt;
What is a fork?&lt;br /&gt;
 - disagreement over what the &amp;quot;valid&amp;quot; chain is&lt;br /&gt;
    - supposed to be the one with the most compute on it&lt;br /&gt;
    - but really, could be any chain as long as everyone agrees&lt;br /&gt;
&lt;br /&gt;
Realize the blockchain is just a consensus log&lt;br /&gt;
 - canonical order of events (remember Delos)&lt;br /&gt;
&lt;br /&gt;
Partitions are when consensus breaks down&lt;br /&gt;
 - that&amp;#039;s all a fork is&lt;br /&gt;
&lt;br /&gt;
Note that with NFTs the things being traded aren&amp;#039;t in the blockchain&lt;br /&gt;
 - just the hash&lt;br /&gt;
&lt;br /&gt;
Secure hashes have a few key properties&lt;br /&gt;
 - If I have a hash, I can&amp;#039;t create data that has that hash&lt;br /&gt;
    (can&amp;#039;t reverse it)&lt;br /&gt;
 - Hashes of two sets of data won&amp;#039;t be equal&lt;br /&gt;
    - so different hashes =&amp;gt; different data&lt;br /&gt;
    (no collisions)&lt;br /&gt;
&lt;br /&gt;
So, a hash can serve as an unforgeable identifier for digital data&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s why when you download programs they often post hashes of the files&lt;br /&gt;
  - you can check to make sure your downloaded file has the same hash as posted on the website&lt;br /&gt;
  - digital signatures are all based on secure hashes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I &amp;quot;own&amp;quot; the hash of some data, that&amp;#039;s equivalent to proving I&lt;br /&gt;
&amp;quot;own&amp;quot; the data&lt;br /&gt;
 - but we can have a weird situation where I can prove ownership&lt;br /&gt;
   of data nobody has ever seen&lt;br /&gt;
&lt;br /&gt;
When you get rid of trusted third parties, nobody can step in when bad things happen&lt;br /&gt;
&lt;br /&gt;
I think there is a future in blockchain technologies&lt;br /&gt;
 - but it will be proof of stake or, more likely,&lt;br /&gt;
   &amp;quot;permissioned&amp;quot; blockchains (i.e., with trusted third parties)&lt;br /&gt;
&lt;br /&gt;
Trust is really about what happens when things break&lt;br /&gt;
 - who is responsible&lt;br /&gt;
 - who will fix it, or be punished for its failure&lt;br /&gt;
&lt;br /&gt;
We aren&amp;#039;t good at thinking about failure, particularly in an adversarial environment&lt;br /&gt;
&lt;br /&gt;
What happens if someone finds a way to make collisions in SHA3 efficiently?&lt;br /&gt;
&lt;br /&gt;
Is this unlikely?&lt;br /&gt;
 - in my lifetime, MD5 &amp;amp; SHA1 went from being secure to&lt;br /&gt;
   people finding collisions&lt;br /&gt;
&lt;br /&gt;
Cryptographic primitives have NO PROOF of security&lt;br /&gt;
 - block ciphers&lt;br /&gt;
 - secure hashes&lt;br /&gt;
 - public key cryptography&lt;br /&gt;
 - MACs&lt;br /&gt;
&lt;br /&gt;
Financial systems only work when people believe in them&lt;br /&gt;
 - the moment that faith is lost the system breaks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>