Author

Topic: Напишите возможности смарт контрактов! (Read 2689 times)

sr. member
Activity: 770
Merit: 305
хотя, вот если продолжить трёп в данном направлении (трёп, поскольку отдаляемся от темы) ,
то что-то  же заставляет нацбанк публиковать курс на своём сайте? Не деньги же за это он получает.

Не что-то. А кто-то.
Центробанк нужен государству, то есть всем нам.
При всей ущербности людей, которые там просиживают жопы и кормят свох
родственников - центробанк в первую очередь работает в интересах народа.
Можно ли работать лучше? Наверняка. Найдите людей, которые смогут работать
лучше Наебуллиной и Сторчака.

Можно развалить центробанк. Но тогда стописят миллионов человек с фантиками
от пепси-колы свалятся в абсолютный хаос что за сколько продавать между собой
и за границу. И единственным выходом из такого хаоса будет создание (общей волей,
заметьте) новой структуры выполняющей ту же функцию.

Если ЦБ не будет публиковать курсы на своем сайте - это же нам всем будет неудобно
и некомфортно. Мы для этого и создавали центробанк, чтобы он был самым главным
арбитром и самым единственным оракулом в некоторых финансовых отношениях
sr. member
Activity: 770
Merit: 305
нужно внимательнее читать. не будете ржать в голос. Я же написал, что
"Вот только что заставит его таким заниматься пока не ясно."

Простите. Я просто привык, что на этом форуме мне приходится именно спорить,
а не поддакивать. Поэтому я и понимаю сказанное иногда несколько в ином свете.
В частности, ваши слова можно прочитать и в контексте (я сейчас утрирую и
намеренно вырываю из контекста) типа
Криптовалюта завоюет всю планету, всем придется подстраиваться под новую
реальность и центробанк может сохраниться только при кардинальном изменении
подхода. Вот только что заставит его таким заниматься пока не ясно.


Такое будущее я воспринимаю не как фантастическое, а как невозможное.

Давайте вернемся к смарт-контрактам.
Я за пару лет ни разу не видел смарт-контракта, который приносил бы какую-то
реальную пользу. Все они заточены только на сбор бабла в пользу тех, кто лучше
рассказывает сказки
full member
Activity: 313
Merit: 103
хотя, вот если продолжить трёп в данном направлении (трёп, поскольку отдаляемся от темы) , то что-то  же заставляет нацбанк публиковать курс на своём сайте? Не деньги же за это он получает. Наверное, популярность интернета, востребованность и важность данной информации. Это же со временем может заставить его обзавестись собственным оракулом.
full member
Activity: 313
Merit: 103
нужно внимательнее читать. не будете ржать в голос. Я же написал, что "Вот только что заставит его таким заниматься пока не ясно."
sr. member
Activity: 770
Merit: 305
С другой стороны, вы сами привели пример надёжного поставщика - когда в его роли
выступит сам первоисточник, публикуя свою информацию не только на своём сайте, но
и в своём оракуле. Возможно, к такому и придём. Т.е. например у ЦБ будет свой собственный
оракул, в котором он будет публиковать  курс национальной валюты.

Вот вроде правильно местами рассуждаете. Но я ржу в голос.

Зачем центробанку оракул, если он просто сейчас публикует информацию
на своем сайте? Это и есть централизованная система, в отличии от
децентрализованной крипты. У центробанка нет цели зарабатывать на
продаже своей информации гражданам того государства, для которых он
собственно и работает. Наоборот, действия центробанка в интересах каких-то
посреднических структур - это явные признаки коррупции.

Если вам нужно сверяться с таким доверенным источником, как центробанк -
вам не нужны дополнительные и небесплатные для вас блокчейн и оракулы.
full member
Activity: 313
Merit: 103
Значит смотрите, на рынок поставщиков надёжных внешних данных уже пытаются влезть Oraclize, или ChainLink, Microsoft и какой-то всем кроме меня известный Thomson Reuter. У них у всех свои схемы обогащения данных надёжностью. Мне они не известны. Т.е. рынок формируется.

С другой стороны, вы сами привели пример надёжного поставщика - когда в его роли выступит сам первоисточник, публикуя свою информацию не только на своём сайте, но и в своём оракуле. Возможно, к такому и придём. Т.е. например у ЦБ будет свой собственный оракул, в котором он будет публиковать  курс национальной валюты. Вот только что заставит его таким заниматься пока не ясно. Форс мажоры типа ошиблись при публикации потом исправили или не опубликовали можно нивелировать логикой считывающего из оракула смарт контракта (например, опрашивать курс на конкретный день  несколько раз или несколько дней  и сравнивать результат). И понятно, что ненадёжные, манипулируемые первоисточники не будут ничего гарантировать.

По поводу того, кому сейчас доверять - если вопрос не на миллион долларов, попроще - не вижу проблем. Если такой, который вы привели в самом начале, что уже нужно подбирать источник данных в блокчейне со всей ответственностью, то проблема пока ещё есть, но это не проблема программирования под формализованную логику, это проблема поставки достоверных данных, используемой программой для принятия решения. Она всем известна, и рынок ещё формируется. Это я вам с ходу здесь привёл несколько примеров обогощения данных достоверностью, думаю, в таких компаниях как microsoft придумают что-нибудь поинтереснее.

