![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
以太坊
cactusblossom
这个作者很懒,什么都没留下…
展开
-
区块链引发的一些思考
区块链不是解决一切问题的法宝,不能被滥用;例如有人提出利用区块链的不可篡改特性,实现防伪、溯源,但是无法保证记录到区块链之前的源头的数据正确性,区块链无法检测出来;中心化与去中心化并不是黑白分明的,一个成功的商业模式可以都有;例如有人提出利用区块链的共识机制,实现互不信任的实体间建立共识,但这本身可能是个伪命题,因为互不信任的实体间是无法交易的,比如交易后发现商品质量有问题如何解决;所以可...原创 2020-02-14 11:36:22 · 707 阅读 · 0 评论 -
以太坊带来的一些反思
一、智能合约的反思智能合约真的智能吗?(Is smart contract really smart?)智能合约并不智能,更接近自动合约。(Smart contract is anything but smart.)二、不可篡改性的反思Irrevocability is a double edged sword.很多区块链的应用都利用了不可篡改的特性,比如防伪、溯源。但是从“The DA...原创 2020-02-13 17:30:11 · 724 阅读 · 0 评论 -
以太坊社区的分裂——The DAO项目分析
DAO:Decentralized Autonomous OrganizationThe DAO:众筹投资基金,创建了一个智能合约,运行在以太坊区上。将以太币转账给该智能合约,然后换回代币,通过代币作为权重投票决定投资哪个项目。2015年5月发起众筹,1个月内就筹到了1.5亿的以太币,但是3个月后该项目被迫宣告结束。split DAO - child DAO回款时没有先清0,导致重入攻...原创 2020-02-13 15:15:42 · 1493 阅读 · 0 评论 -
以太坊智能合约示例与漏洞分析——竞拍合约
一、拍卖合约智能合约定义成员变量、event等,构造函数初始化受益人、拍卖结束时间,如下所示:出价的函数如下,标注payable说明接收转账,require(now <= auctionEnd)检查拍卖是否结束,如果已经结束就抛出异常,然后检查出价是否大于最高出价,然后将出价人记录到bidders数组(因为bids哈希表不支持遍历),然后记录新的最高出价人,记录日志,如下所示:结束...原创 2020-02-12 15:35:38 · 838 阅读 · 0 评论 -
以太坊智能合约的原理和使用方法
一、智能合约概述1. 智能合约是什么智能合约本质上是运行在区块链上的一段代码,代码的逻辑定义了合约的内容。智能合约账户保存了合约当前的运行状态,包括当前余额(balance)、交易次数(nonce)、合约代码(code)、存储(storage 数据结构是MPT)。2. solidity语言智能合约的最常用的语言是Solidity,语法上与JavaScript很接近。如下图所示:“pr...原创 2020-02-11 22:01:37 · 8215 阅读 · 1 评论 -
以太坊的GHOST协议
以太坊1.0将出块时间降低到15s左右,发布的区块在网络上传播时间本身就需要10几秒,其他节点没有充足时间来接收区块,会使得分叉变成常态,且分叉数量会很多,大量孤块(orphan block)得不到收益。原创 2020-02-09 15:50:08 · 638 阅读 · 0 评论 -
以太坊的数据结构(状态树、交易树、收据树)及代码分析
以太坊是基于账户的账本,因此需要进行账户地址和账户状态的映射,如下所示:我们尝试寻找一种合适的数据结构来完成这个需求:如果以哈希表的形式保存状态数据,可以非常有效率地查找、更新账户状态数据,但是由于状态数据只保存在区块体中,轻节点难以进行Merkle Proof,因此考虑构建Merkle tree;如果将账户数据简单组织成Merkle tree,不进行排序,就需要发布所有账户到区块中,保证根哈希一致,但是数量级太大,不可行;如果只发布状态变化的账户,就会导致所有节点的根哈希不一致,无法共识;如果原创 2020-02-08 16:16:28 · 7504 阅读 · 0 评论 -
以太坊1.0概述
以太坊(Ethereum)以太坊对比特币进行改进,将出块时间降低到15s,提高了吞吐量。挖矿谜题(mining puzzle)具有memory-hard特性,无法使用ASIC矿机来挖矿。另外以太坊将逐步切换到PoS(Proof of Stake)共识协议,不需要通过算力来投票,而是通过权益比例来投票。比特币是去中心化货币(decentralized currency),在跨国转账方面非常具...原创 2020-02-07 14:01:22 · 1409 阅读 · 0 评论