SlideShare a Scribd company logo
1 of 10
Введение в smart-контракты
Кравченко Павел
Лекция 8
План
Повторение
Что такое smart-контракт?
Escrow
Micropayment channel
CoinJoin
Smart-контракт
Контракт – это транзакция, которая
использует распределенную систему
Bitcoin для исполнения финансовых
договоренностей. Контракты часто
используются для минимизации
зависимости от внешних агентов, таких
как судебная система, что существенно
сокращает риск вовлечения третьих
сторон.
Escrow
Алиса хочет купить у Боба товар онлайн, но они не
доверяют друг другу.
Классическим контрактом была бы 2-из-2 транзакция,
при которой деньги блокируются на счету до тех
пор, пока Алиса и Боб не выполнят свои
обязательства.
Они используют медиатора, который вмешается в
случае конфликта. Теперь, если возникнет
конфликт, одна из сторон обратится к медиатору и
сможет получить возмещение.
Escrow
Например, товар слегка повреждеа при пересылке.
Алиса хочет полное возмещение, а Боб считает,
что 10% будет достаточно. Они высылают
документы Еве, и решает что 40% будет
достаточно. Тогда Ева создает транзакцию,
которая платит 40% Алисе и 60% Бобу и дает ее
им на подпись.
Ева тем не менее не может украсть деньги, т.к. ни
Алиса ни Боб не подпишут такуют транзакцию.
Они даже могут сменить медиатора Еву, на кого-
то другого, переслав средства на новый 2-из-3
адрес.
Micropayment channel
Алиса работает на Боба, делая однообразную
повторяющуюся работу (например
модерируя посты на форуме). Боб иногда
забывает заплатить Алисе, поэтому она
хочет получать платеж после каждого поста,
который она проверила. Боб не согласен, т.к.
он будет тратить слишком много на
transaction fee (0.0001 BTC).
Micropayment channel
Боб берет открытый ключ Алисы и создает две
транзакции – первая транзакция платит 100 mBTC
(предположительный обьем работы на день) на
P2SH 2-из-2 output, который требует подписи Алисы
и Боба. Боб не распространяет эту транзакцию, т.к.
Алиса сможет держать биткоины в залоге. Теперь
Боб создает вторую транзакцию, которая
возвращает Бобу деньги из первой и дает Алисе ее
на подпись (с 24 часовым locktime).
Micropayment channel
Алиса проверяет locktime, подписывает и возвращает
Бобу. Теперь она запрашивает первую транзакцию, и
проверяет что все правильно. Она распространяет ее в
сеть. Теперь биткоины в залоге и Боб не может их
потратить (до истечени locktime).
Теперь, когда Алиса сделала работу на 1 mBTC, она
просит Боба создать новую версию refund транзакции,
которая возвращает Бобу 99 mBTC и платит 1 mBTC
Алисе. Вторая версия уже не имеет locktime, но Алиса
не торопится ее тратить. Она работает и далее после
каждого поста просит Боба о создании новой
транзакции пока дело не дойдет до 100mBTC.
Вопросы?
kravchenkopo@gmail.com
ideateam_macuser
ua.linkedin.com/in/pkravchenko/

More Related Content

Viewers also liked

Как работает майнинг. Лекция 5
Как работает майнинг. Лекция 5Как работает майнинг. Лекция 5
Как работает майнинг. Лекция 5Pavel Kravchenko, PhD
 
Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3Pavel Kravchenko, PhD
 
Как работает Multisignature. Лекция 7
Как работает Multisignature. Лекция 7Как работает Multisignature. Лекция 7
Как работает Multisignature. Лекция 7Pavel Kravchenko, PhD
 
Как устроена криптовалюта. Лекция 2
Как устроена криптовалюта. Лекция 2Как устроена криптовалюта. Лекция 2
Как устроена криптовалюта. Лекция 2Pavel Kravchenko, PhD
 
Ledger-based системы. Альтернатива Bitcoin?
Ledger-based системы. Альтернатива Bitcoin?Ledger-based системы. Альтернатива Bitcoin?
Ledger-based системы. Альтернатива Bitcoin?Pavel Kravchenko, PhD
 
