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

1,876 views

Published on

Презентации из курса лекций "Основы криптовалют", который читается для студентов ХНУРЕ на кафедре БИТ.

Published in: Internet
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,876
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
32
Comments
0
Likes
1
Embeds 0
No embeds

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

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

    ×