Skip to content

Instantly share code, notes, and snippets.

@jorpic
Created June 7, 2016 13:57
Show Gist options
  • Save jorpic/a0e752c68acd42886cad05f2b43b5e59 to your computer and use it in GitHub Desktop.
Save jorpic/a0e752c68acd42886cad05f2b43b5e59 to your computer and use it in GitHub Desktop.
Crypto currencies & Smart contracts
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href='https://fonts.googleapis.com/css?family=Raleway:500' rel='stylesheet' type='text/css'>
<style>
@page {
size: landscape;
}
body {
font-family: sans-serif;
font-size: 4vh;
}
section {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 80vh;
padding: 10vh 0 10vh 0;
page-break-after: always;
}
section.img {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 99vh;
padding: 0 0 0 0;
page-break-after: always;
}
section.img img {
height: 100%;
}
section.img iframe {
height: 100%;
width: 100%;
}
img {
display: block;
height: 60vh;
width: auto;
}
li {
margin-bottom: 0.7em;
}
.email {
font-size: 80%;
opacity: 0.8;
}
.logo {
font-family: 'Raleway', sans-serif;
font-size: 8vh;
color: #333;
opacity: 0.8;
}
.logo .flipA {
display: inline-block;
-moz-transform: scale(1, -1);
-webkit-transform: scale(1, -1);
transform: scale(1, -1);
color: #48045a;
}
.logo .flipE {
display: inline-block;
-moz-transform: scale(-1, 1);
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1);
color: #48045a;
}
</style>
</head>
<body spellcheck=false>
<section id="start">
<h1>Криптовалюты и умные контракты</h1>
<p>Максим Талдыкин</p>
<p class="email">[email protected]</p>
</section>
<section class="img" id="money-are-digits">
<img src="https://c6.staticflickr.com/8/7693/17123251389_a537b67bb7_h.jpg"/>
</section>
<section id="p2p">
<h1>Peer-to-peer</h1>
<table>
<tr>
<td>
<img src="https://upload.wikimedia.org/wikipedia/commons/f/fb/Server-based-network.svg"/>
</td>
<td>
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3f/P2P-network.svg"/>
</td>
</tr>
</table>
</section>
<section id="p2p/props">
<h2>Зачем p2p сеть?</h2>
<ul>
<li> Участники проверяют корректность транзакций<sup>*</sup> </li>
<li> Система более устойчива к отказам и блокировкам </li>
<li> Меньше затраты на организацию хранения и доступ </li>
<li> ⇒ Все данные открыты </li>
</ul>
</section>
<section id="doublespending">
<h1>Doublespending</h1>
<ul>
<li>A = 100</li>
<li>A =[100]⇒ B</li>
<li>A =[100]⇒ C</li>
</section>
<section class="img" id="blockchain">
<img src="https://c1.staticflickr.com/6/5596/15047469432_b56e6f6612_k.jpg"/>
</section>
<section id="blockchain/without/money">
<h1>Блокчейн не работает без денег</h1>
</section>
<section id="blockchain/props">
<h2>Зачем блокчейн?</h2>
<ul>
<li>Распределённый консенсус</li>
<ul>
<li>Порядок транзакций</li>
<li>Устойчивость к манипуляции</li>
</ul>
<li>Неизменность истории</li>
<li>Работает на экономической мотивации</li>
</ul>
</section>
<section class="img" id="anon">
<img src="https://i.ytimg.com/vi/-lfcjBYul2Q/maxresdefault.jpg"/>
</section>
<section id="anon/fail">
<h1>Криптовалюты не анонимны</h1>
</section>
<section id="btc/props/p2p">
<h2>Пиринговая сеть</h2>
<ul>
<li>Корректность транзакций и блоков проверяют участники</li>
<li>Доверие заменяется криптографией</li>
<li>Устойчивость к ошибкам и блокировкам</li>
<li>Снижение затрат</li>
<li>Открытость</li>
</ul>
</section>
<section id="btc/props/bc">
<h2>Блокчейн</h2>
<ul>
<li>Единый порядок транзакций</li>
<li>Doublespending</li>
<li>Неизменность истории</li>
<li>Работает на балансе технологий и экономики</li>
</ul>
</section>
<section id="btc/why">
<h1>Зачем биткоин?</h1>
<ul>
<li>Дешёвые переводы денег</li>
<li>Микроплатежи (donations)</li>
<li>Multisig контракты</li>
<li><a href="https://proofofexistence.com/">proofofexistence.com</a></li>
<li>namecoin (домены в зоне .bit)</li>
</ul>
</section>
<section class="img" id="ethereum/1">
<img src="http://i2.wp.com/www.thelastamericanvagabond.com/wp-content/uploads/2016/06/Ethereumpic1.png"/>
</section>
<section class="img" id="ethereum/2">
<img src="http://i.imgur.com/lxasBKW.jpg"/>
</section>
<section id="smartcontract">
<h1>Умные контракты</h1>
</section>
<section class="img" id="token">
<iframe src="https://www.ethereum.org/token"></iframe>
</section>
<section id="smartcontract/1">
<h1>Смартконтракты управляют токенами</h1>
</section>
<section id="dao">
<h1>Decentralized</h1>
<h1>Autonomous</h1>
<h1>Organization</h1>
</section>
<section class="img" id="the-dao">
<iframe src="https://daohub.org"></iframe>
</section>
<section class="img" id="swarm">
<iframe src="http://swarm-gateways.net/bzz:/swarm/"></iframe>
</section>
<section id="again">
<h1>Повторим</h1>
<ul>
<li>Блокчейн не работает без экономической мотивации</li>
<li>Криптовалюты не анонимны</li>
</ul>
</section>
<section id="more">
<h1>Ещё</h1>
<ul>
<li>Оракулы: связь с внешним миром</li>
<li>Проблемы с масштабируемостью</li>
<li>Блокчейн в компаниях</li>
</ul>
</section>
<section id="refs">
<h1>Что почитать?</h1>
<ul>
<li><a href="https://github.com/ethereum/wiki/wiki/White-Paper">Ethereum White Paper</a></li>
<li><a href="http://r3cev.com/blog/2016/6/2/ethereum-platform-review">Ethereum Platform Review for R3</a></li>
<li><a href="https://www.youtube.com/watch?v=A1Vbrxkqjwc">TEDx: New Kids on the Blockchain</a></li>
<li><a href="https://daowiki.atlassian.net/wiki/display/DAO/DAO+In+a+nutshell">The DAO Wiki</a></li>
</section>
<section id="theend">
<div class="logo">
<span>F</span>
<span>O</span>
<span>R</span>
<span>M</span>
<span class="flipA">A</span>
<span>L</span>
<span>&nbsp;</span>
<span>M</span>
<span class="flipE">E</span>
<span>T</span>
<span>H</span>
<span>O</span>
<span>D</span>
<span>S</span>
</div>
</section>
<script>
var sections = [].slice.call(document.getElementsByTagName('section'));
var dict = {};
var root = {prev: null};
var current = root;
sections.forEach(function(s) {
current.hash = '#' + s.id;
current.elem = s;
dict[current.hash] = current;
current = current.next = {prev: current};
});
current.prev.next = null;
function hashchange() {
current = dict[window.location.hash] || root;
}
window.addEventListener('hashchange', hashchange, false);
hashchange();
function keydown(e) {
switch(e.keyCode) {
case 37: /* Left */
case 38: /* Up */
if(current.prev) {
window.location.hash = current.prev.hash;
e.preventDefault();
}
break;
case 39: /* Right */
case 40: /* Down */
if(current.next) {
window.location.hash = current.next.hash;
e.preventDefault();
}
break;
}
}
window.addEventListener('keydown', keydown, false);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment