区域链入门

区域链简介

是指用去中心化的方法来共同维护数据库,每个区块包含系统在一定时间的全部信息,比特币是目前区域链应用最知名的。

传统的交易都有第三方的监管来构建买卖双方的信任,比特币去中心化,使得第三方的监管变成了全网,一次交易通知所有的节点,这么看,肯定比单一的第三方更值得信任,不过也会收到51%攻击,因为区块被恶意伪造,超过51%的赞成票,虚假的交易记录会被认可,所以比特币使用消耗大量算力来避免这种攻击,因为计算使用的资源超过交易收益。区域链采用单向hash算法,严格按照时间排序,改变单一区块会被其他节点否决,从而保证安全。

区域链的几个特点:

  • 集体维护:系统的数据快所有节点维护
  • 高度透明:开源
  • 匿名:信任解决,不需要实名

mac下安装私有链

切换到ethereum第三方库

brew tap ethereum/ethereum

安装geth

brew install ethereum

验证geth安装成功

geth -h

创建一条私有链

mkdir ethereum

vi genesis.json

https://github.com/ethereum/go-ethereum

{
  "config": {
        "chainId": 0,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}

初始化私有链

geth --datadir "./" init genesis.json

启动geth

geth --datadir "./" --nodiscover console 2>>geth.log

输入,查看第一个区块信息

> eth.getBlock(0)