以太坊合约智能合约是干什么的?有人知道哪个做以太坊合约开发吗?

区块链技术被认为是继蒸汽机、電力、互联网之后下一代性的核心技术。 如果说蒸汽机释放了人们的生产力电力解决了人们基本的生活需求,互联网彻底改变了信息傳递的方式那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式

20年后我们就会像讨论今天的互联网一样讨論区块链。

你们许多人可能已经质疑了区块鏈的总体有效性特别是以太坊合约的有效性。你们一些人可能在好奇心中走得更远遇到了许多奇特的特性,例如分散、透明、没有中介的信任和黑客抵抗这很了不起,不是吗?的确如此但是……

在目前的状态下,区块链完全适合于完成范围狭窄的任务除非您考虑将“添加一些纳米技术以达到wow效果”——实际上,您可以调整几乎任何东西来与此目标保持一致当然,首先需要做一些事情通过各种各樣的实验来帮助理解潜在的需求,并显示需求可能在哪里一个意想不到的死胡同在哪里,以及缺陷在哪里但是,您确实需要了解这些邊界以便做出明智的决定,并在特定场景中尝试并跳过它们是否合理

顺便说一句,以太坊合约不是有史以来最好的选项也许,区块鏈是实现目标的正确工具尽管它是一种不同类型的区块链。然而我们将在本文中进一步提到“区块链”时联系“以太坊合约”。

让我們尝试概述一下区块链和智能合约的特性它们使解决表面上有希望的任务的过程变得无效或完全不可能。我想从一开始就指出下面的特性是一般化的,因此对于特定的用例仍然有相当可行的解决方案。因此您应该将此列表视为在开始项目之前需要考虑的以太坊合约弱点的一个集合。

如果你的受众是普通用户而不是区块链的狂热者那么很少有人会费心给你的解决方案一个机会。想想看他们不仅需偠安装带有节点的MetaMaskor Mist,而且还需要购买以太币这对初学者来说是一个很重要的过程。因此如果你想要覆盖最多的受众,那么目前为止以呔坊合约不是一个正确的选择例如,仅仅基于智能合约创建在线商店可能不是一个好主意

提供的优势要超过劣势。

目标受众在该主题仩具有一定的专业知识

通过将区块链逻辑移到后端,混淆用户的区块链逻辑是有意义的

无论你如何划分,区块链都是非常棒的因为即使参与者彼此不信任,它也能工作然而,只有当用户是其私钥的唯一所有者时这个标志才成立。这是签署事务和从它们的地址做其怹事情的主要先决条件如果区块链逻辑位于后端会发生什么?密钥以集中的方式使用,并且没有机制来避免用户不认可的事务因此,剩丅要做的就是希望足够安全并得到适当的维护

了解是否需要透明性和不可变性,或者是否需要操纵加密货币如果不这样做,那么使用瑺规数据库会更经济、更方便

详细说明您的操作机制,以便技术保证到位

3、所有数据都是公开的

不管智能合约是如何编写的,如果需偠相关方可以检索其中任何数据字段的值。事务历史也是如此因此,如果您记录并保留关于用户的任何个人身份信息比如他们的电孓邮件地址和姓名,那么这些用户所做的一切都是公开可访问的因此,您可能不得不在此基础上进行某种类型的加密如果是这样,它嘚密钥必须存储在接收者的终端这意味着用户必须再次信任第三方提供他们的个人数据。使用普通的私有存储来保存或多或少有些敏感嘚信息可能是一个更好的主意如果你打算签订基于区块链的合约,那么你的损失可能大于收益

了解您的智能合约逻辑是否需要用户的個人数据。如果有考虑使用散列而不是适当的数据。

4、区块链不是一台超级计算机

有些人可能会认为矿工利用巨大的处理能力可以进荇良性计算,但这是一种误解恕我直言:以太坊合约的生产力类似于嵌入式系统的生产力,因为它涉及有限的资源、有限的内存和有限的“固件”(合约字节码)大小因此,应该将最大限度的非临界计算移出链这就是为什么在智能合约或加密货币之类的东西中执行复杂数据汾析很难实现的原因。

任何类型的计算都不要使用区块链

如果需要进行与区块链相关的计算,请考虑利用Oraclize的计算特性

5、区块链不是一个通用存储

一些人认为区块链可以用来存储信息或文档在这方面需要注意的是:首先,以这种方式存储数据是昂贵的;其次区块链不适合像搜索这样的东西——您要么需要有键值映射,这会给每个条目增加额外的成本或者您必须手动查找感兴趣的信息。但是没有权限管理。因此用区块链替换传统的数据库没有多大意义,除非您确切地知道为什么需要它当涉及到存储特定文件时,请记住公共可访问性方媔:例如如果您存储一个IPFS链接,每个人都会看到它并可以下载您保存在那里的所有内容。长话短说如果你打算在区块链上存储个人照爿,请三思

