Я искал в Интернете об этом, но я не могу найти реальный ответ.
Скажем, кто-то отправляет смарт-контракт на какой-то адрес. Что делать, если получатель не хочет принимать этот контракт? Как они «отрицают» контракт или препятствуют его исполнению?
Например, в производных финансовых инструментах сделка на колл-опцион согласовывается между двумя сторонами. Если покупатель инициирует контракт с неправильной ценой исполнения, что мешает контрагенту быть вынужденным принять эту цену?
Вы не можете «отправить контракт кому-то». Вы можете развернуть контракт в блокчейне, но люди должны взаимодействовать с контрактом из своей учетной записи, чтобы контракт повлиял на них. Единственное, что вы можете сделать без согласия принимающей стороны, это отправить им эфир, но тогда вы просто выбрасываете свои деньги.
(Я предполагаю, что под «отправляет смарт-контракт на какой-то адрес» вы имеете в виду «вызывает контракт на какой-то адрес»). Предположим, что на двух учетных записях, A и B, есть 10 эфиров. Если кто-то вызовет функцию в смарт-контракте по правилам Ethereum, которая, скажем, переведет 1 эфир со счета A на счет B, то все, кто следует правилам Ethereum, согласятся, что на счете A теперь 9 эфиров, а на счете B — 11. , Если бы кто-то проигнорировал вызов функции, осуществляющей перевод, он все равно подумал бы, что на счете А есть 10 эфиров, а на счете Б — 10.
По сути, это ничем не отличается от владельца учетной записи A, который просто модифицирует свой клиент Ethereum, чтобы кредитовать учетную запись A миллионом эфира из воздуха. В результате учетная запись А имеет другую субъективную реальность, чем все остальные.
Почему это важно? Представьте, если бы я один считал, что канадские доллары (CAD) равны долларам США (USD), и пошел бы в американский ресторан и заплатил канадскими долларами по номинальной стоимости. В результате, как и следовало ожидать, ресторан не принял мой платеж. Результат был бы совсем другим, если бы ресторан также считал, что доллар = канадский доллар. Тогда они примут мой платеж, но никто другой не примет наши CAD наравне. Так что это сильно мешает ресторану поверить в то, что доллар = канадский доллар, что никто, кроме меня, не будет верить в это. Они сильно мотивированы следовать тому, во что верит большинство людей, потому что это, при прочих равных условиях, дает им наибольшую полезность для их CAD и USD. Для любого ограниченного рационального мыслителя это также верно. Таким образом, вы ожидаете, что все сойдутся в одном едином убеждении в ценности долларов США и канадских долларов.из корыстных соображений . См. также этот вопрос о том, почему может сойтись конкретное значение для CAD и USD.
Кевин К.
легкие
throw
в контракте на получение заблокировать платеж. Кроме того, договор может затрагивать пользователя, не являющегося его стороной. Я мог бы написать (если бы знал, как писать контракты) контракт токена ERC20, представляющий акции в реальной организации, и инициализировать набор акционеров. Физическое лицо, названное владельцем (через acnt), теоретически может получить кредит от кого-то, используя токены в качестве залога, не взаимодействуя с контрактом. Вы даже можете отдать долг пользователю в токене. Таким образом, я думаю, что 2/3 приведенных выше утверждений неверны.легкие
манухало
легкие
манухало
balance
полем и поместить случайный счет в отрицательное значение, но это эквивалентно тому, что я написал «вы должны мне 1 миллиард долларов» на листе бумаги, на самом деле это ничего не значит, и это не имеет юридической силы. Если вы знаете способ сделать это, пожалуйста, поделитесь им со мной, и мы сможем разбогатеть :p