sr. member
Activity: 770
Merit: 305
жулики они такие...
майкрософт в данной дискуссии олицетворяет подход к вопросу доверия поставщикам
достоверных данных. он здесь не при чём, так, для примера.
всё остальное - вопрос филосовский.

Да почему же философский? Давайте на практике разберем.
Пусть не Майкрософт. Тогда кто? РосБизнесКонсалтинг? Дмитрий Песков? Сайт ЦБ?
Назовите источник, который бы вы сегодня назвали бы "достоверным" и который
будет готов нести перед вами хоть какую-то ответственность в случае ошибки.
Я не вижу в принципе таких источников сегодня и не вижу почему
они должны появиться в перспективе. А вы?

А то сферического коня в вакууме можно еще долго обсуждать.
full member
Activity: 313
Merit: 103
жулики они такие...
майкрософт в данной дискуссии олицетворяет подход к вопросу доверия поставщикам достоверных данных. он здесь не при чём, так, для примера.
всё остальное - вопрос филосовский.


sr. member
Activity: 770
Merit: 305
не, я как умный разработчик или заказчик, не пойду к лицам сомнительной честности
забирать данные для работы моего смарт контраката. Вот если майкрософт предоставит
мне гарантированно достоверные данные через оракула и ответит при этом перед моими
заказчиками финансово за искажённые данные первоисточника, то я напишу/закажу свой
смарт контракт, принимающий решение на основании информации майкрософта.
Зачем тогда нужен блокчейн и орава оракулов?
Если по сути дела за все проёбы отвечает Майкрософт?

Рассказываю, кстати, историю. Про ответственность Майкрософта.
Меня попросили помочь сделать комп для одной знакомой. Летом еще.
Я нашел в ящике стола диск с Windows7 (сам им пользуюсь), поставил
с диска и пошел в яндекс-маркет купить лицензионный ключ.

Я уже не помню всех подробностей, нашел какой-то магазин, купил
там ключ, заплатил картой, получил письмо, все работает. Я уже и забыл
про это, но тут мне принесли тот самый ноут - а на нем горит предупреждение
о нелицензированной версии. Жена сперва попробовала восстановить, а
я предложил обратиться в майкрософт. Позвонил, продиктовал ключ - и через
две минуты получил ответ, что ключ заблокирован, разблокирован быть не может и
со всеми претензиями я имею полное право обращаться в тот магазин, где
я этот ключ купил. Куда смотрели мои глаза, когда я покупал его - я не знаю,
но сегодня я побродил по этому сайту и понял, что нарвался на жуликов.

Не помню сколько я за лицензию заплатил (вроде она тысяч 7 стоила - не могу найти в истории)
Дело не в этом. В любом случае вокруг крупной (и может быть даже честной) структуры
будет крутиться толпа мелких жуликов. И вам придется иметь дело именно с ними,
потому что сам майкрософт на своем сайте лицензии W7 не продает и за дилеров не отвечает.
Посмотрите вокруг - увидите еще много подобных примеров.
full member
Activity: 313
Merit: 103
не, я как умный разработчик или заказчик, не пойду к лицам сомнительной честности забирать данные для работы моего смарт контраката. Вот если майкрософт предоставит мне гарантированно достоверные данные через оракула и ответит при этом перед моими заказчиками финансово за искажённые данные первоисточника, то я напишу/закажу свой смарт контракт, принимающий решение на основании информации майкрософта.

И ЭТО, Я НЕ РАСИСТ, ПРОСТО НЕ ДОВЕРЯЮ)))
sr. member
Activity: 770
Merit: 305
Вы не представляете наверное, какие деньги поднимаются на автоматизации копеечных заработков.
Представляю.
Но мы опять возвращаемся к началу.
Майкрософт выпустит софт. Киви выпустит терминал.
А управлять терминалом (сетью терминалов) и реально вносить данные в блокчейн будет
Умар Джахенбеков из солнечного Дагестана, которого его репутация
не волнует нисколько. Причем будет он вносить "от имени восемнадцати оракулов"
как наши депутаты чужими карточками голосуют. Он не глупее их.
full member
Activity: 313
Merit: 103
ни а) ни б) варианты не являются гарантированно достоверными. Я же об этом и говорю - безопаснее замочить.

С позиции пользователей услуги - если вы готовы вложить в ставку на
результат "Спартак-Динамо" больше денег чем заинтересует тот же microsoft
с его бизнесом поставщика услуги достоверных данных в блокчейн,
А зачем тогда блокчейн?
подойдёт для меньших ставок. Большую ставку я бы делать не стал. Но так ли много участников готовы сделать бОльшую ставку?


Поймите, майкрософт не станет заниматься тем, что публиковать результат
Спартак-Динамо в блокчейн. Это не уровень майкрософта.
Вы не представляете наверное, какие деньги поднимаются на автоматизации копеечных заработков.

sr. member
Activity: 770
Merit: 305
Если есть система в которой я, как поставщик данных, гарантированно больше
потеряю чем получу на махинации со своей работой, то этой махинацией я заниматься не буду.
Логично. Полностью с вами согласен.
Остается рассмотреть два другие варианта:

а) вы получаете больше чем теряете, но решаете работать "честно"
б) вы получаете больше чем теряете и проворачиваете "нечестную комбинацию"

