gpl智能合约盈利模式证券官网是多少

出自 MBA智库百科()
智能合约(Smart Contract)
  “智能合约”这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:“一个智能合约是一套以数字形式定义的(promises),包括合约参与方可以在上面执行这些承诺的协议。”
  一套承诺指的是合约参与方同意的(经常是相互的)和义务。这些承诺定义了合约的本质和目的。以一个销售合约为典型例子。卖家承诺,承诺支付合理的货款。
  数字形式意味着合约不得不写入可读的中。这是必须的,因为只要参与方达成协定,智能合约建立的权利和义务,是由一台计算机或者执行的。
更进一步地说明:
  (1)达成协定
  智能合约的参与方什么时候达成协定呢?答案取决于特定的智能合约实施。一般而言,当参与方通过在合约宿主平台上安装合约,致力于合约的执行时,合约就被发现了。
  (2)合约执行
  “执行”的真正意思也依赖于实施。一般而言,执行意味着通过技术手段积极实施。
  (3)计算机可读的代码
  另外,的特定“数字形式”非常依赖于参与方同意使用的协议。
  协议是技术实现(technical implementation),在这个基础上,合约承诺被实现,或者合约承诺实现被记录下来。选择哪个协议取决于许多因素,最重要的因素是在合约,被的本质。
  再次以销售合约为例。假设,参与方同意货款以支付。选择的协议很明显将会是比特币协议,在此协议上,智能合约被实施。因此,合约必须要用到的“数字形式”就是比特币。比特币脚本语言是一种非图灵完备的、命令式的、基于栈的编程语言,类似于Forth。
Legally relevant behaviour :与法律相关的行为;
:合约法;
smart contracts:智能合约
  从法律的角度来看,根据参与方选择的智能合约实施,参与双方或者多方完全可能进入一个不满足合法的合约所必需条件的“智能合约”。然而,不可否认的是,智能合约必须被归类为与法律相关的行为。所有可能的也被和。合约法只是组织经济交易的一种可能的工具。
  智能合约已经扎下根了。它们是真正的全球经济的基本构件,任何人都可以接入到这一全球经济,不需要事前审查和高昂的预付成本。它们从许多经济交易中,移除了对第三方的信任必要,在其它情况下,将信任转移到可以信任的人和机构。
