![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
以太坊 ETH / 智能合约
文章平均质量分 92
Omni-Space
专注Android, Mobile Security and AI
展开
-
The Technicals of Interoperability—Introducing the Ethereum Peg Zone
Cross-blockchain crypto-asset transfer is core of what we do at Cosmos. Within the ecosystem, crypto-assets are transferred via the IBC protocol, an Inter-Blockchain Communication protocol, which faci...转载 2018-03-01 09:53:18 · 562 阅读 · 0 评论 -
深入了解以太坊虚拟机第2部分——固定长度数据类型的表示方法
本文由币乎社区(bihu.com)内容支持计划赞助在本系列的第一篇文章中,我们已经看到了一个简单的Solidity合约的汇编代码:contract C { uint256 a; function C() { a = 1; }}该合约归结于sstore指令的调用:// a = 1sstore(0x0, 0x1)EVM将0x1数值存储在0x0的位置上每个存储...转载 2018-03-25 16:13:57 · 678 阅读 · 1 评论 -
深入了解以太坊虚拟机第3部分——动态数据类型的表示方法
本文由币乎社区(bihu.com)内容支持计划赞助。Solidity提供了在其他编程语言常见的数据类型。除了简单的值类型比如数字和结构体,还有一些其他数据类型,随着数据的增加可以进行动态扩展的动态类型。动态类型的3大类:映射(Mappings):mapping(bytes32 => uint256), mapping(address => string)等等数组(Arrays):[]u...转载 2018-03-25 16:15:49 · 809 阅读 · 0 评论 -
深入了解以太坊虚拟机第4部分——ABI编码外部方法调用的方式
本文由币乎社区(bihu.com)内容支持计划赞助。在本系列的上一篇文章中我们看到了Solidity是如何在EVM存储器中表示复杂数据结构的。但是如果无法交互,数据就是没有意义的。智能合约就是数据和外界的中间体。在这篇文章中我们将会看到Solidity和EVM可以让外部程序来调用合约的方法并改变它的状态。“外部程序”不限于DApp/JavaScript。任何可以使用HTTP RPC与以太坊节点通信...转载 2018-03-25 16:17:35 · 2221 阅读 · 1 评论 -
深入了解以太坊虚拟机第5部分——一个新合约被创建后会发生什么
本文由币乎社区(bihu.com)内容支持计划赞助。在该系列文章的前部分,我们学了EVM汇编基础,也学了ABI编码是如何允许外部程序与合约进行通信的。在本文中,我们将会学习一个合约是如何从零创建的。本系列的相关文章(按照顺序):EVM汇编代码的介绍(第1部分)固定长度数据类型的表示方法(第2部分)动态数据类型的表示方法(第3部分)ABI编码外部方法调用的方式(第4部分)我们目前所见的EVM字节码都...转载 2018-03-25 16:19:43 · 417 阅读 · 0 评论 -
Part 1 — Introduction to Smart (legal?) Contracts
A version of this article first appeared in Coindesk on April 11, 2016. Encouraged by the feedback this received, I’ll be writing more on the subject in the near future and publishing it here and else...转载 2018-04-03 12:36:39 · 322 阅读 · 0 评论 -
Part 2 — Making Sense of Smart Contracts
The term “smart contract” has no clear and settled definition. The idea has long been hyped to the public as a central component of next-generation blockchain platforms, and as a key capability for an...转载 2018-04-03 12:36:34 · 440 阅读 · 0 评论 -
来自智能合约中的威胁:去中心化应用安全威胁Top10榜单
NCC Group 发起了一个名为 2018 年去中心化应用安全 Top10 ( Decentralized Application Security Project)的项目。据悉,该项目会与类似于 OWASP 的方式发布去中心化应用安全领域中,每年的十大安全威胁报。与 OWASP 开放合作透明的运作理念相似,该项目也是以集成合作的方式披露智能合约中存在的安全漏洞。本文是第一版的 DASP Top...转载 2018-04-18 15:12:06 · 403 阅读 · 0 评论 -
如何学习区块链技术?
2018年春节最火热的概念应该就是区块链了,从百度的莱茨狗和网易星球刷屏朋友圈,到3点钟区块链无眠群的大火,大佬们纷纷进军区块链,不了解区块链好像错过一个时代。这里把学习区块链过程中的一些资料进行索引,比特币知识重点推荐中本聪白皮书和《精通比特币》,区块链技术及工程应用,重点推荐IBM的Hyperledger系列课程。一、目标比特币发展历史,挖矿以及相关应用区块链底层技术,如共识算法, 密码学知识...转载 2018-05-02 14:36:39 · 2790 阅读 · 0 评论 -
智能合约如何可信的与外部世界交互
区块链应用中,外部世界如何与智能合约交互往往是一个容易被忽视的问题,很多的智能合约应用场景是根据一些外部事件,输出相应的结果,而传统的IT数据交互方式实际上并不能投入真正的工作。例如,按照农产品价格情况来支付投保人赔款的农产品价格险保单。传统IT人员一般认为是如下的流程:智能合约会在预定的时间,从期货交易场所获取农产品价格,然后按照获取的数据采取预设的行动。听起来很简单,但却不可能实现。为什么呢?...转载 2018-05-03 07:16:49 · 1098 阅读 · 0 评论 -
区块链技术:智能合约入门
什么是智能合约一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议。一个合约由一组代码(合约的函数)和数据(合约的状态)组成,并且运行在以太坊虚拟机上.以太坊虚拟机(EVM)使用了256比特长度的机器码,是一种基于堆栈的虚拟机,用于执行以太坊智能合约 。由于EVM是针对以太坊体系设计的,因此使用了以太坊账户模型(Account Model)进行价...转载 2018-04-25 13:13:10 · 662 阅读 · 0 评论 -
C语言实现的ABCI
本文主要介绍用 C 语言实现的 Tendermint ABCI,以及如何在此之上构建一个属于自己的应用原文作者:许莉英文版本:C-ABCI简介首先简单介绍一下 Tendermint 和 ABCI。Tendermint 的核心就是共识引擎,它主要负责两点:节点之间共享交易和区块建立一个规范且不可改变的交易顺序(也就是区块链)ABCI(Application BlockChain Interface)...转载 2018-03-25 16:06:26 · 748 阅读 · 0 评论 -
HISTORY OF ETHEREUM SECURITY VULNERABILITIES, HACKS AND THEIR FIXES
A smart contract is “a computerized transaction protocol that executes the terms of a contract.”. There are obvious advantages of smart contract system: reduction of expenses and legal collisions, tim...转载 2018-03-23 15:01:05 · 1112 阅读 · 0 评论 -
从并发视角来看智能合约(上)【渡鸦论文系列】
论文作者:Ilya Sergey1and Aquinas Hobor21 University College London, United Kingdomi.sergey@ucl.ac.uk2 Yale-NUS College and School of Computing, National University of Singaporehobor@comp.nus.edu.sg翻译:渡鸦「让...转载 2018-03-02 01:14:32 · 453 阅读 · 0 评论 -
从并发视角来看智能合约(下)【渡鸦论文系列】
论文作者:Ilya Sergey1and Aquinas Hobor21 University College London, United Kingdomi.sergey@ucl.ac.uk2 Yale-NUS College and School of Computing, National University of Singaporehobor@comp.nus.edu.sg翻译:渡鸦「让...转载 2018-03-02 01:15:39 · 719 阅读 · 0 评论 -
对预言(Oracle)的一次探讨
智能合约有望彻底改变人类、机器和组织建立实施契约关系的方式。 从财产所有权到金融工具到家庭日常活动的每一个事物,现在都可以被实现为一段部署于一个公开可验证的共享账簿中的代码,这个公开可验证的共享账簿被称为区块链。这个代码在很多方面都可称为是“智能的”:它是自动执行的,模块化的,能够大幅降低与合同有关的交易成本。然而,它在接收并验证来自外界信息的能力方面还不太擅长。例如,保险合同可以被...转载 2018-03-02 14:46:13 · 1045 阅读 · 0 评论 -
Oraclize-Tutorial
IntroductionOracle service builds the bridge between blockchain and the real world, and we are going to introduce an oracle service called Oraclize.The following image describes the underlying mechani...转载 2018-03-16 15:09:36 · 964 阅读 · 0 评论 -
Setting up of Oraclize Service in Smart Contracts
Have you ever think of calling third-party APIs in your smart contracts? It can be possible using the Oraclize service . The Oraclize service enables smart contracts to access data from an external en...转载 2018-03-16 16:27:34 · 861 阅读 · 0 评论 -
Ethereum Slot Machine Source Code
I don’t like to promote gambling, but here is the source code for your perusal.From Ethereum based slot machine.Website http://www.etherslots.win/.Verified source code below from the contract address ...转载 2018-03-16 16:32:30 · 651 阅读 · 0 评论 -
Building a Raffle Smart Contract Using Oraclize
Generating random numbers in Solidity is not simple. For starters, Solidity doesn’t come with a native random function because the deterministic nature of the system.In mathematics and physics, a dete...转载 2018-03-16 16:35:47 · 663 阅读 · 0 评论 -
Understanding Ethereum Smart Contracts
You might have heard the term “smart contract,” and you might even know that they are “code” you can run on a blockchain.But how can you run code on a blockchain? It’s not the easiest concept to wrap ...转载 2018-03-03 18:08:24 · 1172 阅读 · 0 评论 -
使用web3.js进行开发
参考地址:here and here零、在私有链上部署合约// 本文中用到的MetaCoin合约pragma solidity ^0.4.2;contract MetaCoin { mapping (address => uint) balances; event Transfer(address indexed _from, address indexed _to,...转载 2018-03-19 17:16:56 · 14396 阅读 · 4 评论 -
浅谈以太坊智能合约的设计模式与升级方法
浅谈以太坊智能合约的设计模式与升级方法1. 最佳实践2. 实用设计案例2.1 控制器合约与数据合约: 1->12.2 控制器合约与数据合约: 1->N2.3 控制器合约与数据合约: N->12.4 控制器合约与数据合约: N->N2.5 总结3. 升级3.1 控制器合约升级,数据合约不升级3.2 控制器合约不升级,数据合约升级3.3 控制器合约升级,数据合约升级4. 数据迁...转载 2018-04-25 13:15:55 · 134 阅读 · 0 评论 -
跨链资产原子转移工具包 Decred atomicswap
Decred 是一种新型的去中心化加密货币。在2017年底,Decred的开发者发布了atomicswap工具包,支持Decred与Bitcoin、Litecoin、Monacoin及其他一些加密货币的跨链原子互换。它的主要特点是:去中心化,无需第三方托管去信任化交易点对点交易,抗审查资产原子性转移应用atomicswap的区块链需要支持以下条件:交易脚本分支交易脚本使用同样的哈希算法交易脚本签...转载 2018-04-25 13:17:51 · 476 阅读 · 0 评论 -
BCOS系统合约介绍
BCOS系统合约介绍设计概述实现概述系统代理合约节点管理合约机构证书合约权限管理合约全网配置合约自定义扩展示例1-自定义业务配置合约示例2-自定义业务权限Filter合约设计概述BCOS区块链为了满足准入控制、身份认证、配置管理、权限管理等需求,在网络启动之初,会部署一套功能强大、结构灵活且支持自定义扩展的智能合约,统称系统合约。系统合约原则上由区块链管理员在网络启动之初部署全网生效。若是在网络运...转载 2018-04-25 13:20:48 · 2290 阅读 · 0 评论 -
什么是图灵完备智能合约
图灵,不用多介绍,是计算机领域的大神级人物,他在科学、特别在数理逻辑和计算机科学方面,取得了举世瞩目的成就,他的一些科学成果,构成了现代计算机技术的基础。因此,很多计算机领域的模型或者理论都是以“图灵”来命名的,最经典的一个概念是“图灵机”:所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,...转载 2018-05-08 08:21:46 · 4003 阅读 · 1 评论 -
以太坊智能合约安全入门了解一下(上)
作者:RickGray作者博客:http://rickgray.me/2018/05/17/ethereum-smart-contracts-vulnerabilites-review/(注:本文分上/下两部分完成,下篇链接《以太坊智能合约安全入门了解一下(下)》)最近区块链漏洞不要太火,什么交易所用户被钓鱼导致 APIKEY 泄漏,代币合约出现整数溢出漏洞致使代币归零, MyEtherWalle...转载 2018-05-29 03:41:38 · 834 阅读 · 1 评论 -
以太坊智能合约安全入门了解一下(下)
作者:RickGray作者博客:http://rickgray.me/2018/05/26/ethereum-smart-contracts-vulnerabilities-review-part2/(注:本文分上/下两部分完成,上篇链接《以太坊智能合约安全入门了解一下(上)》) 接上篇3. Arithmetic Issues算数问题?通常来说,在编程语言里算数问题导致的漏洞最多的就是整数溢出了,...转载 2018-05-29 03:42:42 · 4446 阅读 · 2 评论 -
以太坊智能合约 Hexagon 存在溢出漏洞
作者:zxx友善@360 0KEE Team来源:https://www.jianshu.com/p/c5363ffad6a7最近通过对智能合约的审计,发现了一些智能合约相关的安全问题。其中我们发现智能合约Hexagon存在溢出攻击,可产生无数的token,导致整个代币都没有意义。 Token地址:https://etherscan.io/address/0xB5335e24d0aB29C190A...转载 2018-05-29 03:44:30 · 852 阅读 · 1 评论 -
以太坊智能合约安全 Dasp Top10
译者:爱上平顶⼭来源:慢雾区原文链接:https://www.dasp.co/这是分布式应⽤安全项⽬(或DASP)2018 年排名前10的漏洞第⼀次迭代该项⽬是NCC集团的⼀项举措。这是⼀个开放的合作项⽬,致⼒于发现安全社区内的智能合约漏洞。要参与,请加⼊github⻚⾯。1.重⼊漏洞也被称为 或与空⽩竞争,递归调⽤漏洞,未知调⽤这种漏洞在很多时候被很多不同的⼈忽略:审阅者倾向于⼀次⼀个地审查函数...转载 2018-05-29 03:46:07 · 1392 阅读 · 0 评论 -
EOS Node Remote Code Execution Vulnerability — EOS WASM Contract Function Table Array Out of Bounds
Vulnerability CreditYuki Chen of Qihoo 360 Vulcan TeamZhiniang Peng of Qihoo 360 Core SecurityVulnerability DescriptionWe found and successfully exploit a buffer out-of-bounds write vulnerability in E...转载 2018-05-30 04:32:35 · 621 阅读 · 0 评论 -
小心!智能合约再爆高危漏洞,两大加密货币直接变废纸!
大家都还记得,前一段时间发生的BEC智能合约的安全漏洞问题。近日,智能合约安全问题再次上演,火币Pro发布公告,暂停EDU冲提币业务,随后EDU智能合约被爆出存在严重漏洞!在智能合约漏洞频出的背景下,我们利用形式化验证工具对上百个智能合约进行深入分析,又发现一个存在严重安全漏洞的智能合约——RMC代币合约!这一漏洞造成的影响是,直接把曾经市值300多万美元的RMC和一度飙到0.08美元的UET(U...转载 2018-06-06 16:58:11 · 787 阅读 · 0 评论 -
【译】Economics of Fees and Gas
以太坊(和Qtum )的天然气基本上是智能合约中的一项作业成本。 不同的操作有不同的成本。 有些非常便宜,有些并不便宜。 这种机制基本上是阻止某些行为的一种方式,也可以使垃圾邮件和对区块链的攻击更加昂贵。 在Turing-Complete计算机中,这种气体概念是绝对必需的。 否则,有人可以简单地写一个无限循环,并观察区块链停下来。 今天我将特别讨论气体模型在特定条件下鼓励什么样的事情,以及这种事...翻译 2018-05-31 08:06:37 · 286 阅读 · 0 评论 -
【译】Thoughts and Goals on Qtum's x86 VM
因此,我们一直对x86虚拟机在Qtum中将允许的内容表现出色,除了更多的编程语言支持。 这基本上是因为设计过程很容易使一个平庸的版本,但很难建立一个优化,高效,易于使用的版本。 所以在这里我不会深入了解设计的细节,但是我想宣布我们想要的目标。 编程语言支持 当然,编程语言支持是构建这个x86虚拟机的重要原因。 我个人想让2018年在鲁斯特写的智能合约年。 Rust非常高效,重量轻,而且最重要...翻译 2018-05-31 08:30:01 · 1086 阅读 · 0 评论 -
以太坊智能合约升级策略
本文是对以太坊中可升级智能合约领域的各种实现策略的总结 ,目的是汇总迄今为止的相关资源,以帮助我们在设计智能合约时,考虑如何对其进行升级和更新。100%可升级机制目前有两种主要策略用来实现可升级的智能合约:使用代理合约将逻辑和数据分离成不同的合约。这两种方法要解决的根本问题是如何更新合同的逻辑,同时仍然保留对合同状态的访问。代理合约代理合约使用delegatecall操作码将函数调用转发到可更新的...转载 2018-04-28 14:04:28 · 504 阅读 · 0 评论 -
用 Parity 发送 ERC20 Token
Parity 是以太坊的 Rust 实现,它也内置了一个钱包。用过 Parity 的人都知道,用它发送 ETH 非常简单,点几下就行。但是可能不少人还不知道如何发送 ETH 以外的 ERC20 Token,或者说不知道怎么发送钱包里面没有显示出来的 token。一个以太坊地址上实际上可能有很多 token,因为币圈链圈天上掉馅饼的事情时有发生,不知道什么时候就会有 token 空投到你的地址。对于...转载 2018-05-06 14:20:32 · 494 阅读 · 0 评论 -
重构智能合约(上):非确定性的幽灵
1、前言 本文是小蚁的两位创始人过去两年中在设计小蚁智能合约时所做的深度思考和技术探索的结果。《重构智能合约》系列文章将分为上、中、下三篇,分别从确定性和资源控制、扩展性和耦合度、通用性和生态兼容三个方面来剖析现有智能合约系统的优缺点,并提出新的智能合约体系的设计思路。2、智能合约与区块链自从比特币、以太坊的相继诞生,以及区块链技术的逐步升温,智能合约一词便开始频繁的出现在金融和科技媒体之中。...转载 2018-04-26 14:03:58 · 189 阅读 · 0 评论 -
重构智能合约(中):平行宇宙与无限扩展
1、前言本文是小蚁的两位创始人过去两年中在设计小蚁智能合约时所做的深度思考和技术探索的结果。《重构智能合约》系列文章将分为上、中、下三篇,分别从确定性和资源控制、扩展性和耦合度、通用性和生态兼容三个方面来剖析现有智能合约系统的优缺点,并提出新的智能合约体系的设计思路。在上一篇《重构智能合约(上):非确定性的幽灵》中我们分析了智能合约对确定性、资源控制和隔离的需求,得出了虚拟机作为智能合约的执行环境...转载 2018-04-26 14:04:02 · 341 阅读 · 0 评论 -
如何编写一个可升级的智能合约
区块链信任基础的数据不可修改的特性,让它传统应用程序有一个很大的不同的地方是一经发布于区块链上就无法修改(不能直接在原有的合约上直接修改再重新发布)。写在前面阅读本文前,你应该对以太坊、智能合约及Solidity语言有所了解,如果你还不了解,建议你先看以太坊是什么当智能合约出现bug一方面正式由于智能合约的不可修改的特性,因为只要规则确定之后,没人能够修改它,大家才能够信任它。但另一方面,如果规则...转载 2018-04-26 14:04:06 · 190 阅读 · 0 评论 -
Web3与智能合约交互实战
Web3与智能合约交互实战写在前面在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指望普通用户通过命令行使用Dapp。因此,我们需要一种友好的方式(比如一个web页面)来与智能合约交互,于是问题的答案就是web3.js。Web3.jsWeb3.js是以太坊官方的Javascript API...转载 2018-04-26 14:06:44 · 1615 阅读 · 0 评论