• 第七章 以太坊--挣脱数字货币的枷锁


    一、以太坊项目简介
    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. 网站资源
     
    五、安装客户端
     
    六、使用智能合约
     
    七、智能合约案例:投票
     
  • 相关阅读:
    SSL certificate verify failed” using pip to install packages
    Getting The following errors when installing boto3
    D3 Scale functions
    Making a simple scatter plot with d3.js
    Basic scatterplot in d3.js
    D3 Tick Format
    CentOS定时备份mysql数据库和清理过期备份文件
    linux yum清除var目录下缓存的方法
    正则表达式纯数字校验
    每天一个Linux命令--查看当前登陆用户并强制退出
  • 原文地址:https://www.cnblogs.com/yahb/p/9011944.html
Copyright © 2020-2023  润新知