本条目对我有帮助1
&&如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请。
本条目由以下用户参与贡献
(window.slotbydup=window.slotbydup || []).push({
id: '224685',
container: s,
size: '728,90',
display: 'inlay-fix'
评论(共0条)提示:评论内容为网友针对条目"智能合约"展开的讨论,与本站观点立场无关。
发表评论请文明上网,理性发言并遵守有关规定。
以上内容根据网友推荐自动排序生成智能合约就是骗人的,来撕!
来自手机版
所谓智能合约的想法很好,让程序来代替人来执行条款,减少违约减少执行成本, 这个逻辑本来是很好的。
可问题是!
这跟区块链有几毛钱关系? 一段程序肯定运行起来最好是在中心化的服务器上,信用目前最好的肯定是银行、支付宝之类的强中心。 而且这类强中心肯定还能提供各种定制化服务, 出事情了,还好对接传统法律系统来解决问题。 
那么, 为啥要搞区块链智能合约?
重复一下我的争论观点, 请向我猛烈的开炮吧!
智能合约和区块链没关系!因为:
1. 中心化体系效率更高
2. 中心化体系有利于争议解决
你们说我错了,告诉我原因,我会很开心。
楼主既然认为信用目前最好的肯定是银行、支付宝之类的强中心,那就没区块鲢什么事了,比特币也是骗人的
江门旺 发表于
智能合约需要非常准确而真实的信息才能执行~区块链能提供的恰好是真实而精确的信息
区块链能提供个毛信息,智能合约的信息都需要中心上链,只能呵呵。比特币链上信息本身属性代表财富,不需要另行提供资产信息。
智能合约需要非常准确而真实的信息才能执行~区块链能提供的恰好是真实而精确的信息
以太的想法 是让区块链成为一个虚拟机,这个方向是正确的。
提示: 作者被禁止或删除 内容自动屏蔽
区块链可以降低安全成本;人力投入成本;争议解决智能化速度更快,这也是效率;当节点到达一定数量的时候, ...
降低安全成本的前提是,这个东西的使用是有效的。中心化的区块链安全成本不考虑中心化主体自身作恶的话,是必然比区块链的安全成本更低的,而且效率也更好。
以太的想法 是让区块链成为一个虚拟机,这个方向是正确的。
别偷换概念,咱说的是智能合约。
手机本身是用来打电话的,可后来有了短信,彩信,再后来又能玩QQ,微信这些只能在电脑上用的东东,按你的逻辑,你应该标配电脑和诺基亚按键手机,智能手机给你用也是浪费
谷歌现在不是一直在搞吗,
去中心化体系直接消除争议,何须解决?
你最好说BTC也是骗人的
楼主既然认为信用目前最好的肯定是银行、支付宝之类的强中心,那就没区块鲢什么事了,比特币也是骗人的
说得好,LZ没研究清楚,就开始撕了。
区块链能提供个毛信息,智能合约的信息都需要中心上链,只能呵呵。比特币链上信息本身属性代表财富,不需 ...
区块链能提供的信息就是~合约的条件信息。韩锋老师举过例,假如你自驾游去到印度,突然发现现金不够,然后你要向当地的人抵押车子贷款。这样的合约在目前是不可能执行的!但是在区块链可以实现!只要你把合约的信息罗列好,比如:借贷双方ID,合约执行时间,贷款金额,结算货币,利息,还款时间,违约处理,合约执行条件等等!然后广播到区块链上盖上时间戳!这样的合约才算是智能合约!智能合约的核心是,减少了违约矛盾!省去了申诉,审查,判决,执行等环节!
江门旺 发表于
区块链能提供的信息就是~合约的条件信息。韩锋老师举过例,假如你自驾游去到印度,突然发现现金不够,然 ...
永远的永远都不会实现参考地址:
什么是智能合约
&&& 智能合约是代码和数据的集合,寄存与Blockchain的具体的地址。智能合约更想是在Blockchain中的一个自动化的代理(或者说是机器人or NPC),智能合约有自己的账户,在时间或事件的驱动下能自动执行一些功能,如可以在相互之间传递信息,修改区块链的状态(账户信息等),以及图灵完备计算(可以用图灵机做到的所有事情,通俗来说就是一般编程语言可以做的所有事情)。以太坊的智能合约是以太坊特定的字节码,被叫做EVM字节码。
智能合约高级语言
&&& 用户不可能直接编写EVM字节码,所以以太坊提供了几种编写智能合约的高级语言。
&&& Solidity:类JavaScript,这是以太坊推荐的旗舰语言,也是最流行的智能合约语言。具体用法参加。
&&& Serpent:类Python
&&& LLL:类Lisp
&&& 可以根据不同的习惯选择不同的高级语言。这里选用最流行的Solidity
&&& 以下的概念是智能合约可能用到的,这里不做详细介绍,想了解的可以参考
&&& 公钥加密系统:
&&& 点对点网络:
&&& 区块链:区块链可以看做是智能合约的基础设施
&&& 以太坊虚拟机:解释执行智能合约字节码的东西,功能类似于Java虚拟机
&&& 节点:
&&& 矿工:区块链中参与处理区块的节点叫做矿工。当前以太坊活跃的矿工:
&&& 工作量证明:矿工们总是在竞争解决一些数学问题。第一个解出答案的(算出下一个区块)将获得以太币作为奖励。然后所有节点都更新自己的区块链。所有想要算出下一个区块的矿工都有与其他节点保持同步,并且维护同一个区块链的动力,因此整个网络总是能达成共识。
&&& 以太币:ETH,以太坊中的虚拟货币,可以购买和使用,也可以与真实货币交易。
&&& Gas:相当于手续费。在以太坊执行程序以保存数据都要消耗一定量的以太币。这个机制可以控制区块链中计算的数量,保证效率。
智能合约与DApp
&&& 以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。DApp的目标是(或者应该是)让你的智能合约有一个友好的界面,外加一些额外的东西,例如IPFS(可以存储和读取数据的去中心化网络,不是出自以太坊团队但有类似的精神)。DApp可以跑在一台能与以太坊节点交互的中心化服务器上,也可以跑在任意一个以太坊平等节点上。(花一分钟思考一下:与一般的网站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。相对于典型的用户登录系统,用户有可能被表示成一个钱包地址而其它用户数据保存在本地。许多事情都会与目前的web应用有不同架构。)
&&& DApp流程:
用Solidity(或其他语言)编写智能合约(后缀为.sol)
用solc编译器将.sol合约编译成EVM字节码
编译好的字节码回送给dapp前端
前端将编译好的智能合约部署到区块链中
区块链返回智能合约地址+ABI(合约接口的二进制表示。合约接口用JSON表示,包括变量,事件和可以调用的方法)
前端通过Address+ABI+nonce,调用智能合约。智能合约开始处理。
智能合约编译器
&&& Solidity智能合约可以通过多种方式进行编译
通过在线Solidity实时编译器来编译。
安装solc编译器编译
在客户端javascript console中,通过pile.solidity编译。不过这个需要环境中安装solc编译器。
&&& 在这里选择solc和pile.solidity方式
&&& 参考:。安装不比较简单,这里详细说了
1. 作为cpp-ethereum的一部分安装&&
&&& 如果通过编译的方式安装了cpp-ethereum(参考:),那么solc编译器就会作为cpp-ethereum的一个子项目也被编译安装,在webthree-umbrella/build/solidity/solc目录下找到solc编译器的可执行文件。
&&& 然后,在/bin或/usr/bin目录下创建软链接就行了
ln -s /home/vagrant/Code/workspace/webthree-umbrella/build/solidity/solc/solc /bin/solc
2. 单独安装solc
通过npm安装:这种比较简单,运行npm install solc就行了,不过我没有在console中找到solc
通过apt-get安装:
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
which solc
&&& 把solc添加入geth中直接使用(在geth中输入)
admin.setSolc("path/to/solc")
从源码编译安装
&&& 这种方法和安装cpp-etheruemle类似,不过最后的编译步骤改为:
cd webthree-umbrella
./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # update Solidity repo
./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --cores 4 -DEVMJIT=0 -DETHASHCL=0 # build Solidity only
&&& 打开一个geth console,输入:web3.eth.getCompilers(),就会打印
智能合约体验
编译一个简单的合约
&&& 直接在console中编译一个简单的合约代码
& source = "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"
& clientContract = pile.solidity(source).test
编译返回的结果的JSON格式如下
code:编译后的EVM字节码
info:编译器返回的metadata
abiDefination:Application Binary Interface定义。具体接口规则参见
compilerVersion:编译此代码的solidity编译器版本
developerDoc:针对开发者的Natural Specification Format,类似于Doxygen。具体规则参见
language:合约语言
languageVersion:合约语言版本
source:源代码
userDoc:针对用户的Ethereum的Natural Specification Format,类似于Doxygen。
编译器返回的JSON结构反映了合约部署的两种不同的路径。info信息真实的存在于区中心化的云中,作为metadata信息来公开验证Blockchain中合约代码的实现。而code信息通过创建交易的方式部署到区块链中。
创建和部署合约
在进行此步骤前,确保你有一个解锁的账户并且账户中有余额。(可以创建自己独立的测试网络,即自己的区块链,初始化的时候就可以初始化一些有余额的账户)。参考:
现在就可以在区块链中创建一个合约了。创建合约的方式是发送一个交易,交易的目的地址是空地址,数据是前面JSON结构中的code字段。
创建合约的流程如下
var primaryAddress = eth.accounts[0]
var abi = [{ constant: false, inputs: [{ name: 'a', type: 'uint256' } ]}]
var MyContract = eth.contract(abi)
var contract = MyContract.new(arg1, arg2, ..., {from: primaryAddress, data: evmByteCodeFromPreviousSection}) //arg1,arg2,...是构造参数,这里没有,需要去掉。红色部分用前面生成的code代替
i. 获得账户
ii. 定义一个abi (abi是个js的数组,否则不成功)
iii. 创建智能合约
iv. 发送交易部署合约
如果交易被pending,如图说明你的miner没有在挖矿,
启动一个矿工
miner.setEtherbase(eth.primaryAddress)
//设定开采账户
miner.start(8)
eth.getBlock("pending", true).transactions
这时候发现交易已经在区块中
不过会发现,交易还是pending,这是因为该交易区块没有人协助进行运算验证,这时候只需要再启动一个矿工就行了
miner.start(8)
发现区块1部署了交易
与合约进行交互
可以通过eth.contract()定义一个合约对象,这个对象包含变数合约接口的abi
Multiply7 = eth..abiDefinition);
var myMultiply7 = Multiply7.at(contract.address);
到这儿,就可以调用智能合约的函数了。
myMultiply7.multiply.call(3)
myMultiply7.multiply.sendTransaction(3, {from: contract.address})
&&& 到此,对智能合约的初次体验就结束了。另外智能合约以及DApp还可以干很多NB的事情。以后会进一步讨论。
阅读(...) 评论()966,690 二月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
在InfoQ上的内容
新闻所属&智能合约
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。工具类服务
编辑部专用服务
作者专用服务
智能合约与金融合约
密码学家尼克萨博( Nick Szabo)早在1994年提出的智能合约的理念,在区块链技术出现以前,因为不存在安全的合约执行环境,一直不能够应用到现实中。现在比特币底层技术区块链越来越成熟,智能合约也开始复兴。智能合约在金融合约领域的应用是最值得期待的发展。
作者单位:
哈尔滨商业大学金融学院
年,卷(期):
在线出版日期:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社}

我要回帖

更多关于 gpl智能合约证券 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信