Система является стабильной и устойчивой, только если все (квантор всеобщности ∀ )
поступают по варианту (а)

Если же находится хотя бы один индивидуум ( квантор существования ∃ )
поступающий по плану (б) - то уже неважно что все остальные честные

Quote
С позиции пользователей услуги - если вы готовы вложить в ставку на
результат "Спартак-Динамо" больше денег чем заинтересует тот же microsoft
с его бизнесом поставщика услуги достоверных данных в блокчейн,

А зачем тогда блокчейн?
Поймите, майкрософт не станет заниматься тем, что публиковать результат
Спартак-Динамо в блокчейн. Это не уровень майкрософта.
Но если вы доверяете Майкрософту роль арбитра и оракула - майкрософт
просто откроет беттинговую контору рядом с вашим метро. И будет принимать
ставки безо всякого блокчейна.
full member
Activity: 313
Merit: 103
как интересно с вами общаться...

смысл вот в этом: (1) заработать бабла

Если есть система в которой я, как поставщик данных, гарантированно больше потеряю чем получу на махинации со своей работой, то этой махинацией я заниматься не буду.

С позиции пользователей услуги - если вы готовы вложить в ставку на результат "Спартак-Динамо" больше денег чем заинтересует тот же microsoft с его бизнесом поставщика услуги достоверных данных в блокчейн, то вам безопаснее и дешевле будет замочить вашего контрагента и забрать бабло. В остальных случаях система работает.
sr. member
Activity: 770
Merit: 305
хорошо, тогда вернёмся от общего к частному. Если с примером про тёщу - то в случае
с тем же генератором случайных чисел подделать его так, что бы не пострадала моя репутация,
как поставщика достоверных данных наверное можно, а вот незаметно подделать результат
футбольного матча нельзя. кто-нибудь да заметит. улавливаете смысл последующей логической цепочки?

Нет, не улавливаю.
Репутация нужна только для трех вещей: (1) заработать бабла и (2) чтоб за это не побили.
Все остальные рассуждения о некоей "ценности репутации" - это разговор в пользу бедных,
то есть ни о чём.

Понятно о чем я говорю? Если у тебя действительно миллионный бизнес, ты не будешь
в автобусе тырить мелочь из карманов. Наоборот, будешь помогать инвалидам и сиротам.
Но если у тебя на горизонте замаячит миллиард с возможностью сменить имя, род деятельности
и место жительства - то ты свою со своей репутацией легко расстанешься. Это легко
видеть по российским политикам и бизнесменам. Не по российским, кстати, тоже.

Есть только отдельные, может быть, личности, чьи бизнесы настолько большие а репутация
настолько серьёзная, что тут просто не хватит денег, чтобы эту репутацию купить.
Билл Гейтс, допустим. Или покойный Стив Джобс. Но я не поручусь, что в их биографиях
не было "темных пятен".
full member
Activity: 313
Merit: 103
хорошо, тогда вернёмся от общего к частному. Если с примером про тёщу - то в случае с тем же генератором случайных чисел подделать его так, что бы не пострадала моя репутация, как поставщика достоверных данных наверное можно, а вот незаметно подделать результат футбольного матча нельзя. кто-нибудь да заметит. улавливаете смысл последующей логической цепочки?
sr. member
Activity: 770
Merit: 305
Стану ли я рисковать из-за вашего миллиона своим бизнесом?
Ну, ради моего миллиона не станете.
А если подвернется возможность подкрутить скрипт и положить себе в карман
миллион или больше? Одно дело бизнес, а другое дело что ваша тёща в вашу лотерею
вдруг оказалась на редко удачливым игроком.

Криптоманы всегда начинают со слова "невозможно". Например, у них считается невозможным
изменение (реорганизация) цепочки блоков. То есть люди с пеной у рта доказывают,
что блокчейн - это такой файл, который запрещает перезаписывать сам себя.

Начинаешь им рассказывать про орфаны, про сплит сети, приводишь примеры "а что если
вдруг порвался кабель между африкой и америкой". Некоторые соглашаются - мол, возможно.
Но сразу приводят другой аргумент "это никто не будет делать никогда, потому что
это невыгодно". Поймите, если вы ворочаете миллионами, то у вас будет возможность
украсть миллиард. И вряд ли вы устоите.
full member
Activity: 313
Merit: 103
Если говорить об общем подходе, то сделав полезного оракула, который будет брать информацию из различных авторитетных несвязанных источников с определённой периодичностью, я могу не просто терять деньги на записи транзакций в блокчейн, но и выставить комиссию, на чтение данных оракула, например, выдавать информацию только в ответ на перевод на контракт эфира, или только белому списку адресов. Информацию с сайтов источников вроде бы можно парсить и бесплатно, или я чего-то не знаю - может там право собственности какое встречается? в конце концов, источники разные могут быть.

Описав сам контракт и описав источники его информации, узким местом, как я и говорил, и вы подтверждаете, по-прежнему останется серверный скрипт, которым я смогу манипулировать. Но представьте, что я делаю многомиллионный бизнес на поставке данных, отвечая за искажение этих данных своей репутацией (вместе с которой могу потерять бизнес), или неся юридически оформленную ответственность в соответствии с договорами, заключёнными с теми, кто является потребителем этой информации. Т.е. если я исказил информацию, с меня через суд смогут стребовать компенсацию потерь. Стану ли я рисковать из-за вашего миллиона своим бизнесом?
sr. member
Activity: 770
Merit: 305
Ну а самый простой способ улучшить достоверность - брать информацию из
большого количества несвязанных хороших источников.
Вам придется платить этим источникам. Понятно почему?
И кому-то все-равно придется выбрать эти источники информации и решить
что вот эти 10 хорошие и в сумме им можно верить.
А если он выберет десять своих прикормленных агентов, которые
все хором назовут результат неправильно когда ему это будет выгодно?