Вступление в Биткоин. Лекция 1.
Вступление в Биткоин. Лекция 1.Вступление в Биткоин. Лекция 1.
Вступление в Биткоин. Лекция 1.Pavel Kravchenko, PhD
 
Анонимность в Биткоин. Часть 1. Лекция 9
Анонимность в Биткоин. Часть 1. Лекция 9Анонимность в Биткоин. Часть 1. Лекция 9
Анонимность в Биткоин. Часть 1. Лекция 9Pavel Kravchenko, PhD
 
Bitclub russian
Bitclub russianBitclub russian
Bitclub russianBro Olio
 
Cloud adoption in utility industry 2016
Cloud adoption in utility industry 2016Cloud adoption in utility industry 2016
Cloud adoption in utility industry 2016Stephen Heron
 
YOCoin PowerPoint Presentation
YOCoin PowerPoint PresentationYOCoin PowerPoint Presentation
YOCoin PowerPoint PresentationCrypto Currency
 
IoT Challenges & Promissing Trends Sk 2015
IoT Challenges & Promissing Trends Sk 2015IoT Challenges & Promissing Trends Sk 2015
IoT Challenges & Promissing Trends Sk 2015Vasily Ryzhonkov
 
Блокчейн: Разрыв Шаблона v.3
Блокчейн: Разрыв Шаблона v.3Блокчейн: Разрыв Шаблона v.3
Блокчейн: Разрыв Шаблона v.3Dima Starodubcev
 
Cryptocurrency for Dummies
Cryptocurrency for DummiesCryptocurrency for Dummies
Cryptocurrency for DummiesMiguel Duarte
 
Cryptocurrencies - A Serious Introduction
Cryptocurrencies - A Serious IntroductionCryptocurrencies - A Serious Introduction
Cryptocurrencies - A Serious IntroductionDrake Emko
 
Understanding Cryptocurrency
Understanding CryptocurrencyUnderstanding Cryptocurrency
Understanding CryptocurrencyKapil Gupta
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrencycrypt00
 

Viewers also liked (20)

Как работает майнинг. Лекция 5
Как работает майнинг. Лекция 5Как работает майнинг. Лекция 5
Как работает майнинг. Лекция 5
 
Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3
 
How does Bitcoin work?
How does Bitcoin work?How does Bitcoin work?
How does Bitcoin work?
 
Как работает Multisignature. Лекция 7
Как работает Multisignature. Лекция 7Как работает Multisignature. Лекция 7
Как работает Multisignature. Лекция 7
 
Как устроена криптовалюта. Лекция 2
Как устроена криптовалюта. Лекция 2Как устроена криптовалюта. Лекция 2
Как устроена криптовалюта. Лекция 2
 
Ledger-based системы. Альтернатива Bitcoin?
Ledger-based системы. Альтернатива Bitcoin?Ledger-based системы. Альтернатива Bitcoin?
Ledger-based системы. Альтернатива Bitcoin?
 
Вступление в Биткоин. Лекция 1.
Вступление в Биткоин. Лекция 1.Вступление в Биткоин. Лекция 1.
Вступление в Биткоин. Лекция 1.
 
Анонимность в Биткоин. Часть 1. Лекция 9
Анонимность в Биткоин. Часть 1. Лекция 9Анонимность в Биткоин. Часть 1. Лекция 9
Анонимность в Биткоин. Часть 1. Лекция 9
 
Bitclub russian
Bitclub russianBitclub russian
Bitclub russian
 
Cloud adoption in utility industry 2016
Cloud adoption in utility industry 2016Cloud adoption in utility industry 2016
Cloud adoption in utility industry 2016
 
anonymity_KYC_short
anonymity_KYC_shortanonymity_KYC_short
anonymity_KYC_short
 
YOCoin PowerPoint Presentation
YOCoin PowerPoint PresentationYOCoin PowerPoint Presentation
YOCoin PowerPoint Presentation
 
Blockchain comparison
Blockchain comparisonBlockchain comparison
Blockchain comparison
 
IoT Challenges & Promissing Trends Sk 2015
IoT Challenges & Promissing Trends Sk 2015IoT Challenges & Promissing Trends Sk 2015
IoT Challenges & Promissing Trends Sk 2015
 
