DAO(Decenntralized Automous Orgarization)The DAO(去中心化的自治组织的一个)介绍 通过发送给众筹组织以太币,从而获取代币,从而获得投票权。 收回以太币(拆分) 拆分成立子基金child DAO,然后投给自己。 拆分之前有7天讨论期。 拆分之后的子基金以太币28天冻结期。 the dao 代码 应该先设置为0,在进行转账操作。 补救措施...
智能合约特点 可执行代码。 编程特点 不知支持对于哈希表进行遍历。 构造函数只能有一个。 调用函数放在data域中。 接受转账的函数需要设置为payable类型。 竞标的函数通过叫价把自己的以太币放在合约里面锁定。 withdraw函数撤回以太币函数。 合约调用另一个合约函数直接调用 被调用出现错误,调用者也出现错误。 使用address类型进行调用 被调用函数异常,调用者会继...
工作量证明能耗太高ETH每笔能耗小于BTC 由于ETH出块速度快。 平均下来消耗能耗就会小一点。 原来是工作量证明POS(权益证明) 需要51%的币才有攻击的可能。 Proof of Deposit说明 可以通过币来进行降低挖矿难度。 威胁是币越多的人越容易挖矿。 通过对于投入降低难度的币进行时间锁定。 遇到的问题 两头下注,在两条链上投入相同的币进行挖矿。 Casper the F...
理论 为了实现15秒左右的共识,为权益证明实现提供更多的时间。 回退了300万个 难度炸弹的调整在拜占庭阶段。 调整区块的奖励。 具体的代码实现拜占庭阶段挖矿难度调整
Block chain is secured by mining.天然的bug赏金ETH ASIC resistance. memory hard mining puzzle. 16M cache,轻节点。 1G dataset,全节点. GPU是主要的算力。 ethash. 工作量证明转为权益证明。 现在已经用权益证明了。 预挖矿,预留一部分货币。 预售机制。 cache生成方式 种子节...
共识机制(ghost) 作废块也有出块奖励,uncle block。 叔块奖励奖励的7/8。 最多包含2个叔父区块。 包含了区块获得1/32。 修改协议 区块部分辈分,只要是之前的未在最长链的区块,都算叔父区块。 最多有7辈分的叔。 为了尽快合并区块链。 解决临时性分叉。 防止篡改。 只能合并合法区块,包含了非法块就成为坏块。 奖励 block...
交易树(MPT) 只组织当前区块的交易。 提供默克尔证明。 查询操作。 收据树(MPT) 由于 bloom filter 高效查找存在性。 生成摘要,查看映射函数是否存在。 哈希之后映射。 可能会误报,不会不报。 false positive。 不支持删除操作。 添加计数器才可以进行参数操作,类似链接。 每个交易都有一个bloom fliter。 块头有一个总的Bloom filter...
一.概述与账户1.ETH概述ETH与BTC类似,都是通过交易驱动的状态机,但是以太坊的以太币与比特币的记录方式不同,花费方式也不同,比特币需要提供币的来源,同时要维护一个UTXO,以太坊使用账户余额形式来记录账户余额,所以不会出现花费两次的问题。以太坊全节点要维护状态树、交易树、收据树,状态树主要是记录不同账户的状态,记录每个上链的账户的余额信息和其他数据,交易树与收据树是记录交易相关的详细...
状态数据结构 addr –>state 余额证明 所有账户的哈希表。 构造默克尔树。 余额只是一种状态。 根据哈希值流程验证即可证明,因为根哈希是一定的在某个时间。 哈希表构造默克尔树不排序 默克尔书不唯一。 排序 代价太大,新建账户的代价太大。 trie(检索树) 输入不管,结果相同。 更新局部性比较强。 存储有点浪费。 PT压缩检索树 访问效率增加。 新增加点,节点可...
BTC 基于交易的。 需要说明币的来源 验证与一次性花费完 ETH 基于账户的余额管理。 不说明币的来源。 也不需要一次性转完。 天然防御双花攻击。 重放攻击 想要收一个交易的两次结果, 加一个交易次数nonce唯一值。 以确保交易的唯一性。 nonce在签名中被保护。 账户类型外部账户 账户余额 nonce(counter) 合约账户 余额 nonce 不能主动发送交易 可以调用其...