То есть вы никуда не уходите от "проблемы доверия"

Quote
Есть оракул, который с внешней своей части (по отношению к блокчейну) на
php+js парсит информацию с сайта букмейкера и заливает её в свою внутреннюю
часть - свой собственный смарт контракт
Кто помешает такому оракулу взять с сайта результат матча Спартак-Динамо 0:1,
а залить в "свою внутреннюю часть" (это ваш термин) счет 1:0?
Остальные-то участники сети не могут вообще говоря проверить - правда это или нет?
full member
Activity: 313
Merit: 103
По поводу курсов криптовалюты, точно не уверен, но по теории можно брать через API криптовалютных бирж курс к USDT (пока не соскамился, будет аналогом реальному доллару). Желательно брать из нескольких бирж и курс усреднять. По фиатным валютам - оракулы и сайты нацбанков, например.

amaclin1, по поводу не проще ли отнести по миллиону долларов букмейкеру - если найдёте букмейкера, для которого репутация дороже чем 2 миллионов долларов и который не снимет с вас комиссии... - несите, только не забудьте сперва выгодно обменять ваши ETH на доллары. Желательно через обменник.

Но суть вашей идеи правильная - связь математически доказуемых децентрализованных приложений блокчейна (о как загнул) с реальным миром заставляет поступаться математической доказуемостью, доверяя поставщику информации из внешнего мира. Рынок поставщиков достоверных данных ещё формируется. Пример одного из стартапов вам также привели - oraclize. А ещё что-то подобное но со своей логикой в этом году предоставили пару известных компаний, например, microsoft... Ну а самый простой способ улучшить достоверность - брать информацию из большого количества несвязанных хороших источников. Они же все должны будут одинаково опубликовать результат матча. Взяли, сравнили, оставив допуск на погрешность и получили консенсус в виде правильного решения.

По вопросу того, что все ноды будут лезть на букмекерский сайт - не, не будут. Вам уже ответили, что для этого используются оракулы. Суть простая - есть внешний поставщик данных, например сайт самой уважаемой букмейкерской конторы, которая публикует всё на своём сайте. Есть оракул, который с внешней своей части (по отношению к блокчейну) на php+js парсит информацию с сайта букмейкера и заливает её в свою внутреннюю часть - свой собственный смарт контракт, предоставляя к нему доступ всем желающим (адрес + интерфейс) внутри блокчейна. Делает он это например раз в день по расписанию. Есть проверки, на уровне смарт контракта, в соответствие с которыми никто туда больше не может залить ничего, только считывать. Получаем узкое место только на уровне php-js, которые могут быть скомпрометированы.
member
Activity: 85
Merit: 10
Тоже интересует как это  работает.
newbie
Activity: 76
Merit: 0
Как лучше или правильней получить курс ETH/USD через оракула на смарт-контракт? Есть какой-то готовый код может?
newbie
Activity: 54
Merit: 0
oraclize.it неплохо работает. Сейчас используем для получения в контракт рандомного числа. Пока опыта маловато, но заставить работать удалось. Кроме рандомных чисел у них можно еще многие данные запросить. Нет сомнений, что и остальное будет работать.

Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.

Сайт может быть и уважаемый, но всегда присутствует человеческий фактор, опечатка на сайте может многого стоить, решения с oraclize пока нельзя назвать надежными.
member
Activity: 98
Merit: 10
мне кажется, что вся эта система еще не доработана.. может через год-два все будет в человеческом виде.. Скажите, дорогие ли эти смарт контракты?
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Покажите хоть один контракт работающий с ним в тест-нете или мейн-нете.
Только не пытайтесь мне впарить примеры с их страницы Oraclize-based ÐApps
Берем первую же "компанию" Флайт Делай Апп. Смотрим её контракт
https://etherscan.io/address/0x12f8c63034AAC487396b70db04aBA5c84dEd1886
8 транзакций ровно год назад? И пустой баланс на контракте? Да это тесты же.
Другие примеры даже смотреть лень. Я знаю что я там увижу - максимум - это сайт-визитку.

Разница в том, что тексты прошли, разработка модуля идет. Парсить сайты можно. То, что это никто не делает конечно наталкивает на определенные мысли, но не значит что это не возможно. Так как я не специалист, я полагаю что определенные проблемы имеют место быть,
Вечные двигатели не запускаются вообще или работают совсем не с тем КПД, как оговаривалось.

Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.
В этом по мнению Амаклина и заключается проблема
jr. member
Activity: 53
Merit: 10
oraclize.it неплохо работает. Сейчас используем для получения в контракт рандомного числа. Пока опыта маловато, но заставить работать удалось. Кроме рандомных чисел у них можно еще многие данные запросить. Нет сомнений, что и остальное будет работать.

Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.
newbie
Activity: 47
Merit: 0
Берем первую же "компанию" Флайт Делай Апп. Смотрим её контракт
https://etherscan.io/address/0x12f8c63034AAC487396b70db04aBA5c84dEd1886
8 транзакций ровно год назад? И пустой баланс на контракте? Да это тесты же.

