分享

智能合约的前世今生,你了解多少?

 昵称59306838 2018-09-05

听说过区块链,没听说过智能合约?那你一定不是一个合格的区块链人。没关系,智能合约的前世今生“十问十答”带你入行。

1、谁发明了智能合约?

牛顿被树上掉下来的上帝的苹果砸中,于是茅塞顿开,发现了牛顿运动定律。在区块链领域也有这么一个人被自动售货机砸中,发明了智能合约,他就是区块链技术领域的先行者和开拓者——尼克萨博。

2、智能合约是什么?


当你向自动售货机投入规定数量的硬币,购买你所需要的商品,等自动售货机识别过后吐出了你想要的商品;反之若你没有按照规定投入相应数量的硬币,售货机便不会吐出商品。买家和售货机就自动形成了一个强制执行的合约,这样的合约就可以称之为智能合约。

3、智能合约可以干什么呢?

当今社会,执行合约是一个费时费力的事情,如果a和b 签订一份合约,a单方面违约,导致b受到损失,那么之后的事情就会很麻烦。b需要向法律起诉,打赢了官司,判决书生效后如果a仍然决绝赔付,还需要向法院申请强制执行、立案、提供财产线索,到底谁才是受害者?



而智能合约能让一切变得简单,智能合约和传统合约的区别在于人的主观思想,传统合约会面临人交易的道德风险。智能合约就是一段写在区块链上的代码,一旦达成合约中的条款,代码将不受双方主观意愿影响,直接执行。

4、智能合约怎么工作? 

代码编写虽然复杂,但智能合约的工作原理很简单。智能合约由区块链内多个用户共同制定,编码完成后上传到区块链网络,各节点完成对该事件的签名验证后,便可生效。

1)智能合约就是一个计算机程序。是一个任何人都可以使用的去中心化系统,不需要任何中介机构做中间担保人。但智能合约必须要符合三大条件。必须有货币参与,作为交易的价值衡量,无论是使用法定货币还是虚拟货币,交易中必须有货币出现。


2)资产交易必须联网。如果没有联网,进行私下交易。区块链无法登机上链,那么一切都是空谈。

3)资产必须数字化。条件看似苛刻使用范围小,实则不然。密码锁、指纹锁、面容ID,都是数字化的典型案例。除了提升用户体验、节约时间成本数字化之后变得更加安全。维护成本更低。

5、智能合约与传统合约相比的优点在哪里?

如果我们使用智能合约,那么当我们在租房时,我们可以不再担心像房东急需用房而突然反悔令你无家可归这样的事;也不用担心合同丢失而导致房东说话不算话;更不会出现未交房租但仍可居住这样的结果后再将其强制踢出门外的情况。总结来看,智能合约具有不可篡改、去中心化、不依赖第三方这些特点。 

6、以太坊有几种专用语言可以用来开发智能合约?

Solidity ,受JavaScript 启发;Serpent ,受Python启发;Mutan,受Go 启发;LLL 受Lisp 启发;一般来说,这四种语言都是为面向合约编程而从底层开始设计的语言,但从目前的发展来看,Solidity是开发以太坊智能合约的通用语言。

  7、Python能不能作为智能合约编程语言?


实际上,以太坊最早就是用Python开发的,后面才有C++和Go的版本,并且在这几个版本中交叉验证设计思想也很明显。智能合约的编程语言是Solidity,扩展名为.sol,它是基于C++、JavaScript、Python创造而来的Python语言,被称为胶水语言,兼容性非常强,Python的关键模块很多都是通过C来实现的,Python的性能在大多数情况下具有优越的性能。因此,有些公链像NEO、EOS都用的Python作为智能合约编程语言。

8、以太坊智能合约ECR20、ECR721、ECR725有什么差异?

2015年11月,以太坊推出ERC-20智能合约标准旨在为以太坊(Ethereum)上的token合约提供一个特征与接口的共同标准,兼容所有支持以太币的钱包,包括Jaxx、MEW、imToken等。规定了三个必须定义的变量,分别是合约名称,合约代号,合约进制。ERC-20智能合约取得了前所未有的成功。

ERC721智能合约的核心是“Non-Fungible Tokens”,用于智能合约内非同质通证(non-fungible tokens,"NFTs"),操作标准API的实现方法。另外,本标准还提供了用于跟踪和所有权转移的基本功能。也就是每个对象都有一个独立唯一的tokenid,也就是个性的特征。这样,ERC721智能合约就能补充ERC20智能合约在不那么标准化的环境中的应用。

ERC 725标准创建于2017年10月2日,已被许多想要将分散身份标准纳入对等市场的区块链项目所采用。也就是延续了中心化场景中一些成功的经验,将第三方信用引入到去中心化的场景中,比如传统的信任机构就可以参与进来了。

9、智能合约支持的语言有哪些?

智能合约支持的语言有:C++、JavaScript、Python、C#、VB.Net、F#、Java、Kotlin、Python。

10、智能合约的场景有哪些?

金融,票据,汽车,保险,管理,房地产,供应链。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多