前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是区块链智能合同?

什么是区块链智能合同?

作者头像
首席架构师智库
发布2018-07-25 15:25:46
2.3K0
发布2018-07-25 15:25:46
举报
文章被收录于专栏:超级架构师

关于区块链智能合同的第一件事是,他们不是合同,聪明,也不是区块链必需。

关于区块链智能合同的第一件事是他们不是合同,聪明,或者是区块链。事实上,他们的名字很不恰当。让我们以相反的顺序来解决这些问题,我们应该找出一份聪明的合同到底是什么。首先,介绍什么是事务,哪些不是事务。

交易和非交易的介绍。

最著名的区块链是像比特币这样的加密货币。2 .关于货币的问题——虚拟的或不真实的——你主要想做的是用它们来买卖东西。你想要的是一个简单的交易模式:“一旦我为你提供这项服务,你就会给我这么多的货币。”我们知道这是如何运作的,因为每次我们在商店或网上买东西时,就会发生这样的情况:初始状态是“我有x数量”,交易完成后的状态是“我有x-y值,你有y值。”在你完成交易之前,你需要从一个状态转移到另一个状态。大多数加密货币都是用来支持这种类型的构造的。

这很好,但是一些聪明的人意识到实际上有很多不同的方法可以做到这一点。Ethereum是非事务性结构的重要组成部分,而Solidity是最著名的例子。我很高兴地说,两者都是开源项目。为什么没有一套更复杂的条件,在我交出我交出的东西之前,需要满足呢?这里有一个聪明的比特——为什么不写那些可以被计算机执行的代码呢?你可能想要的是货币——或者是什么——在一定的时间之后才会被释放,或者如果股票价格保持在特定的范围内,或者某个特定的人继续担任总理,5或者在未来5天内没有发生意外的日食。6 .你也可能有复杂的依赖关系:如果我连续三周写一篇新文章,而且没有人对其中的任何一篇发表不愉快的评论,那就完成了。写这段代码,如果条件满足,就转到下一个状态。

不仅对blockchains

让我们开始解决那些“不是”的陈述。

现在,在区块链中,重要的是一旦国家发生了变化,你就可以确保它被记录在区块链上,这样它就可以公开了,没有人可以改变或者挑战它。但是区块链技术还有其他用途,正如我在“区块链是一个安全主题?”Permissionless系统通常被称为分布式分类技术(DLTs),它非常适合于非事务性状态模型,这很大程度上是因为那些对它们感兴趣的人是一些封闭的组织,它们希望在进入下一个状态之前具备复杂的条件集合。根据最严格的定义,这些都不是区块链。银行和其他金融机构可能是最明显的例子dlt正在不断发展,但他们在供应链领域非常有用,例如,你可能有条件在不断变化的市场利率,可用性,和运输时间或成本,所有打到最终提供的商品或服务的价格。

不聪明

我认为,聪明的合同可以是聪明的,但对我来说,这意味着复杂的,能够对意料之外的情况做出反应。我认为人们之所以称之为“聪明”是因为它们体现在代码中,而不是我上面提到的原因。

这实际上是件好事,我认为,因为我不认为我们想让他们说出我在说什么。我所知道的“智能契约”的大多数用法是,两个或更多的组织根据一组已知的和严格约束的条件,在一组可能的结果上达成一致。这就是合同一般的内容,虽然我也会和这部分术语进行争论,但在这里,它是相当贴切的。

你想要的,一般来说,不是意想不到的或不可能的情况下和智能处理人工智能/机器学习型的,因为如果你这样做,那么结果可能会令人吃惊,而且可能不开心,到一个或更多的当事人。简单——或者至少很容易定义——是您想要构建到系统中的一个关键属性。例如,Solidity项目似乎至少意识到了其中的一些缺陷,并建议使用智能合同的人采用正式的验证,但正如下面我们将看到的,这仅仅触及了问题的表面。

没有合同

当然,有些合同——“在现实生活中”——存在于管理复杂和意外的情况。它们存在于一个明确的法律管辖范围内。使它们起作用的词和短语受到具体和定义明确的过程的影响,在合同条件未达到或被破坏的情况下,有已知的制裁和惩罚。通常情况下,这些挑战会受到挑战,但这种挑战仍然存在着清晰的机制。