тоже глаз на нее сразу упал  Grin
как тэст демо то вроде работает, через metamask на kovan testnet щас попробовал
но да еще много времени пройдет пока это все отшлифуется в нормальные интерфейсы для массового пользователя


sr. member
Activity: 770
Merit: 305
Этим модулем будет Оракул, сейчас такое есть и в тест нете, и в мейннете. Вот например - http://www.oraclize.it/
Учитывая что никаких сложных функций мы к нему не подвязываем, а просто выбор данных с определенного сайта
Покажите хоть один контракт работающий с ним в тест-нете или мейн-нете.
Только не пытайтесь мне впарить примеры с их страницы Oraclize-based ÐApps
Берем первую же "компанию" Флайт Делай Апп. Смотрим её контракт
https://etherscan.io/address/0x12f8c63034AAC487396b70db04aBA5c84dEd1886
8 транзакций ровно год назад? И пустой баланс на контракте? Да это тесты же.
Другие примеры даже смотреть лень. Я знаю что я там увижу - максимум - это сайт-визитку.

Моделей "вечных двигателей" в мире тысячи. Ни одна еще не заработала. Но дураки верят в чудо.
Ладно бы только верили - они и других за собой зовут  Grin
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Да что вы такое говорите?  Grin
То есть каждая нода, получившая блок будет лезть на букмекерский сайт для того чтобы проверить
верно ли исполняется контракт или ей прислали невалидный блок? Нет, такое нельзя делать в эфире,
не дурите доверчивых читателей.
Этим модулем будет Оракул, сейчас такое есть и в тест нете, и в мейннете. Вот например - http://www.oraclize.it/
Учитывая что никаких сложных функций мы к нему не подвязываем, а просто выбор данных с определенного сайта

Quote
Я расскажу как это выглядит со стороны.
Вы рассказываете сказки, какой прогресс человечеству ожидается при внедрении некоторой технологии.
И частью этой технологии является "вечный двигатель".
Когда вам говорят - ну не будет это работать, потому что вечный двигатель не придуман еще и нет
никаких концептов, которые допустили бы его существование, вы сливаетесь со словами "ну я не силен в физике".

Софизмы.
newbie
Activity: 47
Merit: 0
В таком случае один из участников может просто подкупить арбитра, пообещав ему половину профита.
Арбитр на это согласится, потому что иначе он вообще ничего не получает.
А хорошая репутация ничего не значит, если её нельзя конвертировать в бабло.

как вариант можно несколько арбитров подключить,
ну и конечно в смарт контракте можно прописать небольшую fee для них, чтобы был стимул
и принимать результат тот который подтвержден максимумом арбитров
fee не платить меньшинству, тогда арбитрам выгодно достоверный результат посылать

единственный косяк будет если все арбитры в сговоре с одним из участников но это уже маловероятно
sr. member
Activity: 770
Merit: 305
то есть оба участника изначально должны доверять одному и тому же источнику
В таком случае один из участников может просто подкупить арбитра, пообещав ему половину профита.
Арбитр на это согласится, потому что иначе он вообще ничего не получает.
А хорошая репутация ничего не значит, если её нельзя конвертировать в бабло.
newbie
Activity: 47
Merit: 0
да, думаю в этом случае без 3rd party не обойтись

то есть оба участника изначально должны доверять одному и тому же источнику

пусть это будет еще один чувак со своим адресом ну или сервис типа http://www.oraclize.it/
можно прописать в смарт контракте что только с какого-то определенного адреса можно принять результат

чтото типа
- каждый участник посылает ether на адрес контракта плюс адрес 3rd party которому они доверяют
- если этот адрес 3rd party не совпадает -> контракт invalid, деньги возвращаются
- если совападает то статус контракта меняется на активный (теперь только 3rd party может повлиять на статус контракта)
- после того как результат известен 3rd party посылает результат, очко получает команда знатоков контракт resolved, кто-то уыиграл Grin



sr. member
Activity: 770
Merit: 305
Просто будет отдельный модуль который парсит букмекерский сайт и передает результат уже в контракт.
В Эфире такое можно делать. 
Да что вы такое говорите?  Grin
То есть каждая нода, получившая блок будет лезть на букмекерский сайт для того чтобы проверить
верно ли исполняется контракт или ей прислали невалидный блок? Нет, такое нельзя делать в эфире,
не дурите доверчивых читателей.

Кроме того, задумайтесь - а зачем тогда вообще вам смарт-контракт нужен, если все равно
всё упирается в "третью сторону" - то есть в букмекера? Не проще ли тогда чтобы игроки А и Б
просто отдали бабки букмекеру, а он бы отдал выигрыш одному из них?