您最好简单地存储一个哈希值,以验证所有存储在链外的内容

只存储智能合约工作逻辑所需的数据。

6、将区块链与现实世堺绑定

区块链本身可以很容易地发送代币但如何发送你为他们购买的东西?即使它是一个文件,您如何验证发送它而不涉及第三方的事实?這里有一个快速的答案:这并不容易因为我们假设双方都想欺骗对方,所以我们需要一些验证以及加密和解密的实例如果有争议,你就鈈能没有非链式计算或裁判

很明显,对于实物商品或服务来说整个过程将变得更加复杂,因为需要输入一些信息粗略地说,这些商品已经被接收了这个人不能是利益相关方,这意味着他或她是我们应该信任的第三方在这种情况下,我们的区块链解决方案在这个裁判的形式下有一个薄弱环节而且,假设我们相信那个人为什么不把其他的事情都托付给他或她呢,例如托管一个常规的数据库并进荇支付?这是你在开始区块链计划之前应该问自己的一个基本问题。举个例子我真的不明白在线下商店里,你提供一个代币来换取折扣有什么用

给自己一个明确的答案,为什么集中式逻辑不适合如果你做不到,那就放弃你的区块链想法

7、总有人为失误的时候

如果你不尛心把钱转错了人,或者你的银行账户被黑了你可以提交一个技术支持票,然后有一段时间取消或回滚交易有了智能合约,您就不能掱工做代码中没有涉及到的事情这再次让我们意识到,有必要聘请一名裁判他将拥有巨大的特权,使整个解决方案几乎集中起来

在適当的情况下,智能合约可以延迟资金转移

如果您有一个动态系统,其特性是永久地改变状态和逻辑那么等待时间很可能会让您不满意。例如在以太坊合约中,正常的事务验证时间是半分钟甚至更长即使您的解决方案不需要额外的几秒钟,您仍然应该考虑不确定事務超时的可能性并定义足够的时间间隔。因此到目前为止,像扑克这样的要么完全不可能在以太坊合约智能合约的基础上进行创造偠么它们非常原始,需要强调离线逻辑

如果您打算频繁地查询区块链,那么以太坊合约可能不适合您并且您可能不应该将您的愿景仅限于区块链。

如果可能将多个事务合并为一个事务,执行逻辑链外的部分

在最坏的情况下,你可以在适当的时候提高费用 (执行一个操莋的费用)

如果一个事务需要很长时间才能完成,您可以指定更高的价格并重新提交它

到目前为止,审查规避还不完美

如果您打算使用區块链来抵制政府或类似的东西请记住web服务仍然是一个集中的实体,即使它是基于区块链的换句话说,域名或IP地址仍然很容易阻塞鼡户必须知道镜像地址或找到服务。这样做的好处是您不必进行数据库备份而且通过了解以太坊合约网络中的地址,您可以通过不太用戶友好的技术获得访问权限比如mist、MyEtherWallet、Etherscan等。然而审查制度仍是一个问题。

抗阻塞能力无疑是一个好处但是您不应该仅仅基于这个事实僦决定使用区块链。

有很多其他区块链和非区块链解决方案可以牺牲其分散性、开放性或无限制的用户受众,以换取更高的事务速度、鈳靠的隐私保护等这些例子包括EOS、Hyperledger、Exonum、Hashgraph、Corda等的解决方案。不过一个流行的品牌名称仍然是一个重要因素。它意味着拥有庞大的用户群大量的应用程序,数据管理和开发工具以及严谨的测试机制。

贯穿上述所有观点的根本问题是除了区块链,什么都不选这项技术應该能解决这个问题。将区块链集成到已经解决的任务中不太可能使解决方案更加有效例如,如果你是赌博业的新玩家想要开一家赌場,那么你最关心的就是赢得声誉展示正直,吸引用户群通过提供一个基于区块链的解决方案,你至少可以在理论上保证客户的透明喥尽管很少有人会在他们开始玩之前审计你的聪明合约。通过这种方式您还可以吸引那些手头有备用加密货币资产和大量使用该资产嘚人。在某种程度上你的目标实现了。

另一方面如果您打算在信使r的架构中添加区块链,那么您可能无法解决任何问题比如审查和隱私风险。相反你会得到新的问题。

当用户数量增长购买加密货币变得比现在更容易的时候,找到更好的用例可能是不久的事情但昰,一般来说考虑以下应用程序域是有意义的:

官僚主义的和耗时的过程,如汇款到国外和繁琐的文书工作

基于平台信任的流程,包括慈善基金和赌场

管理在不同领域或不相关的公司使用的数据:旅游经营者,贷款历史和各种黑名单。

控制本质上不可信的过程比如投票和筹款。

这不一定意味着区块链能够完美地融入其中您应该始终掌握其他更优化的技术。你的思路应该集中在解决一个特定的问题上而不是就简单将区块链嵌入到你的活动中。

我要回帖

更多关于 以太坊合约 的文章

 

随机推荐