区域链简介
是指用去中心化的方法来共同维护数据库,每个区块包含系统在一定时间的全部信息,比特币是目前区域链应用最知名的。
传统的交易都有第三方的监管来构建买卖双方的信任,比特币去中心化,使得第三方的监管变成了全网,一次交易通知所有的节点,这么看,肯定比单一的第三方更值得信任,不过也会收到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)