Quote
Я нигде не писал что я специалист в умных контрактах. Или приведите обратное или колкости оставьте для других.
Я расскажу как это выглядит со стороны.
Вы рассказываете сказки, какой прогресс человечеству ожидается при внедрении некоторой технологии.
И частью этой технологии является "вечный двигатель".
Когда вам говорят - ну не будет это работать, потому что вечный двигатель не придуман еще и нет
никаких концептов, которые допустили бы его существование, вы сливаетесь со словами "ну я не силен в физике".
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Против, конечно.
Потому что от схематичного описания смарт-контракта толку ровно столько же,
как от схематичного описания "вечного двигателя"
На самом деле функциональная схема как раз для таких вещей подходит хорошо, ведь я на 150 % уверен что дело не в самом коде (в ваших придирках) а в самом функционале контракта, его логике.

Спасибо. Повеселили с самого утра. Вот сразу видно "специалиста" в смарт-контрактах
Вы как собираетесь вот эту строчку вашего "контракта" писать?
Ну то есть как смарт-контракт узнает счет матча? В газете прочитает? А газету
вы ему куда будете засовывать? В слот сиди-рома?


Просто будет отдельный модуль который парсит букмекерский сайт и передает результат уже в контракт. В Эфире такое можно делать. 
Я нигде не писал что я специалист в умных контрактах. Или приведите обратное или колкости оставьте для других.
sr. member
Activity: 770
Merit: 305
Я вам попытаюсь описать схематически, если вы не против:
Против, конечно.
Потому что от схематичного описания смарт-контракта толку ровно столько же,
как от схематичного описания "вечного двигателя"

Спасибо. Повеселили с самого утра. Вот сразу видно "специалиста" в смарт-контрактах
Вы как собираетесь вот эту строчку вашего "контракта" писать?
Quote
if matchresult == 1:
Ну то есть как смарт-контракт узнает счет матча? В газете прочитает? А газету
вы ему куда будете засовывать? В слот сиди-рома?
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Допустим, у каждого уже есть кефиров на миллиард баксов.
Так что этап с биржей можно пропустить.
Ну давайте, напишите мне такой смарт-контракт.
Я просил не рассуждать, а предъявить контракт. Хотя бы набросок.
Только не как в том комиксе про то как рисовать сову из двух кружочков.

Простите что так долго, выбирался на природу.
Я вам попытаюсь описать схематически, если вы не против:

1. Создаем саму оболочку контракта, функцию-конструктор с указанием на владельца. Если нам нужен самовыполняющийся смарт контракт мы можем "запретить" вносить изменения даже владельцу какой нибудь функцией которая при попытке любого изменения всегда будет возвращать false .
2. В оболочке определяем список "белых адресов" которые участвуют в споре, а так же условие условие, что то вроде
Quote
if matchresult == 1:
   send(adr1)
elif matchresult == 0:
   send(adr2)
else: print('Победила дружба')
                                                                                 
Как то так. Понятно, что это все нужно будет разнести по отдельным выполняемым функциям, понятное дело что очень схематическое описание. Если вам нужен именно код, то придется подождать, так как пока что нет доступа к девайсам. Но я уверен что ваши претензии не совсем в коде, как то так.
sr. member
Activity: 770
Merit: 305
думаю да, алгоритм такой:
люди покупают на бирже на миллиард, закидывают в смарт контракт (важное
условие - код смарт контракта проверен обоими сторонами) с самый простым
кодом, и потом кто-то получает два миллиарда, а кто-то 0.

Допустим, у каждого уже есть кефиров на миллиард баксов.
Так что этап с биржей можно пропустить.
Ну давайте, напишите мне такой смарт-контракт.
Я просил не рассуждать, а предъявить контракт. Хотя бы набросок.
Только не как в том комиксе про то как рисовать сову из двух кружочков.
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Как я понимаю, здесь ключевое слово "рубли". Я вот уже хотел написать вам логику, прямо с кодом, но уловил вашу хитрость. Уверен что вы сразу же спросите "А как контракт рубли то примет" и дальше от этого пойдете плясать.  Smiley
Замените на кефиры. Это не ключевое слово.
Хитрость (если она и есть) в количестве. То есть когда вы ответите
про условные 100 рублей (эта сумма не является критичной ни для кого)
я спрошу: а если на кону по миллиарду с каждой стороны - то тот же алгоритм
будет работать или нет?

думаю да, алгоритм такой:
люди покупают на бирже на миллиард, закидывают в смарт контракт (важное условие - код смарт контракта проверен обоими сторонами) с самый простым кодом, и потом кто-то получает два миллиарда, а кто-то 0.
sr. member
Activity: 770
Merit: 305
Как я понимаю, здесь ключевое слово "рубли". Я вот уже хотел написать вам логику, прямо с кодом, но уловил вашу хитрость. Уверен что вы сразу же спросите "А как контракт рубли то примет" и дальше от этого пойдете плясать.  Smiley
Замените на кефиры. Это не ключевое слово.
Хитрость (если она и есть) в количестве. То есть когда вы ответите
про условные 100 рублей (эта сумма не является критичной ни для кого)
я спрошу: а если на кону по миллиарду с каждой стороны - то тот же алгоритм
будет работать или нет?
sr. member
Activity: 377
Merit: 282
Finis coronat opus
jr. member
Activity: 45
Merit: 1
ShDenis Спасибо!
sr. member
Activity: 770
Merit: 305
И напоследок, по поводу "Смарт контракты это полное Г. " - полное Г это подобные
заявления в сторону того, в чём ничего не понимаешь.
Ну хорошо. Давайте разберёмся у кого из вам пиписька длиннее кто из вас
лучше разбирается в смарт-контрактах.

