zoukankan      html  css  js  c++  java
  • 第七章 以太坊--挣脱数字货币的枷锁

    一、以太坊项目简介
    1. 以太坊项目简史
    2. 主要特点
    支持图灵完备的智能合约,设计了编程语言Solidity和虚拟机EVM
    选用了内存需求较高的哈希函数,避免出现强算力矿机、矿池攻击
    叔块激励机制,降低矿池的优势,并减少了区块产生间隔(约15秒)
    采用账户系统和世界状态,而不是UTXO,容易支持更复杂的逻辑
    通过Gas限制代码执行指令数,避免循环执行攻击
    支持PoW共识算法,并计划支持效率更高的PoS算法
     
    二、核心概念
    1. 智能合约:以计算机程序的方式来缔结和运行各种合约
    2. 账户:合约账户 / 外部账户
    3. 交易:指从一个账户到另外一个账户的消息数据
    4. 以太币
    5. 燃料(Gas):控制某次交易执行指令的上限
     
    三、主要设计
    1. 智能合约相关设计
    运行在以太坊虚拟机上,使用Solidity语言编写
    2. 交易模型
    出于智能合约的便利考虑,以太坊采用了账户的模型,状态可以实时地保存到账户里,而无需像比特币的UXTO模型那样去回溯整个历史。
    3. 共识
    以太坊目前采用了基于成熟的PoW共识的变种算法Ethash协议作为共识机制。
    4. 降低攻击
    所有交易都要提供交易费用,避免DDoS攻击
    程序运行指令数通过Gas来限制,超过设定的上限就会被取消
     
    四、相关工具
    1. 客户端和开发库(go-ethereum)
    2. 以太坊钱包(Mist)
    3. IDE(Truffle, Embark, Remix)
    4. 网站资源
     
    五、安装客户端
     
    六、使用智能合约
     
    七、智能合约案例:投票
     
  • 相关阅读:
    垃圾回收相关概念
    垃圾回收相关算法
    垃圾回收概述
    StringTable
    执行引擎
    [前端]背景图,中间放大特效
    [Javascript]类数组对象为什么不能用for in进行遍历
    [前端] 画个圈圈显示百分比
    win10 Build 14905.rs_prerelease.160811-1739 填坑记录
    [翻译][10 By 10 外文博客] 01.uwp获得关注并安装
  • 原文地址:https://www.cnblogs.com/yahb/p/9011944.html
Copyright © 2011-2022 走看看