<?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-23</id>
	<title>DistOS 2021F 2021-11-23 - 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-23"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2021F_2021-11-23&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-23&amp;diff=23534&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Notes==  &lt;pre&gt; Lecture 19 ----------  - experience 2 is going up shortly     - all set, william just has to post     - will be due last day of class     - but will be accept...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2021F_2021-11-23&amp;diff=23534&amp;oldid=prev"/>
		<updated>2021-11-24T01:56:22Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Notes==  &amp;lt;pre&amp;gt; Lecture 19 ----------  - experience 2 is going up shortly     - all set, william just has to post     - will be due last day of class     - but will be accept...&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 19&lt;br /&gt;
----------&lt;br /&gt;
 - experience 2 is going up shortly&lt;br /&gt;
    - all set, william just has to post&lt;br /&gt;
    - will be due last day of class&lt;br /&gt;
    - but will be accepted until a few days before&lt;br /&gt;
      the final exam&lt;br /&gt;
&lt;br /&gt;
 - Nov. 30: Ethereum (will come out tonight)&lt;br /&gt;
 - Dec. 2: cryptocurrency critiques, futures&lt;br /&gt;
 - Dec. 7: present your projects&lt;br /&gt;
     - looking for volunteers&lt;br /&gt;
     - ideally 5 minute presentation&lt;br /&gt;
&lt;br /&gt;
I will ask William about solutions to experience 1 &amp;amp; grading&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Byzantine Generals problem&lt;br /&gt;
 - really, the problem of consensus in the presence of bad actors&lt;br /&gt;
    - so some may send false information, how do we deal&lt;br /&gt;
    - basically, we don&amp;#039;t trust all the &amp;quot;generals&amp;quot; (CPUs),&lt;br /&gt;
      so how can we achieve consistency?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key assumptions&lt;br /&gt;
 - assume majority are honest (follow the protocol)&lt;br /&gt;
    (necessary, not sufficient)&lt;br /&gt;
&lt;br /&gt;
To have a solution, you have a way to achieve consensus in the face of failure/malicious action (depending on the solution)&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;ve seen this often&lt;br /&gt;
 - node failures are common in distributed systems,&lt;br /&gt;
   and they can fail in arbitrary ways (not just crashing)&lt;br /&gt;
 - whenever we see a consensus solution, we&amp;#039;re seeing&lt;br /&gt;
   a kind of solution to the byzantine general&amp;#039;s problem&lt;br /&gt;
    - almost&lt;br /&gt;
&lt;br /&gt;
In the paxos-type solutions, nodes can fail or behave a bit badly, but they aren&amp;#039;t going to flood the network or pretend&lt;br /&gt;
to be other nodes&lt;br /&gt;
  - faulty, not malicious&lt;br /&gt;
&lt;br /&gt;
Note we can&amp;#039;t deal with faked messages&lt;br /&gt;
 - no cryptographic assurances on node identity&lt;br /&gt;
&lt;br /&gt;
Bitcoin, what&amp;#039;s the goal?&lt;br /&gt;
 - &amp;quot;digital cash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Value is not inherent in any of this&lt;br /&gt;
&lt;br /&gt;
What is inherent is it is a distributed ledger&lt;br /&gt;
 - record of transactions&lt;br /&gt;
 - no trusted third party&lt;br /&gt;
    - for updates or checks&lt;br /&gt;
&lt;br /&gt;
Is it for privacy?  How private is bitcoin?&lt;br /&gt;
 - normally, in cryptography, to get privacy you want&lt;br /&gt;
   perfect forward secrecy&lt;br /&gt;
    - confidentiality is maintained even if keys are broken&lt;br /&gt;
&lt;br /&gt;
If someone saves all your communication and later breaks in&lt;br /&gt;
and steals your private key, then do they get all your past&lt;br /&gt;
communication?&lt;br /&gt;
 - with forward secrecy, NO&lt;br /&gt;
 - with bitcoin, YES&lt;br /&gt;
&lt;br /&gt;
The key to forward secrecy is using ephemeral keys&lt;br /&gt;
 - so the key the attacker wants isn&amp;#039;t on the system long term&lt;br /&gt;
 - you can&amp;#039;t compromise what you don&amp;#039;t have&lt;br /&gt;
&lt;br /&gt;
As long as the algorithms remain secure and you dispose of&lt;br /&gt;
ephemeral keys as you should, perfect forward secrecy works&lt;br /&gt;
&lt;br /&gt;
But Bitcoin can&amp;#039;t do it&lt;br /&gt;
 - public keys are in the permanent record&lt;br /&gt;
 - and people need them to keep ownership of their money&lt;br /&gt;
&lt;br /&gt;
You have pseudonyms rather than anonymity&lt;br /&gt;
 - and the pseudonyms can be compromised anytime&lt;br /&gt;
&lt;br /&gt;
Advantage is who controls the pseudonyms&lt;br /&gt;
 - the participant, not a central third party&lt;br /&gt;
 - but, will need to reveal it when connecting Bitcoin to the real world&lt;br /&gt;
&lt;br /&gt;
Exchanges are the worst&lt;br /&gt;
 - they know who you are!&lt;br /&gt;
 - they can take your stuff!&lt;br /&gt;
&lt;br /&gt;
You have to trust the exchange&lt;br /&gt;
 - but bitcoin assumes that you don&amp;#039;t trust anyone!&lt;br /&gt;
&lt;br /&gt;
But is bitcoin really &amp;quot;no trust&amp;quot;?&lt;br /&gt;
NO&lt;br /&gt;
 - depends on the code being correct&lt;br /&gt;
 - depends on the cryptography being correct&lt;br /&gt;
    - NO PROOFS HERE&lt;br /&gt;
 - and depends on 50%+ being honest&lt;br /&gt;
    - of computational power, not people&lt;br /&gt;
&lt;br /&gt;
Have there ever been problems with hash functions?&lt;br /&gt;
 - before SHA-256 there was SHA-1 and then MD5, MD4, MD2...&lt;br /&gt;
&lt;br /&gt;
What would happen if someone came up with a way to generate&lt;br /&gt;
collisions for SHA-256 quickly?&lt;br /&gt;
 - you could double spend potentially, breaking&lt;br /&gt;
   everything&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m not saying that decentralized finance is inherently bad&lt;br /&gt;
 - lots of potential benefits!&lt;br /&gt;
 - but you have to understand the assumptions&lt;br /&gt;
&lt;br /&gt;
no such thing as zero trust&lt;br /&gt;
 - something is ALWAYS trusted&lt;br /&gt;
 - at most, can have checks and balances&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
idea of bitcoin is trust the math/code, not people&lt;br /&gt;
 - but what happens when bugs are found in the math&lt;br /&gt;
   or in the code?&lt;br /&gt;
   - you have to then trust people to update the system&lt;br /&gt;
 - are majorities inherently more trustworthy than&lt;br /&gt;
   a centralized authority?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>