Смарт-контракты - где в нем контракт? - PullRequest
0 голосов
/ 13 мая 2018

Я новичок в смарт-контрактах.Когда я увидел пример смарт-контрактов, я понял, что это всего лишь фрагмент кода, а не контракты.

Например, function sendCoin(address receiver, uint amount) - это метод, определенный в смарт-контракте, который принимает адрес получателя и сумму для отправки.Монеты получателю.

Но контракт не о том, как отправить монеты, а о том, сколько нужно отправить.Например, если материал доставлен вовремя, произведите полную оплату, в противном случае взимайте штраф в размере 10% за каждую неделю задержки.

Насколько я понимаю, вызов - там, где написаны эти правила if-then (Представляет договор) - находится за пределами умного контракта.

Правильно ли мое понимание?Является ли термин «умный контракт» вводящим в заблуждение?

Реальные контракты все еще кодируются вне цепочки блоков в приложении, запускающем эти функции?Если да, то почему умными контрактами нельзя манипулировать, приложения все равно могут поставить под угрозу контракт - например.не заплатив в соответствии с условиями договора.

Ответы [ 3 ]

0 голосов
/ 27 мая 2018

Smart Contract - это просто фрагмент кода, который выполняется на блокчейне.То, что вы увидите, - это некоторые функции, и разработчик, который разработал код, написал бы логику внутри этих функций.

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

Смарт-контрактами нельзя манипулировать, так как после его написания он остается в блокчейне, и из-за свойства блокчейна данные не могут быть изменены до тех пор, пока хакеры не получат 51% доступа к сети.

0 голосов
/ 29 мая 2018

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

0 голосов
/ 13 мая 2018

Я не юрист, но да, я считаю, что вы в целом правы.«Умные контракты» в смысле Ethereum не заменяют юридические контракты, по крайней мере, в любой юрисдикции, о которой я знаю, как чисто юридический вопрос.Если вы хотите заключить договор с кем-то, вы все равно захотите обратиться к настоящему юристу по мясному пространству и подписать настоящий договор по мясному пространству.

С чисто технической точки зрения, даже если вы попытаетесь определитьКонтракт meatspace исключительно в рамках контракта Ethereum, вы столкнетесь с трудностью, заключающейся в том, что контракт Ethereum может действовать только на информацию, которая находится в блокчейне.В качестве простого примера, скажем, вы хотели заключить простейший договор страхования от наводнения, в котором вы платите некоторую сумму авансом, и если в течение следующих 10 лет в вашем почтовом индексе будет наводнение, вы можете подать иск и получить$ х.Это оставляет в стороне все грязные детали того, что именно было повреждено и так далее, но нам все еще нужны некоторые средства, чтобы определить , был ли наводнение или нет .

Вы можете сказать: «Но этопросто! Конечно, правительство публикует такие данные, и мы можем просто указать в контракте, что мы считаем данные правительства, а не данные кого-либо еще ».Итак, правительство публикует данные, но они не публикуют их в цепочке блоков Ethereum .

"О, хорошо, мы можем просто опубликовать данные в блокчейне. Легко!»Кто такие "мы"?Тот, кому вы доверяете публиковать правительственные данные, может по сути урегулировать вашу ставку так, как хочет.Страховая компания не допустит, чтобы это был вы, потому что вы можете сразу же опубликовать сообщение «да, есть флуд» и получить бесплатные деньги.Точно так же вы не хотите доверять им это, потому что, если когда-либо случится потоп, они могут просто отклонить ваше требование таким же образом.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...