Т.е. всю логику которая может быть формализована можно реализовать в
смартконтракте (или  системе из смарт контрактов).
Окей. Рассмотрим это утверждение.
Логику хочу такую: два человека скидываются по 100 рублей накануне матча "Спартак-Динамо"
Если выигрывает Спартак - банк получает первый игрок. Если Динамо - второй игрок.
Итак.
Логика формализована (детали я не конкретизировал, надеюсь вы понимаете что это неважно)
Вы утверждаете, что можно создать такой смарт-контракт? Вперёд, дерзайте.
full member
Activity: 313
Merit: 103
sr. member
Activity: 770
Merit: 305
1. Это очень легко проверить, если при компиляции исходного кода получаем байт код в блокчейне, то исходник верен
Да-да. Каждая домохозяйка должна уметь устанавливать компилятор солидити и уметь сравнивать
получившийся байт-код с тем что есть в блокчейне. А блокчейн на 200 гигабайт уже и синхронизировать
его можно только на машине как минимум с 16 гигами памяти на борту. Легко? Ну говорить точно легко.
А сделать такое самостоятельно слабо? Без блок-эксплореров?

Quote
2. Зачем играть токенами, можно же играть эфиром. Конечно цена эфира может тоже скакать, но не так сильно я думаю как цена токенов
Я про кефир и вел разговор.
Есть деньги, а есть токены. В кефире есть еще суб-токены и суб-суб-суб-токены. Пока мозг не взорвется
full member
Activity: 256
Merit: 102
1. Это очень легко проверить, если при компиляции исходного кода получаем байт код в блокчейне, то исходник верен
2. Зачем играть токенами, можно же играть эфиром. Конечно цена эфира может тоже скакать, но не так сильно я думаю как цена токенов
3. Да согласен можно и так делать
sr. member
Activity: 770
Merit: 305
Здесь смарт контракт вообще не поможет. Зато он поможет поверить в честность
казино. Казино например говорит, что отдает 90 процентов прибыли, а по факту это
сложно проверить. Вот со смарт контрактом все просто

Три аспекта.
Во-первых, проверить смарт-контракт - это вовсе непросто. Попробуйте
проверить сами любой контракт, да хоть бы "хелло ворлд" и расскажите как
вам это удалось без привлечения экспертов. Даже декомпиляции нельзя особо
доверять, потому что казино может быть в сговоре с блок-эксплорером - вам
блок-эксплорер показывает один код, а реально смарт-контракт выполняет другой.
Да и 99.9% населения код этих ваших Solidity не розумеют.

Второй аспект - что мы по-прежнему находимся внутри виртуальной машины и
делаем ставки фантиками. В казино, конечно, тоже играют фишками, но я не слышал
про то, что какое-то казино выставляет существенно разный курс на продажу и покупку
фантиков. Со всякими токенами вы так залететь можете легко. Вложили 10 баксов,
выиграли 100500 токенов, а потом оказалось что при превращении их обратно в баксы
вы получите только 9 баксов.

Третий аспект - а в чем, собственно, проблема проверки честности для онлайн-казино
без контрактов? Я загадываю некоторое число, добавляю к нему произвольный текст
и сообщаю вам хэш от получившейся строки. Вы делаете ставку и сообщаете мне своё
число. Если сумма чисел четная - я выплачиваю вам вдвое. Если нечетная - забираю ставку
себе. После каждого раунда я публикую мою строку с числом и вы можете проверить
что своё число я загадал до того, как получил вашу ставку.
full member
Activity: 256
Merit: 102
sr. member
Activity: 770
Merit: 305
я тут посмотрел - действительно есть казиношки написаные на смарт контрактах, всё же как-то оно работает
как я понял - на контракт приходят деньги, а потом чтоб "крутануть рулетку" - приходит подписаное сообщение с того же адреса, что и деньги
Крутить может сам контракт по какому-то алгоритму.
Но проблема в том, что все смарт-контракты "живут" внутри виртуальной машины.
То есть в реальной жизни они использоваться не могут сами по себе.
Если я взял у вас сто рублей или сто кефиров, или сто биткойнов - то никакой смарт-контракт
не заставит меня вернуть вам долг. А для чего он тогда нужен если эту проблему мы без
смарт-контракта решим?
jr. member
Activity: 45
Merit: 1
я тут посмотрел - действительно есть казиношки написаные на смарт контрактах, всё же как-то оно работает
как я понял - на контракт приходят деньги, а потом чтоб "крутануть рулетку" - приходит подписаное сообщение с того же адреса, что и деньги
member
Activity: 108
Merit: 250
Quote
как это будет выглядеть пересылаешь деньги и "указываешь".. то есть там есть какая-то текстовая информация?
кто-то укажет 5 из 36, кто-то 5/36 и всё - там уже ничего не работает потому, что комп не разберёт эту информацию.
В солидити в смартконтракте можно сделать функцию, которая будет вызываться с отправкой эфира. В функции можно определить нужные параметры

full member
Activity: 256
Merit: 102
ну не все так плохо, все таки они еще молоды. Недостатков у них масса, но для исо, своих токенов они вполне годятся

