美文网首页区块链研习社区块链技术研究金马带你定投区块链
一班「金马带你定投区块链」第一次作业:区块链到底长什么样?

一班「金马带你定投区块链」第一次作业:区块链到底长什么样?

作者: 星目 | 来源:发表于2017-07-01 11:30 被阅读77次

比特币是基于区块链技术实现的一个应用,最近两年尤其显得成功。
这样的成功带来的示范效应引起了众多人参与区块链应用探索,出现了各种其它功能的区块链应用,例如以太坊、量子链、steemit等。
如果想参与区块链的开发或者投资,至少要在技术上对区块链要做一些了解。

什么是区块链

区块链是由英文blockchain直译过来的,就是由“区块”组成的“链”。当然这里的区块是指数据块,而不是一个金块之类的实体。区块链本质上是一个公开的记账本,这个记账本的的结构大概是这个样子:

每个区块包含一个固定长度的区块头部和不定数量的交易记录。

区块头部包含了前一个区块头的哈希值,通过这个值就可以找到这个区块的前一个区块,这样一级一级找下去就可以遍历整个区块链。

这个哈希值你可以简单的认为是前一区块的编号,这个编号是区块链之所以称之为链的原因。当然,这个哈希值实际上是一个稍微复杂一点的东西,有兴趣可以到《精通比特币 第七章 区块链》了解更详细的解释。

交易记录的哈希索引组成了梅克尔树结构,这种结构可以极大的减少交易验证的运算量:

你可以简单的认为最底下的叶子节点就是这个区块中含有的所有交易。

一次交易长什么样

上图引用自《精通比特币 第二章 比特币的原理》

如上图,交易中包含了输入、输出以及矿工费,你可以认为分别对应收入、支出和手续费。

无论是输入还是输出都带有一个产权信息,即地址。这个账簿里描述了某些资产从哪些地址来,往哪些地址去,资产的数额分别是多少,手续费是多少。
把上面的几个概念,区块链、区块、交易联系起来看,你会发现一个很奇怪的事情:区块链中没有任何地方记录了某个地址拥有多少资产
那么你通过钱包查询到的个人资产总额是从哪里得到的?
其实这个总额是钱包软件用笨办法获得的:遍历整个区块链中的所有交易,对这个地址的输入和输出分别进行累加,最终结果的差值就是这个地址目前拥有的资产总额。当然,不需要每次查询资产就要遍历一遍所有交易,隔段时间重新查询时,只需要将前一次查询后新产生的区块里的交易信息更新进去就可以了。

如何查询更多比特币交易信息

直接访问blockchain.info可以翻看各种表格或图形化显示的比特币交易信息。
在网站的搜索框中输入某次交易的HASH,例如:

b6f6991d03df0e2e04dafffcd6bc418aac66049e2cd74b80f14ac86db1e3f0da

可以看到这个哈希代表的的交易的表格化展示。
在浏览器输入:

https://blockchain.info/zh-cn/rawtx/b6f6991d03df0e2e04dafffcd6bc418aac66049e2cd74b80f14ac86db1e3f0da

或者在linux命令行输入:

curl https://blockchain.info/zh-cn/rawtx/b6f6991d03df0e2e04dafffcd6bc418aac66049e2cd74b80f14ac86db1e3f0da

可以看到这次交易的纯文本内容:

{
"hash":"b6f6991d03df0e2e04dafffcd6bc418aac66049e2cd74b80f14ac86db1e3f0da",
"ver":1,
"vin_sz":1,
"vout_sz":2,
"lock_time":"Unavailable",
"size":258,
"relayed_by":"64.179.201.80",
"block_height, 12200,
"tx_index":"12563028",
"inputs":[
{
"prev_out":{
"hash":"a3e2bcc9a5f776112497a32b05f4b9e5b2405ed9",
"value":"100000000",
"tx_index":"12554260",
"n":"2"
},
"script":"76a914641ad5051edd97029a003fe9efb29359fcee409d88ac"
}
],
"out":[
{
"value":"98000000",
"hash":"29d6a3540acfa0a950bef2bfdc75cd51c24390fd",
"script":"76a914641ad5051edd97029a003fe9efb29359fcee409d88ac"
},
{
"value":"2000000",
"hash":"17b5038a413f5c5ee288caa64cfab35a0c01914e",
"script":"76a914641ad5051edd97029a003fe9efb29359fcee409d88ac"
}
]
}

回顾

三个概念:

区块链:由区块构成的链,所有交易信息都记录在里面的大账簿;

区块:包含头信息和交易记录的分账簿;

交易记录:描述了某些资产从哪些地址来,往哪些地址去,手续费是多少。

理解了这几个概念,就能够对区块链的底层结构有一些了解。

更多概念,例如很有意思的“挖矿”、“钱包”等等,欢迎关注公众号进行更多了解。

相关文章

网友评论

    本文标题:一班「金马带你定投区块链」第一次作业:区块链到底长什么样?

    本文链接:https://www.haomeiwen.com/subject/ealbcxtx.html