amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 13, 2017, 10:22:34 PM |
|
думаю да, алгоритм такой: люди покупают на бирже на миллиард, закидывают в смарт контракт (важное условие - код смарт контракта проверен обоими сторонами) с самый простым кодом, и потом кто-то получает два миллиарда, а кто-то 0. Допустим, у каждого уже есть кефиров на миллиард баксов. Так что этап с биржей можно пропустить. Ну давайте, напишите мне такой смарт-контракт. Я просил не рассуждать, а предъявить контракт. Хотя бы набросок. Только не как в том комиксе про то как рисовать сову из двух кружочков.
|
|
|
|
TechPriest
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 377
Merit: 282
Finis coronat opus
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 21, 2017, 08:07:59 PM |
|
Допустим, у каждого уже есть кефиров на миллиард баксов. Так что этап с биржей можно пропустить. Ну давайте, напишите мне такой смарт-контракт. Я просил не рассуждать, а предъявить контракт. Хотя бы набросок. Только не как в том комиксе про то как рисовать сову из двух кружочков.
Простите что так долго, выбирался на природу. Я вам попытаюсь описать схематически, если вы не против: 1. Создаем саму оболочку контракта, функцию-конструктор с указанием на владельца. Если нам нужен самовыполняющийся смарт контракт мы можем "запретить" вносить изменения даже владельцу какой нибудь функцией которая при попытке любого изменения всегда будет возвращать false . 2. В оболочке определяем список "белых адресов" которые участвуют в споре, а так же условие условие, что то вроде if matchresult == 1: send(adr1) elif matchresult == 0: send(adr2) else: print('Победила дружба') Как то так. Понятно, что это все нужно будет разнести по отдельным выполняемым функциям, понятное дело что очень схематическое описание. Если вам нужен именно код, то придется подождать, так как пока что нет доступа к девайсам. Но я уверен что ваши претензии не совсем в коде, как то так.
|
In science we trust!
|
|
|
amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 05:09:24 AM |
|
Я вам попытаюсь описать схематически, если вы не против: Против, конечно. Потому что от схематичного описания смарт-контракта толку ровно столько же, как от схематичного описания "вечного двигателя" Спасибо. Повеселили с самого утра. Вот сразу видно "специалиста" в смарт-контрактах Вы как собираетесь вот эту строчку вашего "контракта" писать? if matchresult == 1: Ну то есть как смарт-контракт узнает счет матча? В газете прочитает? А газету вы ему куда будете засовывать? В слот сиди-рома?
|
|
|
|
TechPriest
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 377
Merit: 282
Finis coronat opus
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 08:28:35 AM |
|
Против, конечно. Потому что от схематичного описания смарт-контракта толку ровно столько же, как от схематичного описания "вечного двигателя" На самом деле функциональная схема как раз для таких вещей подходит хорошо, ведь я на 150 % уверен что дело не в самом коде (в ваших придирках) а в самом функционале контракта, его логике. Спасибо. Повеселили с самого утра. Вот сразу видно "специалиста" в смарт-контрактах Вы как собираетесь вот эту строчку вашего "контракта" писать? Ну то есть как смарт-контракт узнает счет матча? В газете прочитает? А газету вы ему куда будете засовывать? В слот сиди-рома?
Просто будет отдельный модуль который парсит букмекерский сайт и передает результат уже в контракт. В Эфире такое можно делать. Я нигде не писал что я специалист в умных контрактах. Или приведите обратное или колкости оставьте для других.
|
In science we trust!
|
|
|
amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 08:50:48 AM |
|
Просто будет отдельный модуль который парсит букмекерский сайт и передает результат уже в контракт. В Эфире такое можно делать. Да что вы такое говорите? ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) То есть каждая нода, получившая блок будет лезть на букмекерский сайт для того чтобы проверить верно ли исполняется контракт или ей прислали невалидный блок? Нет, такое нельзя делать в эфире, не дурите доверчивых читателей. Кроме того, задумайтесь - а зачем тогда вообще вам смарт-контракт нужен, если все равно всё упирается в "третью сторону" - то есть в букмекера? Не проще ли тогда чтобы игроки А и Б просто отдали бабки букмекеру, а он бы отдал выигрыш одному из них? Я нигде не писал что я специалист в умных контрактах. Или приведите обратное или колкости оставьте для других. Я расскажу как это выглядит со стороны. Вы рассказываете сказки, какой прогресс человечеству ожидается при внедрении некоторой технологии. И частью этой технологии является "вечный двигатель". Когда вам говорят - ну не будет это работать, потому что вечный двигатель не придуман еще и нет никаких концептов, которые допустили бы его существование, вы сливаетесь со словами "ну я не силен в физике".
|
|
|
|
madtek
Newbie
Offline
Activity: 47
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 10:08:03 AM |
|
да, думаю в этом случае без 3rd party не обойтись то есть оба участника изначально должны доверять одному и тому же источнику пусть это будет еще один чувак со своим адресом ну или сервис типа http://www.oraclize.it/можно прописать в смарт контракте что только с какого-то определенного адреса можно принять результат чтото типа - каждый участник посылает ether на адрес контракта плюс адрес 3rd party которому они доверяют - если этот адрес 3rd party не совпадает -> контракт invalid, деньги возвращаются - если совападает то статус контракта меняется на активный (теперь только 3rd party может повлиять на статус контракта) - после того как результат известен 3rd party посылает результат, очко получает команда знатоков контракт resolved, кто-то уыиграл ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
|
|
|
|
amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 12:16:17 PM |
|
то есть оба участника изначально должны доверять одному и тому же источнику В таком случае один из участников может просто подкупить арбитра, пообещав ему половину профита. Арбитр на это согласится, потому что иначе он вообще ничего не получает. А хорошая репутация ничего не значит, если её нельзя конвертировать в бабло.
|
|
|
|
madtek
Newbie
Offline
Activity: 47
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 01:03:52 PM |
|
В таком случае один из участников может просто подкупить арбитра, пообещав ему половину профита. Арбитр на это согласится, потому что иначе он вообще ничего не получает. А хорошая репутация ничего не значит, если её нельзя конвертировать в бабло.
как вариант можно несколько арбитров подключить, ну и конечно в смарт контракте можно прописать небольшую fee для них, чтобы был стимул и принимать результат тот который подтвержден максимумом арбитров fee не платить меньшинству, тогда арбитрам выгодно достоверный результат посылать единственный косяк будет если все арбитры в сговоре с одним из участников но это уже маловероятно
|
|
|
|
TechPriest
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 377
Merit: 282
Finis coronat opus
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 02:08:26 PM |
|
Да что вы такое говорите? ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) То есть каждая нода, получившая блок будет лезть на букмекерский сайт для того чтобы проверить верно ли исполняется контракт или ей прислали невалидный блок? Нет, такое нельзя делать в эфире, не дурите доверчивых читателей. Этим модулем будет Оракул, сейчас такое есть и в тест нете, и в мейннете. Вот например - http://www.oraclize.it/Учитывая что никаких сложных функций мы к нему не подвязываем, а просто выбор данных с определенного сайта Я расскажу как это выглядит со стороны. Вы рассказываете сказки, какой прогресс человечеству ожидается при внедрении некоторой технологии. И частью этой технологии является "вечный двигатель". Когда вам говорят - ну не будет это работать, потому что вечный двигатель не придуман еще и нет никаких концептов, которые допустили бы его существование, вы сливаетесь со словами "ну я не силен в физике".
Софизмы.
|
In science we trust!
|
|
|
amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 03:57:27 PM |
|
Этим модулем будет Оракул, сейчас такое есть и в тест нете, и в мейннете. Вот например - http://www.oraclize.it/Учитывая что никаких сложных функций мы к нему не подвязываем, а просто выбор данных с определенного сайта Покажите хоть один контракт работающий с ним в тест-нете или мейн-нете. Только не пытайтесь мне впарить примеры с их страницы Oraclize-based ÐApps Берем первую же "компанию" Флайт Делай Апп. Смотрим её контракт https://etherscan.io/address/0x12f8c63034AAC487396b70db04aBA5c84dEd18868 транзакций ровно год назад? И пустой баланс на контракте? Да это тесты же. Другие примеры даже смотреть лень. Я знаю что я там увижу - максимум - это сайт-визитку. Моделей "вечных двигателей" в мире тысячи. Ни одна еще не заработала. Но дураки верят в чудо. Ладно бы только верили - они и других за собой зовут ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
|
|
|
|
madtek
Newbie
Offline
Activity: 47
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 22, 2017, 07:34:19 PM |
|
тоже глаз на нее сразу упал ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) как тэст демо то вроде работает, через metamask на kovan testnet щас попробовал но да еще много времени пройдет пока это все отшлифуется в нормальные интерфейсы для массового пользователя
|
|
|
|
lottesy
Jr. Member
Offline
Activity: 53
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 23, 2017, 12:52:56 PM |
|
oraclize.it неплохо работает. Сейчас используем для получения в контракт рандомного числа. Пока опыта маловато, но заставить работать удалось. Кроме рандомных чисел у них можно еще многие данные запросить. Нет сомнений, что и остальное будет работать.
Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.
|
► The smart contract lottery ◄ Get the chance to win 10 ETH for 0.01 ETH. http://lottesy.com (http://lottesy.com)
|
|
|
TechPriest
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 377
Merit: 282
Finis coronat opus
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 23, 2017, 08:51:31 PM |
|
Покажите хоть один контракт работающий с ним в тест-нете или мейн-нете. Только не пытайтесь мне впарить примеры с их страницы Oraclize-based ÐApps Берем первую же "компанию" Флайт Делай Апп. Смотрим её контракт https://etherscan.io/address/0x12f8c63034AAC487396b70db04aBA5c84dEd18868 транзакций ровно год назад? И пустой баланс на контракте? Да это тесты же. Другие примеры даже смотреть лень. Я знаю что я там увижу - максимум - это сайт-визитку. Разница в том, что тексты прошли, разработка модуля идет. Парсить сайты можно. То, что это никто не делает конечно наталкивает на определенные мысли, но не значит что это не возможно. Так как я не специалист, я полагаю что определенные проблемы имеют место быть, Вечные двигатели не запускаются вообще или работают совсем не с тем КПД, как оговаривалось. Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.
В этом по мнению Амаклина и заключается проблема
|
In science we trust!
|
|
|
PolinaVodovatova
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 98
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 27, 2017, 03:05:48 PM |
|
мне кажется, что вся эта система еще не доработана.. может через год-два все будет в человеческом виде.. Скажите, дорогие ли эти смарт контракты?
|
|
|
|
x0r2
Newbie
Offline
Activity: 54
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 27, 2017, 07:09:10 PM |
|
oraclize.it неплохо работает. Сейчас используем для получения в контракт рандомного числа. Пока опыта маловато, но заставить работать удалось. Кроме рандомных чисел у них можно еще многие данные запросить. Нет сомнений, что и остальное будет работать.
Если есть уважаемый сайт, на котором постятся результаты игр Спартак - Динамо, можно брать данные с этого сайта. Просто пишем в своем предложении, что данные будут браться с такого-то сайта. Кто согласен на это условие - играет, кто нет - проходит мимо.
Сайт может быть и уважаемый, но всегда присутствует человеческий фактор, опечатка на сайте может многого стоить, решения с oraclize пока нельзя назвать надежными.
|
|
|
|
mushroomalert
Newbie
Offline
Activity: 76
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 02, 2017, 04:46:19 PM |
|
Как лучше или правильней получить курс ETH/USD через оракула на смарт-контракт? Есть какой-то готовый код может?
|
|
|
|
SamSam13197
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
October 10, 2017, 04:52:27 PM |
|
Тоже интересует как это работает.
|
|
|
|
ShDenis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 01, 2017, 11:49:36 AM |
|
По поводу курсов криптовалюты, точно не уверен, но по теории можно брать через API криптовалютных бирж курс к USDT (пока не соскамился, будет аналогом реальному доллару). Желательно брать из нескольких бирж и курс усреднять. По фиатным валютам - оракулы и сайты нацбанков, например.
amaclin1, по поводу не проще ли отнести по миллиону долларов букмейкеру - если найдёте букмейкера, для которого репутация дороже чем 2 миллионов долларов и который не снимет с вас комиссии... - несите, только не забудьте сперва выгодно обменять ваши ETH на доллары. Желательно через обменник.
Но суть вашей идеи правильная - связь математически доказуемых децентрализованных приложений блокчейна (о как загнул) с реальным миром заставляет поступаться математической доказуемостью, доверяя поставщику информации из внешнего мира. Рынок поставщиков достоверных данных ещё формируется. Пример одного из стартапов вам также привели - oraclize. А ещё что-то подобное но со своей логикой в этом году предоставили пару известных компаний, например, microsoft... Ну а самый простой способ улучшить достоверность - брать информацию из большого количества несвязанных хороших источников. Они же все должны будут одинаково опубликовать результат матча. Взяли, сравнили, оставив допуск на погрешность и получили консенсус в виде правильного решения.
По вопросу того, что все ноды будут лезть на букмекерский сайт - не, не будут. Вам уже ответили, что для этого используются оракулы. Суть простая - есть внешний поставщик данных, например сайт самой уважаемой букмейкерской конторы, которая публикует всё на своём сайте. Есть оракул, который с внешней своей части (по отношению к блокчейну) на php+js парсит информацию с сайта букмейкера и заливает её в свою внутреннюю часть - свой собственный смарт контракт, предоставляя к нему доступ всем желающим (адрес + интерфейс) внутри блокчейна. Делает он это например раз в день по расписанию. Есть проверки, на уровне смарт контракта, в соответствие с которыми никто туда больше не может залить ничего, только считывать. Получаем узкое место только на уровне php-js, которые могут быть скомпрометированы.
|
|
|
|
amaclin1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 01, 2017, 12:03:17 PM |
|
Ну а самый простой способ улучшить достоверность - брать информацию из большого количества несвязанных хороших источников. Вам придется платить этим источникам. Понятно почему? И кому-то все-равно придется выбрать эти источники информации и решить что вот эти 10 хорошие и в сумме им можно верить. А если он выберет десять своих прикормленных агентов, которые все хором назовут результат неправильно когда ему это будет выгодно? То есть вы никуда не уходите от "проблемы доверия" Есть оракул, который с внешней своей части (по отношению к блокчейну) на php+js парсит информацию с сайта букмейкера и заливает её в свою внутреннюю часть - свой собственный смарт контракт Кто помешает такому оракулу взять с сайта результат матча Спартак-Динамо 0:1, а залить в "свою внутреннюю часть" (это ваш термин) счет 1:0? Остальные-то участники сети не могут вообще говоря проверить - правда это или нет?
|
|
|
|
ShDenis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 01, 2017, 12:37:47 PM |
|
Если говорить об общем подходе, то сделав полезного оракула, который будет брать информацию из различных авторитетных несвязанных источников с определённой периодичностью, я могу не просто терять деньги на записи транзакций в блокчейн, но и выставить комиссию, на чтение данных оракула, например, выдавать информацию только в ответ на перевод на контракт эфира, или только белому списку адресов. Информацию с сайтов источников вроде бы можно парсить и бесплатно, или я чего-то не знаю - может там право собственности какое встречается? в конце концов, источники разные могут быть.
Описав сам контракт и описав источники его информации, узким местом, как я и говорил, и вы подтверждаете, по-прежнему останется серверный скрипт, которым я смогу манипулировать. Но представьте, что я делаю многомиллионный бизнес на поставке данных, отвечая за искажение этих данных своей репутацией (вместе с которой могу потерять бизнес), или неся юридически оформленную ответственность в соответствии с договорами, заключёнными с теми, кто является потребителем этой информации. Т.е. если я исказил информацию, с меня через суд смогут стребовать компенсацию потерь. Стану ли я рисковать из-за вашего миллиона своим бизнесом?
|
|
|
|
|