Comments 31
ChainLink 1000$ EOY?
Создание/выбор достоверных и полных источников информации – это тот последний рубеж, который отделяет смарт-контракты от повсеместного распространения.
Последний рубеж? Да это краеугольный камень. В обычных контрактах и договорах всё держится на нотариусах. А доверие к нотариусам гарантирует судебная система. Так что как ни крути, а от классической централизованной системы пока что никуда не уйти.
Оракул — это поставщик информации, который по запросу контракта предоставляет из оффчейн мира достоверные данные, необходимые для корректной работы контракта.
Если честно, то не очень понял в чем необходимость таких данных и почему без них никак… А можно какой-то пример/кейс, поясняющий суть отношения информация -> смарт-контракт?
Мне кажется значимость этой технологии пока сильно преувеличина. Практичности, кроме криптокотят, «цифровых денег» и ICO маловато. А если посмотреть интервью того, же Виталика Бутерина, он чуть ли не каждый раз говорит, что это революция, что скоро все бухгалтера, юристы и прочие люди будут ненужны. Я искренне надеюсь, что так и будет. Тогда возможно у нас будет и честно правительство и честные выборы и потребность в третьих лицах в заключении юридических сделок отпадёт… Но пока снова на пути Оракулы) Будем ждать.
Вот только дело в том, что если бы был такой оракул, то и блокчейн особо не нужен. Точнее говоря его может заменить любой алгоритм на любой финансовой системе.
В существующих онлайн системах, я могу откатить документ, если он был исполнен с ошибкой, будь она человеческой или машинной, без необходимости устраивать голосование всех участников для достижения консенсуса и последующего форка.
Я могу ошибаться, знающие люди пусть меня поправят, но в некоторых продуктах SAP просто невозможно провести изменения созданного документа, для это необходимо создавать новый документ.
Все равно, все в итоге сводится к силе и стабильности правовой системы, те есть стороннего арбитража. И поверьте, вы сами не захотите, чтобы вас судили «12 алгоритмов на блокчейне».
не исключает возможность цензурирования информацииА что тут имеется в виду? Любая заинтересованная сторона может проверить информацию у оракула по независимым каналам, и в случае чего обратиться в уже существующие и отлаженные инстанции, кто и что там будет «цензурировать»?
и даже изменения условий контракта постфактом.Только в мире реального бизнеса весьма востребованный кейс — это изменение и дописывание контракта прямо в процессе его выполнения (с согласия обеих сторон, разумеется). То есть или изначально все места под расширения закладывать в смарт-контракт, или городить кучу контрактов-заплаток.
А что касается изменения и дописывания контракта прямо в процессе его выполнения, то не вижу особой проблемы в том, чтобы заложить соответствующую логику в контракт изначально(это уже сегодня успешно делают).
Ну посмотрите на тот же hashflare, которые тут расписывали, как круты контракты, но при этом в одностороннем порядке изменили условия.
все опять будет зависить от вашего решения — принимать такой договор или смарт-контракт, или нет
Это очевидно так, и как может быть по другому? Отличие в том, что смарт-контракт будет выполнен безоговорочно с математическими гарантиями, в то время как выполнение бумажного договора гарантируют «существующие и отлаженные инстанции». Вопрос «кому веры больше?» кажется риторическим…
смарт-контракт будет выполнен безоговорочно с математическими гарантиямиДопустим, мы с Вами заключили контракт на поставку чего-то: Вы поставили мне товар, а я перепродал, вывел деньги, мило улыбнулся и подал на банкротство или потерялся, ну или просто оказался в момент оплаты без денег, несмотря на хорошую историю. Как в таком случае помогут «математические гарантии»?
Вы поставили мне товар, а я перепродал, вывел деньги, мило улыбнулся и подал на банкротство или потерялся, ну или просто оказался в момент оплаты без денег, несмотря на хорошую историю.решаются на этапе состовления контракта. В этом конкретном примере, на момент подписания контракта в нём будут заморожены ваши деньги за чайник, а дальше, в зависимости от того получите вы чайник или нет, они будут выплачены продавцу, или вернутся вам(если чайник не будет доставлен в срок). Математика гарантирует корректное выполнение второго шага(выплата/возврат вознаграждения). Главная проблема тут в том, чтобы контракт узнал, что вы получили чайник(продавец выполнил свои обязательства) — для этого нужны оракулы и об этом собственно статья.
Однако любой логике, описывающей процессы реального мира, нужно знать, что в этом мире происходит.
Так вот вопрос. Зачем тут блокчейн, если та же виза и палка будут иметь эту так необходимую вам информацию?
смарт-контракт будет безоговорочно с математическими гарантиями
Он будет выполнен безоговорочно только при жестком блокировании средств. То есть, это — эскроу сервис. И они уже давно есть.
в то время как выполнение бумажного договора гарантируют «существующие и отлаженные инстанции»
Тем не менее, любой человек, который будет считать, что его обманули по смарт контракту, обратиться в эти самые инстанции.
Исполнитель может «по особенному» воспринять данные от оракула ил в одностороннем порядке изменить договор?
Ну так это подсудное дело, в зависимости от обстоятельств, вплоть до уголовки.
Суд может «по особенному» воспринять данные от оракула?
Так если суд не аффилирован ни с одной из сторон, ему нет резона что-то «цензурировать», это только лишний геморрой на ровном месте, а если аффилирован, то никакие «математические гарантии» вас от беспредела не спасут.
Касательно смарт-контрактов и оракулов (пока юристы из Oracle не обратили внимания на этот вопрос): Гики часто делают ставку на полностью и безусловно техническое решение проблемы (это хорошо видно по «наивным» подходам к реализации тех или иных процесов на смарт-контрактах), но в случае с условным Ораклайз — гарантией честности может выступать более простые механизмы: деньги/прибыль + конкуренция.
Если ты сервис который предоставляет данные и зарабатывает на этом, то репутация -твой единственный актив. Если случится что ты умышленно или по просьбе слукавишь в данных — конкуренты сделают это известным рынку и бизнесс исчезнет.
Соответственно -это и будет гарантом твоей «честности». И чем крупнее величина доходов бизнеса -тем в вопросах (контрактах) на более крупные суммы можно тебе доверять.
Ну и +старое как мир страхование рисков.
Репутационные модели консенсуса имеют место быть, однако в конкретных реализациях крайне сложно найти баланс между централизацией и уязвимостью к Sybil-атакам. Об этом вскользь говорится в статье(консенсус оракулов) — спасибо за комментарий, возможно стоит подробно осветить эту тему в отдельной статье.
Для тех, кто интересуется темой смарт-контрактов, ответ на вопрос, заданный в заголовке, лежит на поверхности: на сегодняшний день контракты не имеют достоверного и полного источника информации о происходящем в реальном мире.
Я склонен думать что есть более серьезная и ортогональная причина малого распространения смартконтрактов — приватность.
Смартконтракты и данные в них абсолютно публичны что делает невозможным использование чисто смартконтрактов в реальном бизнесе. Для решения проблемы приходится добавлять оффчейн централизованные хранилища или другие централизованные ухищрения, которые, в общем превращают использование смартконтрактов просто в маркетинг.
Правда есть что шанс что секретные контракты энигмы решат таки проблему, но энигма и ее секретные контракты пока очень сырые.
Во-первых, в смарт-контракте можно прописать сами источники информации (в виде API).
Во-вторых, прописать третьи стороны, подтверждающие этапы и двигающие смарт-контракт на следующие шаги.
Реальный пример:
Покупатель делает заказ ботинок у интернет-продавца, но оплачивает в 3 этапа:
- 10% предоплата, чтобы показать серьезность намерения
- 70% при получении посылки в почтовой службе
- 20% после осмотра ботинок и одобрения заказа в личном кабинете.
Если заказ в течении 3 месяцев не получен на почте — 10% возвращаются покупателю.
Если заказ в течении 2 недель после получения посылки не одобрен и не отвергнут в личном кабинете, то 20% списываются.
Если заказ в течении 2 недель [после получения посылки] отвергнут (например, ботинки не те), то покупатель ставит "нет" в кабинете и управление контрактом переходит в арбитраж — заранее оговорённой третьей стороне, разруливающий конфликт в "ручном" режиме.
Так вот. Получение (или не получение) на почте можно отслеживать по веб-трекеру (или API-трекеру), который предоставляет почта.
Подтверждение отслеживать, либо по галочке в личном кабинете (на третичном узле, чтобы исключить махинации), либо по таймауту. Это тоже просто.
А вот включение "арбитража" и "ручной режим", это уже более сложный случай. Третичный арбитр должен выслушать стороны и проследить, чтобы они договорились (замена товара, возврат товара, возврат денег и т.д.). Также таких арбитров может быть прописано несколько (например, 1 от продавца и 1 от покупателя), и они должны придти к консенсусу. И ещё: арбитры должны получать свой процент за "разруливание", например 3% от сделки со счета продавца, если виновен продавец (прислал не тот товар), или 3% со счета покупателя (клеветал на товар). Кроме получения гешефта, арбитры могут/должны выставлять сторонам оценки, влияющие на их рейтинг.
Оперативную работу на обслуживание "триггеров" активных смарт-контрактов и движению их по шагам возложить на узлы p2p-сети.
Вот как-то так я вижу работу смарт-контрактов. Без третичных сторон (трекера почты, наличие ЭЦП сторон на заданных в контрактах узлах), которых стороны выбирают добровольно и произвольно, смарт-контракты работать не будут.
Ещё считаю, что нельзя вводить каких-то "неполживых" "оракулов", имеющих "сертификаты" "независимых" корпоративных арбитров.
Хотя, похоже, в реальности всё к этому и придёт. И пипл схавает.
Получение (или не получение) на почте можно отслеживать по веб-трекеру (или API-трекеру)Вся проблема в виртуальных машинах ethereum(evm). Они все работают немного в разное время, и обязательно все должны перепроверить, что действительно посылка была доставлена. Представьте себе, что сайт почты вдруг неработает. Тогда у одних, кто успел получить данные будет ситуация:«посылка доставлена», а у других «посылка недоставлена». Добавьте сюда китайский файрволл, из-за которого недоступна половина интернета и роскомнадзор, и у вас окажется рассинхронизация в данных. А представьте себе, что вдруг не дай бог — почта вдруг изменит API, и тогда все ваши вылизанные смарт-контракты не смогут проверить условия.
Обо всём этом и идет речь в статье — кому верить, где правда. Потому-что блокчейн не может существовать с недомолвками — у одних так, у других так.
Костыльное и пока единственное рабочее решение — это записывать результаты наблюдений обратно в блокчейн, чтобы любая EVM могла полагаться на эти данные в любое время, хоть через 10 лет всё перепроверить.
Но тут уже встает другой вопрос — если кто-то может записывать эти «надёжные» данные, то можно ли ему верить, а не сжульничает ли он в свою пользу?
Третичный арбитр должен выслушать стороны и проследить, чтобы они договорилисьНу это вы вообще реальный мир описали. Банки, суды, законы.
Оракулы, или почему смарт-контракты всё ещё не изменили мир?