Для чего нужна текстовая инфа в контракте - были случаи когда хакеры подменяли адреса ICO и деньги шли не туда, потому лучше прописывать важную инфу в надёжных местах типа блокчеина.
А при чем тут смарт контракты? Взломали сайт, поставили другой адрес кошелька и тут явно контракты не виноваты
jr. member
Activity: 45
Merit: 1
Для этого не обязательно иметь несколько адресов. Контракт типа "лото" - ты посылаешь на
адрес контракта бабло и указываешь свои цифры 5-из-36 допустим.
Ну вот как раз хороший пример сделать рулетку или 21 казиношную игру. самое простое.
как это будет выглядеть пересылаешь деньги и "указываешь".. то есть там есть какая-то текстовая информация?
кто-то укажет 5 из 36, кто-то 5/36 и всё - там уже ничего не работает потому, что комп не разберёт эту информацию.
Незнаю, незнаю, оно вроде как есть, но так чтоб работало - я не слышал. Всё что есть - это милион разных скам ICO и всё что, контракт делает - это пересылает эквивалент токенов.
Для чего нужна текстовая инфа в контракте - были случаи когда хакеры подменяли адреса ICO и деньги шли не туда, потому лучше прописывать важную инфу в надёжных местах типа блокчеина.

В этом есть проблема - програмист не всегда основатель идеи или бизнеса. Когда основатели ничего не понимают или не доверяют в тех штуках которыми програмисты занимаются, никакого дела не выходит.
sr. member
Activity: 770
Merit: 305
ладно, раз все молчат, видимо потому что сказать нечего.
Смарт контракты это полное Г. они ни на что не годны. я не говорю уже про такие вещи как "связь с реальным миром",
Конечно, связи с реальным миром у них нет.
Смарт-контракты не смотрят футбол и не знают результат матча.

Quote
кто-то там говорил "оракулы" или "заходит на сайты проверяет новости" - ничего это не работает.
Там или идут двойные траты, или вся система крашится. они даже не могут выполнить элементарных
Разумеется. Нужны посредники, которые кушать хотят и которых можно подкупить.

Quote
вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать
на третий адрес, а если второй больше то на 4ый
Ну это как раз несложно вроде.

Quote
полностью ниочём, Виталик прикрутил какой-то солидити но он там как пятая нога, ничего не делает.
всёравно что кинуть в телегу тетрис и сказать - "электронная программируемая телега".
я думаю этот вопрос закрыт.
Солидити - это язык написания контрактов. Не не кодах же виртуальной машины их писать?
sr. member
Activity: 770
Merit: 305
Как они работают ничего не понятно
Может у смарт контракта быть несколько входных адресов?
Адрес - в смысле адрес в сети эфира? Нет, не может. А зачем?
Контракт - это примерно функция в языке программирования - имя у нее одно, а параметров
может быть несколько и в зависимости от параметров она может делать разные вещи.

Quote
что должны люди посылать на эти адреса - эфир?
ну да.

Quote
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех
кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
Для этого не обязательно иметь несколько адресов. Контракт типа "лото" - ты посылаешь на
адрес контракта бабло и указываешь свои цифры 5-из-36 допустим.

Quote
есть ли у самрт контракта какая нибудь страница где можно чё-то написать и забить это в блокчеин эфира - чтоб не поменяли
Не понятно зачем. В блокчейне хранится код контракта уже скомпилированный. Хранить
там ееще что-то можно, но нафига?
member
Activity: 108
Merit: 250
Quote
Может у смарт контракта быть несколько входных адресов?

У одного нет, но можно сделать несколько взаимодействующих

Quote
что должны люди посылать на эти адреса - эфир?
Смотря что вам нужно, есть возможность производить действия, когда кто-то отправил эфир на адрес смарт контракта

Quote
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
Можно

Quote
есть ли у самрт контракта какая нибудь страница где можно чё-то написать и забить это в блокчеин эфира - чтоб не поменяли

Можно заносить данные в переменные, можно сделать так, чтобы значения этих переменных никто и никогда не смог изменить.

Quote
Виталик прикрутил какой-то солидити но он там как пятая нога
Солидити - мощный язык программирования, на котором можно реализовать любой алгоритм (тюринг полный), но нужно понимать, что этот алгоритм должен быть повторяемым и проверяемым

Quote
не могут выполнить элементарных вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать на третий адрес, а если второй больше то на 4ый

Сделать это можно (как минимум, если все эти адреса - адреса ваших контрактов)
jr. member
Activity: 45
Merit: 1
ладно, раз все молчат, видимо потому что сказать нечего.
Смарт контракты это полное Г. они ни на что не годны. я не говорю уже про такие вещи как "связь с реальным миром",
кто-то там говорил "оракулы" или "заходит на сайты проверяет новости" - ничего это не работает. Там или идут двойные траты, или вся система крашится. они даже не могут выполнить элементарных вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать на третий адрес, а если второй больше то на 4ый
полностью ниочём, Виталик прикрутил какой-то солидити но он там как пятая нога, ничего не делает. всёравно что кинуть в телегу тетрис и сказать - "электронная программируемая телега".
я думаю этот вопрос закрыт.
jr. member
Activity: 45
Merit: 1
Как они работают ничего не понятно
Может у смарт контракта быть несколько входных адресов?
что должны люди посылать на эти адреса - эфир?
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
есть ли у самрт контракта какая нибудь страница где можно чё-то написать и забить это в блокчеин эфира - чтоб не поменяли
Jump to: