INVE互联价值的高级图灵完备的智能合约智能合约是什么?

&p&根链的使用案例&/p&&p&根链平台提供了图灵完备的智能合约,智能合约是在1993年由尼克·萨博提出的。同时根链的虚拟机向后兼容以太坊的虚拟机,这为根链平台上的开发者在比特币区块链上获益的同时也能够有机会在以太坊平台上获利。下面我们举例说明根链的智能合约可实现的功能案例。&/p&&p&微支付通道和中心辐射型网络&/p&&p&微支付通道允许两人构建一个安全的支付规则,并且不需要手续费来完成小额支付,但是只有一次支付机会,然后支付通道就要关闭。&/p&&p&中心辐射射型网络让用户可以无需相互信任直接使用支付通道来完成小额支付,也可能依靠一个最低信任的第三方来完成支付。通过根链可以构建中心辐射型支付网络,简单直接并且是标准的电子钱包支付方式。&/p&&p&点对点的分布式交易所&/p&&p&使用TierNolan协议在根链上可以构建合约完成点对点的交易所功能。自动匹配出售和求购信息也是非常容易建立。这就使得可以依托区块链技术构建一定去中心化的不需要第三方参与的数字加密资产交易所。&/p&&p&零售支付系统&/p&&p&根链可以让比特币成为全球的日用零售业务的支付方式。阻止比特币为零售业使用的原因是比特币的确认时间(为确保安全性,比特币转账一般要等待10到60分钟)。根链可以让用户获得比特币的安全性的同时只需要几秒钟的确认时间。商家不需要第三方网关就可以实现立即收到付款。为零售提供支付方案的另一个关键要素是每秒交易量(tps)。根链网络使用D?COR+协议可以将比特币的每秒支付交易量达到300tps(是Paypal的两倍)。&/p&&p&托管服务&/p&&p&根链可以创建智能托管服务,用户通过签属一笔交易来定义托管规则是否该被执行,这个过程被托管的资金甚至不会被任何其它方接触。&/p&&p&创造数字加密资产&/p&&p&在根链平台可以创造数字加密资产(或者竞争币),并且安全性依托于比特币网络。鉴于根链平台对在平台上创造合约所需要的燃料费用要求很柔性,任何人包括学生到银行和公司都可以利用根链平台创建自己的加密资产。&/p&&p&资产证券化&/p&&p&根链平台也可以基于原子资产来发布数字化证券,将原子资产证券化。包括商业房地产信托基金、股票、债券和其他资产(或未来价值)都可以利用根链来完成数字证券化。这个功能将可以为缺乏现代金融系统的发展中国家里的小企业提供运营和成长资金解决方案。&/p&&p&去中心化汇款&/p&&p&这个特殊的功能对发展中国家特别重要和特别适合,这些地方因为缺少银行体系也缺乏信用体系,因此人民只能通过支付高昂的手续费来向家人汇款。&/p&&p&IP 注册和保护&/p&&p&可以在根链平台上创建合约以证明某种“存在”,这可以允许个体或机构向世界证明特定的文件(或产权)真实存在,其安全性依托于比特币区块链。这个应用场景特别适合于拉丁美洲、非洲和亚洲等没有可靠的产权注册登记制度的地区。&/p&&p&投票系统&/p&&p&在根链平台上可以创建一个特殊的数字资产,用于提供极端安全和透明的选举,并且成本非常低。&/p&&p& 微借贷系统&/p&&p&全球超过50%的人口没有享受到现代金融系统的服务,这我们当今全球社会经济不平等的一个直接原因。根链平台可以搭建可扩展的微借贷系统,为发展中国家的30亿贫困居民提供信贷服务。&/p&&p&可追踪式供应链&/p&&p&根链平台上可以创建某种数字钱包用于追踪实物化的物品的位置和路径信息。这种特殊的合约对零售业、食品和医疗行业特别有用。和根链上的其他应用场景一样,它的安全性也是基于比特币区块链的,并且成本是非常低的。&/p&&p&在线网络信誉与数字身份&/p&&p&发展中国家主要问题之一是穷人缺乏信誉文档和身份信息。这种情况阻止了穷人拥有投票权,获得健康信息,获得刑事受害报告以及无法享受金融服务。根链平台可以使用安全的比特币区块链和极低的成本建立数字身份。&/p&&p&全球在线游戏货币&/p&&p&拥有众多游戏玩家的游戏是有其内存的经济体的,包括提供了特殊的货币。随着游戏的发展,游戏玩家获得的虚拟游戏币是有价值的,并且常常会在二级市场里出售。但通货膨胀、欺诈和网络偷盗都威胁着游戏里的经济安全。并且游戏公司保管用户的虚拟财产本身也要面临法律和安全风险。随着全球化的进展,已经虚拟游戏的发展,游戏玩家越来越对一个游戏里的游戏币不能被应用于其它游戏感到不适。根链平台可以解决这些问题,将比特币(选题的根币)整合进游戏,也可以使用根链平台上创建一个数字资产。根链支付系统非常快,游戏引擎也可以将根链用做游戏支付系统,为玩家和玩家或公司和玩家之间的虚拟资产交易提供支付方案。支付过程仅仅需要点击一个链接或扫描一个二维码,支付系统就可以完成标准和电子钱包支付,也可以用于游戏公司的佣金支付。&/p&&p&互联网赌博和市场预测&/p&&p&调整支付同时意味着调整支出。比特币赌博网站中本聪骰子提供了无需注册快速投注的赌博方式,它使用的是0确认的链上交易方式,但这种试对赌博网站来说风险很大。根链平台提供了同样的用户体验,但可以获得交易确认的安全性。&/p&&p&公平的游戏&/p&&p&使用智能合约,并结合加密协议可以构建如智能扑克一样的应用,根链平台可以构建一种无需信任的第三方参与的纸牌游戏。&/p&&p&这些只是使用基于比特币区块链做为底层技术的根链的几个应用例子。特别重要的是矿工通过联合挖矿运用根链上的智能合约可以获得利益。&/p&&p&(未完待续,我正在翻译Rootstock白皮书,陆续发布,欢迎指正错误,我将在最终稿做修订,谢谢。)&/p&&p&(想第一时间阅读我的比特币科普文章,请关注我的公众号: 闪电HSL)&/p&
根链的使用案例根链平台提供了图灵完备的智能合约,智能合约是在1993年由尼克·萨博提出的。同时根链的虚拟机向后兼容以太坊的虚拟机,这为根链平台上的开发者在比特币区块链上获益的同时也能够有机会在以太坊平台上获利。下面我们举例说明根链的智能合约可…
&p&&strong&第0章 引言&/strong&&br&&/p&&p&我阅读了以太坊的白皮书,现在又在阅读根链的白皮书,两本书里都大量提到智能合约。本文我尽可能清晰地说明智能合约是一个什么概念。&/p&&p&&strong&第1章 传统合同&/strong&&/p&&p&我们现在在这个社会上做的种种经济行为都涉及到大量的合同,我们使用的合同主要有以下四个部分内容:&/p&&p&1)合同主体:即甲方和乙方。这里面包括有自然人,还有法人和机构等。&/p&&p&2)合同条款:规定甲乙双方的权益和义务。合同条款是尽可能详细地书写法律规定之外的内容。&/p&&p&3)仲裁机构和执法机构:当出现违约,或合同双方主体对合同条款产生歧义时需要仲裁机构和执法机构来判决权益和义务的归属。&/p&&p&4)仲裁对象:合同里定义(或现行法律保护当合同里没提到)的权益和义务。&/p&&p&&strong&第2章 智能合约&/strong&&/p&&p&对应现行的合同制度,智能合约也有现行合同制度里的四部分内容:&/p&&p&1)合约主体:拥有数字身份的甲方和乙方。&/p&&p&2)合约条款:由代码构建的规定甲乙双方的权益和义务。传统合同还兼容法律规定的内容,但智能合约不接受现行法律的约束,完全由代码详尽定义,除非智能合约被推翻。&/p&&p&3)仲裁平台:智能合约是在某个平台(如以太坊,又如根链)上由合约主体去安装,然后代码自动判断执行合约的所有条款,包括违约和合约条款,都由代码给出。判决过程不需要其他机构代理。&/p&&p&4)执法对象:合约里约定的数字资产,或智能财产。&/p&&p&&strong&第3章 智能合约的四大核心概念&/strong&&/p&&p&1)数字身份:如何将我们活人映射进代码里,这是智能合约到目前为止最让人困惑的部分。在我们现行的经济活动过程中,国家通过法律手段获得建立了全民身份信息。又通过产权法等约定了财产和自然人之间的权益关系。在智能合约里,先要构建数字身份认证服务,比如可以使用指纹等特有特征信息去构建。有了这个东西才可以构建合约主体。&/p&&p&2)数字资产和智能财产:现行的经济活动某项权益和资产归谁所有是有明确的占有方式的,我的就是我的,要不就是放在我家里,要不就是登记在某个政府机构或其他机构里。智能合约里想要去除掉这些中心化的登记机构,那就要想办法让合约里的权益和资产数字化,或者至少需要拥有数字身份,并且这个数字身份可以可以影响资产的使用。&/p&&p&智能财产可以是将智能合约嵌入到某些硬件和软件来构成,比如一辆洗车嵌入数字身份启动的装置,就可以构建为智能财产。&/p&&p&有了数字身份和资产数字化后,就可以构建两者的映射关系,也就可以使用数字身份去锁定数字化的资产。然后才可以使用代码的形式来执法。&/p&&p&还有另外两个重要的概念&/p&&p&3)合约仲裁平台:我本以为任何一个智能合约都应该是有独立的代码以规定合约的执行依据的。但从以太坊和根链的白皮书的阅读过程中我发现它们其实是包含了一个仲裁平台。以太坊编写了一个图灵完备,完全无须第三方信任的代码让用户来构建智能合约,而根链则是需要一个叫50%信任制的仲裁联邦。这个仲裁依然不是活人去仲裁,也是代码。我现在还没有理解以太坊和根链这两者之间的区别。但毫无疑问的是,智能合约的执行是要交付给仲裁平台来完成执行的。这个仲裁平台担任的职责是“发现”智能合约,或者说参与合约的双方在这个平台上安装合约,交付或叫托管给仲裁平台来执行合约。&/p&&p&这个仲裁平台的概念就和我们现行的经济活动里的法庭类似。&/p&&p&4)数字资产托管所:在根链和以太坊上都有这么一些机构。根链使用一种叫双向锚定的机制,将比特币锁定在某个公钥里,就是将比特币区块链当成了数字资产(即比特币)托管所。而智能合约里面的其他数字资产和智能财产都需要某种代码或某种区块链来保管。&/p&&p&数字资产托管所就和我们现行经济活动的房管所等类似。&/p&&p&&strong&第4章 智能合约的实现&/strong&&/p&&p&区块链技术是智能合约的一个理想的技术平台。以太坊和根链都是想要干这个事。但我还没有完全理解它们到底要怎么搞这种伟大的智能合约,等我看明白了再来写。&/p&&p&&strong&第5章 结束语&/strong&&/p&&p&有智能合约就是在模拟我们现行的经济活动里的合同制度,但试图去除掉合同里的第三方仲裁法庭和执法机构。&/p&&p&(想第一时间阅读我的比特币科普文章,请关注我的公众号: 闪电HSL)&/p&
第0章 引言 我阅读了以太坊的白皮书,现在又在阅读根链的白皮书,两本书里都大量提到智能合约。本文我尽可能清晰地说明智能合约是一个什么概念。第1章 传统合同我们现在在这个社会上做的种种经济行为都涉及到大量的合同,我们使用的合同主要有以下四个部分…
已有帐号?
无法登录?
社交帐号登录
173 人关注
6750 条内容
3058 人关注
353 条内容
2307 人关注
681 条内容
3493 人关注
282 条内容
122 人关注
670 条内容后使用快捷导航没有帐号?
深入浅出谈以太坊智能合约
查看: 27825|
评论: |来自: 区块链大本营
摘要: 合约是代码(它的功能)和数据(它的状态)的集合,存在于以太坊区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上 ...
1、什么是合约?合约是代码(它的功能)和数据(它的状态)的集合,存在于以太坊区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。合约很典型地用诸如Solidity等高级语言写成,然后编译成字节代码上传到区块链上。也有其他语言可以用于编写智能合约如Serpent和LLL,在下一节会进一步阐述。去中心化应用开发资源列出了综合的开发环境,帮助你用这些语言开发的开发者工具,提供测试和部署支持等功能。2、以太坊高级语言合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。然而,合约是很典型地用诸如Solidity等高级语言写成的,它会用以太坊虚拟机编译器编译成字节代码上传到区块链。下面是开发者可以用来为以太坊写智能合约的高级语言。1. SoliditySolidity是和Script相似的语言,你可以用它来开发合约并编译成以太坊虚拟机字节代码。它目前是以太坊更受欢迎的语言。2. SerpentSerpent是和Python类似的语言,可以用于开发合约编译成以太坊虚拟机字节代码。它力求简洁, 将低级语言在效率方面的优点和编程风格的操作简易相结合,同时合约编程增加了独特的领域特定功能。Serpent用LLL编译。3. LLLLisp Like Language (LLL)是和Assembly类似的低级语言。它追求极简;本质上只是直接对以太坊虚拟机的一点包装。4. Mutan (弃用)Mutan是个静态类型,由Jeffrey Wilcke 开发设计的C类语言。它已经不再受到维护。3、写合约没有Hello World程序,语言就不完整。Solidity在以太坊环境内操作,没有明显的“输出”字符串的方式。我们能做的最接近的事就是用日志记录事件来把字符串放进区块链,示例如下:contract HelloWorld {event Print(string out);function() { Print("Hello, World!"); }}每次执行时,这个合约都会在区块链创建一个日志入口,印着“Hello,World!”参数。另请参阅:Solidity docs里有更多写Solidity代码的示例和指导。4、编译合约solidity合约的编译可以通过很多机制完成。通过命令行使用solc编译器实现。在geth或eth提供的javascript控制台使用web3.eth.compile.solidity (这仍然需要安装solc 编译器)实现。通过在线Solidity实时编译器实现。通过建立solidity合约的Meteor dapp Cosmo实现。通过Mix IDE实现。通过以太坊钱包实现。注意:关于solc和编译Solidity合约代码的更多信息可在此查看。1. 在geth设置solidity编译器如果你启动了geth节点,就可以查看哪个编译器可用。示例如下:& web3.eth.getCompilers();["lll", "solidity", "serpent"]这一指令会返回到显示当前哪个编译器可用的字符串。注意:solc编译器和cpp- ethereum一起安装。或者,你可以自己创建。如果你的solc可执行文件不在标准位置,可以用—solc标志为solc可执行文件指定一个定制路线。示例如下:$ geth --solc /usr/local/bin/solc或者你可以通过控制台在执行期间设置这个选项:& admin.setSolc("/usr/local/bin/solc")solc, the solidity compiler commandline interfaceVersion: 0.2.2-02bb315d/.-Darwin/appleclang/JIT linked to libethereum-1.2.0-8007cef0/.-Darwin/appleclang/JITpath: /usr/local/bin/solc2. 编译一个简单合约让我们来编译一个简单的合约源,示例如下:& source = "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"这个合约提供了一个单一方法multiply,它和一个正整数a调用并返回到a*7。下面准备在geth JS控制台用eth.compile.solidity()编译solidity代码:& contract = eth.compile.solidity(source).test{code: '063ceb05056',info: {language: 'Solidity',languageVersion: '0',compilerVersion: '0.9.13',abiDefinition: [{constant: false,inputs: [{name: 'a',type: 'uint256'} ],name: 'multiply',outputs: [{name: 'd',type: 'uint256'} ],type: 'function'} ],userDoc: {methods: {}},developerDoc: {methods: {}},source: 'contract test { function multiply(uint a) returns(uint d) { return a*7; } }'}}注意:编译器通过RPC因此也能通过web3.js,对浏览器内任何通过RPC/IPC连接到geth的Dapp可用。下面的例子会向你展示如何通过JSON-RPC接合geth来使用编译器。$ geth --datadir ~/eth/ --loglevel 6 --logtostderr=true --rpc --rpcport 8100 --rpccorsdomain ' * ' --mine console 2&& ~/eth/eth.log$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSolidity","params":["contract test {单源编译器输出会给出你合约对象,每个都代表一个单独的合约。eth.compile.solidity 的实际返还值是合约名字到合约对象的映射。由于合约名字是test,eth.compile.solidity(source).test会给出包含下列领域的测试合约对:Code:编译的以太坊虚拟机字节代码。Info:从编译器输出的额外元数据。Source:源代码。Language:合约语言 (Solidity,Serpent,LLL)。LanguageVersion:合约语言版本。compilerVersion:用于编译这个合约的solidity编译器版本。abiDefinition:应用的二进制界面定义。userDoc:用户的NatSpec Doc。developerDoc:开发者的NatSpec Doc。编译器输出的直接结构化(到code和info)反映了两种非常不同的部署路径。编译的以太坊虚拟机代码和一个合约创建交易被发送到区块,剩下的(info)在理想状态下会存活在去中心化云上,公开验证的元数据则执行区块链上的代码。如果你的源包含多个合约,输出会包括每个合约一个入口,对应的合约信息对象可以用作为属性名称的合约名字检索到。你可以通过检测当前的GlobalRegistrar代码来试一下:contracts = eth.compile.solidity(globalRegistrarSrc)5、创建和部署合约开始阅读这一节之前,确保你有解锁的账户和一些资金。现在在区块链上创建一个合约,方法是用上一章节的以太坊虚拟机代码作为数据给空地址发送交易。示例如下:注意:用在线Solidity实时编译器或Mix IDE程序会更容易完成。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: evmByteCodeFromPrevio所有的二进制数据都以十六进制的格式序列化。十六进制字符串总会有一个十六进制前缀0x。注意:注意arg1, arg2, ...是合约构造函数参数,以备它要接受参数。如果合约不需要构造函数参数,就可以忽略这些参数。值得指出的是,这一步骤需要你支付执行。一旦交易成功进入到区块,你的账户余额(你作为发送方放在from领域)会根据以太坊虚拟机的gas规则被扣减。一段时间以后,你的交易会在一个区块中出现,确认它带来的状态是共识。你的合约现在存在于区块链上。以不同步的方式做同样的事看起来是这样:MyContract.new([arg1, arg2, ...,]{from: primaryAccount, data: evmCode}, function(err, contract) {if (!err && contract.address)console.log(contract.address);});6、与合约互动与合约互动典型的做法是用诸如eth.contract()功能的抽象层,它会返回到javascript对象,和所有可用的合约功能一起,作为可调用的javascript功能。描述合约可用功能的标准方式是ABI定义。这个对象是一个字符串,它描述了调用签名和每个可用合约功能的返回值。示例如下:var Multiply7 = eth.contract(contract.info.abiDefinition);var myMultiply7 = Multiply7.at(address);现在ABI中具体说明的所有功能调用都在合约实例中可用。你可以用两种方法中的一种来调用这些合约实例上的方法。& myMultiply7.multiply.sendTransaction(3, {from: address})"0x12345"& myMultiply7.multiply.call(3)21当用sendTransaction被调用的时候,功能调用通过发送交易来执行。需要花费以太币来发送,调用会永久记录在区块链上。用这种方式进行的调用返回值是交易散表。当用call被调用的时候,功能在以太坊虚拟机被本地执行,功能返回值和功能一起返回。用这种方式进行的调用不会记录在区块链上,因此也不会改变合约内部状态。这种调用方式被称为恒定功能调用。以这种方式进行的调用不花费以太币。如果你只对返回值感兴趣,那么你应该用call。如果你只关心合约状态的副作用,就应该用sendTransaction。在上面的例子中,不会产生副作用,因此sendTransaction只会烧gas,增加宇宙的熵。7、合约元数据在之前的章节中,揭示了怎样在区块链上创建合约。现在来处理剩下的编译器输出,合约元数据或者说合约信息。在与不是你创建的合约互动时,你可能会想要文档或者查看源代码。合约作者被鼓励提供这样的可见信息,他们可以在区块链上登记或者借助第三方服务,比如说EtherChain。管理员API为所有选择登记的合约提供便利的方法来获取这个捆绑。示例如下:// get the contract info for contract address to do manual verificationvar info = admin.getContractInfo(address) // lookup, fetch, decodevar source = info.var abiDef = info.abiDefinition这项工作的潜在机制是:合约信息被可以公开访问的URI上传到可辨认的地方。任何人都可以只知道合约地址就找到是什么URI。仅通过2个步骤的区块链注册就可以实现这些要求。第一步是在被称作HashReg的合约中用内容散表注册合约代码(散表)。第二步是在UrlHint合约用内容散表注册一个url。这些注册合约是Frontier版本的一部分,已经参与到Homestead中。要知道合约地址来查询url,获取实际合约元数据信息包,使用这一机制就足够了。如果你是个尽职的合约创建者,请遵循以下步骤:将合约本身部署到区块链获取合约信息json文件将合约信息json文件部署到你选择的任意url注册代码散表 -&内容散表 -& urlJS API通过提供助手把这个过程变得非常容易。 调用admin.register从合约中提取信息,在指定文件中写出json序列,运算文件的内容散表,最终将这个内容散表注册到合约代码散表。一旦将那个文件部署到任意url,你就能用admin.registerUrl来注册url 和你区块链上的内容散表(注意,一旦固定的内容选址模式被用作文件商店,url-hint不再必要了) 。source = "contract test { function multiply(uint a) returns(uint d) { return a*7; } }"// compile with solccontract = eth.compile.solidity(source).test// create contract objectvar MyContract = eth.contract(contract.info.abiDefinition)// extracts info from contract, save the json serialisation in the given file,contenthash = admin.saveInfo(contract.info, "~/dapps/shared/contracts/test/info.json")// send off the contract to the blockchainMyContract.new({from: primaryAccount, data: contract.code}, function(error, contract){if(!error && contract.address) {// calculates the content hash and registers it with the code hash in `HashReg`// it uses address to send the transaction.// returns the content hash that we use to register a urladmin.register(primaryAccount, contract.address, contenthash)// here you deploy ~/dapps/shared/contracts/test/info.json to a urladmin.registerUrl(primaryAccount, hash, url)}});8、测试合约和交易在为交易和合约排除故障时,你通常会需要一些低级的测试策略。这一章节将介绍一些你可以用到的排错工作和做法。为了测试合约和交易而不产生实际的后果,较好在私有区块链上测试。这可以通过配置一个替代网络ID (选择一个特别的数字)和/或不能用的端点来实现。推荐做法是,为了测试你用一个替代数据目录和端口,这样就不会意外地和实时运行的节点冲突(假定用默认运行。在虚拟机排错模式开启geth,推荐性能分析和较高的日志冗余级别):geth --datadir ~/dapps/testing/00/ --port 30310 --rpcport 8110 --networkid 4567890 --nodiscover -提交交易之前,你需要创建私有测试链(参阅测试网络相关章节),示例如下:// create account. will prompt for passwordpersonal.newAccount();// name your primary account, will often use itprimary = eth.accounts[0];// check your balance (denominated in ether)balance = web3.fromWei(eth.getBalance(primary), "ether");// assume an existing unlocked primary accountprimary = eth.accounts[0];// mine 10 blocks to generate ether// starting minerminer.start(4);// sleep for 10 blocks (this can take quite some time).admin.sleepBlocks(10);// then stop mining (just not to burn heat in vain)miner.stop();balance = web3.fromWei(eth.getBalance(primary), "ether");创建交易之后,你可以用下面的命令来强制运行:miner.start(1);admin.sleepBlocks(1);miner.stop();&你也可以用以下命令查看即将发生的交易:// shows transaction pooltxpool.status// number of pending txseth.getBlockTransactionCount("pending");// print all pending txseth.getBlock("pending", true).transactions如果你提交合约创建交易,可以检查想要的代码是否实际上嵌入到当前的区块链:txhash = eth.sendTansaction({from:primary, data: code})//... miningcontractaddress = eth.getTransactionReceipt(txhash);eth.getCode(contractaddress)欢迎加入本站公开兴趣群量化投资群兴趣范围包括:量化投资,交易,金融建模,统计套利等等QQ群 如果大家不明白什么是量化投资,在百度谷歌搜索一下“西蒙斯”就知道了,最近这哥们火极了!这套东西在国外的金融机构已经大量使用,随着中国金融市场规模日益扩大和趋于成熟,这套玩法最终肯定也能在国内转起来,我们一起学习切磋,寻求项目机会做一下,提升自己在这方面的技能,将来一起发财
上一篇:下一篇:
dataguru.cn All Right Reserved.}

我要回帖

更多关于 图灵完备语言 的文章

更多推荐

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

点击添加站长微信