- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是智能合约的新手。当我看到一些智能合约的例子时,我意识到它们只是一段代码,而不是合约。
例如 function sendCoin(address receiver, uint amount)
是智能合约中定义的一种方法,它采用接收方地址和金额将硬币发送给接收方。
但契约(Contract)不是关于如何发送硬币,而是发送多少。例如,如果 Material 按时交付,则全额付款,否则每周延迟收取 10% 的罚款。
根据我的理解,调用——这些 if-then 规则的编写位置(代表合约)——在智能合约之外。
我的理解正确吗? “智能合约”一词是否具有误导性?
在触发这些功能的应用程序中,真实的合约是否仍然在区 block 链之外进行编码?如果是,那么为什么智能合约不能被操纵,应用程序仍然可以破坏合约——例如。不按契约(Contract)条款付款。
最佳答案
我不是律师,但是是的,我相信您总体上是正确的。以太坊意义上的“智能合约”不会取代法律合约,至少在我所知道的任何司法管辖区都不会,作为一个纯粹的法律问题。如果您想与某人签订契约(Contract),您仍然会想去找一个真正的肉类空间律师并签署一份真正的肉类空间契约(Contract)。
从纯粹的技术角度来看,即使您尝试仅根据以太坊合约来定义肉类空间合约,您也会遇到以太坊合约只能对区 block 链上的信息起作用的困难。举个简单的例子,假设您想签订最简单的洪水保险契约(Contract),您先支付一些金额,如果您的邮政编码在 future 10 年内发生洪水,您可以提出 claim 并获得$x。这撇开了所有关于究竟是什么被损坏等等的困惑细节,但我们仍然需要一些方法来确定是否有洪水。
您可能会说“但这很容易!政府肯定会发布这样的数据,我们可以在契约(Contract)中简单地指定我们相信政府的数据而不是其他人的数据。”好的,所以政府确实公布了数据,但他们不公布在以太坊区 block 链上 .
“哦,好吧,我们可以将数据发布到区 block 链。简单!” “我们”是谁?无论您信任谁发布政府数据,他们基本上都可以以他们想要的任何方式解决您的赌注。保险公司不会让它成为你,因为你可以立即发布“是的,有洪水”的消息并获得免费资金。同样,您也不想相信他们会这样做,因为如果发生洪水,他们基本上可以以同样的方式否认您的主张。
因此,您需要一个众所周知的第三方“预言机”。这里有各种策略,涉及多个预言机和不同的激励结构,试图让这些预言机发挥得很好,或者至少以你和保险公司希望它们的方式发挥作用。不过,从根本上说,您只是重新发明了法院系统,或者可能是仲裁:如果您和保险公司在某件事上存在分歧,您将别无选择,只能向神谕提出您的案件,并要求他们做出有利于您的裁决.
现在,我们已经确定您和保险公司都信任政府(NOAA 或其他任何人)来打这个电话。如果是这样的话,你已经选择了一个神谕:政府。如果你能以某种方式说服 NOAA 直接向区 block 链发布他们的报告,或者甚至使用某种可以在区 block 链上验证的私钥签名,那么你就解决了问题。在现实世界中,几乎没有像政府机构这样值得信赖的“神谕”这样做,至少现在还没有。
关于blockchain - 智能合约——合约在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317086/
在 IBM 生产的“Coffee with Blockchain”应用程序中,它在种植者和买家之间进行价格匹配。我想知道如何实现匹配(在示例应用程序中或在实际实现中)。 可以在此处查看应用程序示例:h
我目前正在学习创建自己的智能合约平台,似乎有两种不同类型的智能合约;安装和链上合约。在我看来,安装很容易实现,但我没有掌握链上合约。 我相信对于 Ethereum 和 Hyperledger,合约都在
我正在寻找关于“去中心化” 和“分布式” 这两个术语的学术答案。我现在的想法是,去中心化系统(如区 block 链)没有单点控制,而在分布式系统中我们可以从网络的单点控制整个系统。 最佳答案 区 bl
我确信这可以在前端和 solidity 中完成。我看到一些看起来效率低下的帖子,根据我的理解,当 ERC721 包已经具有获取这些信息所需的功能时,他们正在创建一个新的映射并将不必要的数据存储到区 b
我只是想检查一下我的理解。 在比特币平台中,矿工做以下事情:- 验证每个未确认的交易。- 将它们分组- 散列 block 并找到随机数(工作量证明) 现在,在以太坊平台上,谁是未成年人?智能合约中调用
我已经发现许多提供多重签名智能合约部署的钱包。但是这种方式非常昂贵和缓慢,因为它需要大量的交易。我认为还有另一种方法。例如,我们可以创建许多私钥,用它们签署交易,然后将结果组合成一个最终交易。这样的方
您好,我正在使用 Geth,我尝试使用 truffle migrate,但它会出错。truffle-config.js 如下: development: { host: "127.0.0.1",
我在 TRON 网络中部署合约时遇到问题,我需要以 4.. 开头的格式指定地址,或者当我收到交易历史记录时(这里的 api 也以 4.. 地址响应)。 因此我有一个问题: 如何将以TLAXtqju7G
我想给一个特定的私钥一个账户名,然后注册到Near blockchain,怎么办? 最佳答案 您可以使用 near-shell 来做到这一点通过提供 --publicKey 选项。 near crea
嗨,我正在使用 Substrate-FRAME 开发运行时,我想知道如何为我的运行时编写系统测试? 编写系统测试的主要目的是确保最终构建满足所有必需的规范,并确保运行时升级不会受到任何影响。 对我来说
我正在尝试使契约(Contract)具有能够调用另一个契约(Contract)的功能的功能。我的目标的关键部分是,如果没有任何 import 语句,合约应该无法部署,并且默认情况下不会知道合约的名称。
使用 node.js 客户端,我试图通过以下方式调用智能合约功能: 创建交易 签名 广播签署的交易 我部署了一个简单的智能合约: pragma solidity ^0.4.25; contract T
我正在以太坊区块链上试验智能合约。假设我有一个契约(Contract),比如 SimpleStorage.sol 找到 in the Solidity documentation ,具有任何人都可以访
我已经创建了一个私有(private)以太坊网络并想探索监控。我在一个终端窗口中启动了一个 geth 实例。我尝试运行 geth monitor --attach/path/to/geth.ipc 并
如何在基板运行时对浮点值进行数学运算。举个简单的例子,假设我想跟踪去中心化金融中的利率。 我可以通过将百分比用作整数来制作原型(prototype) let rate = 2; let dividen
嗨,我是区 block 链主题的新手,我正在尝试制作以太坊智能合约。第一步我安装了松露,当我尝试迁移它时会抛出一个错误,因为我没有以太坊客户端。 为了解决这个问题松露开发,推荐ganache,geth
我希望我的智能合约返回 7 或 8 唯一 调用合约时从 1 到 100 的随机数。获得这种结果的最佳方法是什么? 最佳答案 可能如果您尝试使用以太坊区 block 链构建轮盘赌、彩票和纸牌游戏,因为以
我想从链代码的 Invoke() 方法中调用另一个链代码。推荐的方法是什么?我想我可以在/chaincode 上使用标准 REST API 并通过其 ID 引用它(由部署操作返回),但是是否有“系统”
我一直在使用 solidity和 truffle几天来制定契约(Contract)。我正在使用 Ganache 创建的网络进行测试,这是一个 RPC 客户端,用于构建本地区 block 链环境。 不过
我正在尝试查询我在本地区 block 链安装中部署的链代码示例 02。 我已经按照 hyperledger-fabric 文档中的描述尝试了内部和外部 vagrant 设置。 chaincode go
我是一名优秀的程序员,十分优秀!