目前,“智能合同”不符合合同的描述。将法律合同用语映射到计算机代码是一个非常复杂的过程,而处理代码的错误类型往往在司法系统中没有很好的模拟。还有一个问题,那就是司法管辖权。这通常是在合同条款中描述的,但是如果“智能合同”的处理发生在涉及的当事人的不同管辖范围内,或者甚至是在一个未知的管辖范围内,该怎么办呢?这重要吗?这件事吗?我不知道,而且我也不知道一旦人们开始依赖这些法律强制执行的方式,还有什么其他的问题会从木制品中爬出来,但我怀疑他们是否会受到欢迎。

我们也没有得到帮助,因为当人们谈论软件契约时,他们谈论的是完全不同的东西:这是一个系统在已知输入和启动条件下的广告行为。

这与安全有什么关系?

一旦交易或“智能合同”完成并进入区块链或分布式账本,它是不可变的,基本上是由定义。但是在它完成之前呢?这篇文章开头描述的类型的简单交易是原子化的,或者不存在,它们是“不可分割的,不可简化的”,用行话来说。它们在大多数情况下是瞬时的。

  • 对于“智能合同”来说,情况并非如此。它们需要处理,因此随时间而存在。这意味着,当它们被处理时,它们会受到各种攻击,任何系统都可能受到攻击。标准列表:
  • 机密性。“智能合同”的状态可能会受到监听,这可能导致不对称的知识或泄露给未经批准的各方。
  • 完整性。这是许多“智能合同”的噩梦。如果一个entity-whether一方潜在的合同或雇佣(有意或无意)的内部状态改变代码执行“聪明的合同,”然后“智能合同”的结果不会像他们预期,以及任何相关各方可能引起争议的结果好。更重要的是,这样的争论甚至可能不取决于诚信缺失的证据,而只是怀疑。在执行上下文中,证明运行时完整性——更不用说在被显示为失败的时候——是非常困难的。
  • 可用性。如果一方发现与“智能合同”相关联的条件是对他们不利,他们可能会影响系统的任何部分的可用性,构成“聪明的合同,”的处理代码本身,是否输入到系统,或系统的输出。其中任何一个都可能对现实生活中的结果产生重大影响。

那又怎样?

这篇文章的开头似乎是对命名约定的一种迂腐的攻击。我想可能会很清楚,8我对“智能合同”这个词感到不舒服,这主要是因为我认为它导致了一些人认为这些构念是他们没有的东西。反过来,这可能意味着人们会在不合适的情况下使用它们。

我也担心,因为文字带来了包袱,这将导致人们没有充分考虑到安全对这些构念的影响。我认为影响可能非常大。所以,如果你正在研究这些构念,请睁着眼睛这样做。在这篇文章中,我并没有过多地谈论缓和,但有些确实存在。多留意未来的帖子。

  1. 我喜欢认为,已故的作家特里·普拉切特和道格拉斯·亚当斯都会因为这个原因而欣赏聪明的合同。
  2. 你会发现许多比特币的评论员说:“我希望我能早点买到:我现在已经是一个千万富翁了。”
  3. 我真希望早点买东西:到现在我已经是一个千万富翁了。
  4. 减少税收或减少房屋开支。对不起——这就是世界运转的方式。
  5. 5、不喜欢。
  6. 我不期待。我告诉你,诚实的。
  7. 这不是邀请。
  8. 如果现在还没有,要么你没有仔细阅读,要么我做了一个不好的解释。试着再读一遍,如果没有帮助,写一篇评论,我会试着更好地解释。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 首席架构师智库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云区块链服务平台 TBaaS
腾讯云区块链服务平台(Tencent Blockchain as a Service,简称TBaaS)致力于打造全球领先的企业级区块链技术平台,帮助客户、开发者及合作伙伴轻松创建和管理可托管、可扩展的区块链网络,助力产业协同发展。TBaaS 支持长安链·ChainMaker、Hyperledger Fabric等区块链底层平台,简化部署、运维及开发流程,实现业务快速上链,提升链上治理效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档