Блокчейн: Разрыв Шаблона v.3
Блокчейн: Разрыв Шаблона v.3Блокчейн: Разрыв Шаблона v.3
Блокчейн: Разрыв Шаблона v.3
 
Cryptocurrency for Dummies
Cryptocurrency for DummiesCryptocurrency for Dummies
Cryptocurrency for Dummies
 
Cryptocurrencies - A Serious Introduction
Cryptocurrencies - A Serious IntroductionCryptocurrencies - A Serious Introduction
Cryptocurrencies - A Serious Introduction
 
Understanding Cryptocurrency
Understanding CryptocurrencyUnderstanding Cryptocurrency
Understanding Cryptocurrency
 
Cloud Power
Cloud PowerCloud Power
Cloud Power
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 

Введение в смарт контракты. Лекция 8

  • 3. Smart-контракт Контракт – это транзакция, которая использует распределенную систему Bitcoin для исполнения финансовых договоренностей. Контракты часто используются для минимизации зависимости от внешних агентов, таких как судебная система, что существенно сокращает риск вовлечения третьих сторон.
  • 4. Escrow Алиса хочет купить у Боба товар онлайн, но они не доверяют друг другу. Классическим контрактом была бы 2-из-2 транзакция, при которой деньги блокируются на счету до тех пор, пока Алиса и Боб не выполнят свои обязательства. Они используют медиатора, который вмешается в случае конфликта. Теперь, если возникнет конфликт, одна из сторон обратится к медиатору и сможет получить возмещение.
  • 5. Escrow Например, товар слегка повреждеа при пересылке. Алиса хочет полное возмещение, а Боб считает, что 10% будет достаточно. Они высылают документы Еве, и решает что 40% будет достаточно. Тогда Ева создает транзакцию, которая платит 40% Алисе и 60% Бобу и дает ее им на подпись. Ева тем не менее не может украсть деньги, т.к. ни Алиса ни Боб не подпишут такуют транзакцию. Они даже могут сменить медиатора Еву, на кого- то другого, переслав средства на новый 2-из-3 адрес.
  • 6. Micropayment channel Алиса работает на Боба, делая однообразную повторяющуюся работу (например модерируя посты на форуме). Боб иногда забывает заплатить Алисе, поэтому она хочет получать платеж после каждого поста, который она проверила. Боб не согласен, т.к. он будет тратить слишком много на transaction fee (0.0001 BTC).
  • 7.
  • 8. Micropayment channel Боб берет открытый ключ Алисы и создает две транзакции – первая транзакция платит 100 mBTC (предположительный обьем работы на день) на P2SH 2-из-2 output, который требует подписи Алисы и Боба. Боб не распространяет эту транзакцию, т.к. Алиса сможет держать биткоины в залоге. Теперь Боб создает вторую транзакцию, которая возвращает Бобу деньги из первой и дает Алисе ее на подпись (с 24 часовым locktime).
  • 9. Micropayment channel Алиса проверяет locktime, подписывает и возвращает Бобу. Теперь она запрашивает первую транзакцию, и проверяет что все правильно. Она распространяет ее в сеть. Теперь биткоины в залоге и Боб не может их потратить (до истечени locktime). Теперь, когда Алиса сделала работу на 1 mBTC, она просит Боба создать новую версию refund транзакции, которая возвращает Бобу 99 mBTC и платит 1 mBTC Алисе. Вторая версия уже не имеет locktime, но Алиса не торопится ее тратить. Она работает и далее после каждого поста просит Боба о создании новой транзакции пока дело не дойдет до 100mBTC.

Editor's Notes

  1. Решил банк сделать себе интернет банкинг. У других уже все есть, а мы тут как в каменном веке, эти очереди в кассы с квитанциями, бабушки платят за коммунальные... С чего начать? Вокруг все эти хакеры, только и сделай сайт какой-то сразу накинутся. Нужно обеспечить информационную безопасность. А что это такое? Стоимость = риск х вероятный ущерб
  2. Возьмем тот же обычный компьютер в банке: Нельзя полазить по сайтам – только пара корпоративных ресурсов Никакого тебе скайпа и или аськи USB порты не работают, даже флешку с музыкой не подключить. И так далее... Здесь как раз вся нагрузка падает на тестировщика – возможно ли выполнять все необходимые функции пользователя при требуемых настройках безопасности