李维强-15级 发表于 2018-8-30 22:37:50

区块链相关

本帖最后由 李维强-15级 于 2018-9-13 12:01 编辑

https://blog.csdn.net/sunchaoenter
比特币官网
https://bitcoin.org/zh_CN/
比特币运行原理
http://blog.codinglabs.org/articles/bitcoin-mechanism-make-easy.html
https://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system

腾讯的一个前端大神博客
https://www.tangshuang.net/blockchain

挖矿节点是如何被发现的
https://blog.csdn.net/yzpbright/article/details/80528572

李维强-15级 发表于 2018-9-11 03:40:50

挖矿定性分析
具体点说吧,一个区块包含的值是:
1、上一个区块的哈希值
2、XXX(矿工的帐号,如果是你在挖矿,就填你的帐号)得到了12.5个比特币(看,就这么完全凭空生产出来了12.5个比特币,记到帐上去就行了)
3、大约4000条的交易信息。不是这十分钟内的,是前面堆存下来还没处理的所有交易信息,这些交易信息里除了谁给谁多少币外,还都附了一条给多少交易费。交易费全归XXX得。所以XXX要在这些交易信息里优先挑交易费高的出来,挑出4000条为止(谁给的交易费太少,可能就一直堆在那了)。当然,XXX还有确认这些交易信息有效的责任。反正电脑做这些事很快很快的。
4、一个随机数。
把上面这些打包在一起,形成一个1M左右的数据块,计算哈希值(一个256位的2进制数)。看看这个哈希值的前30位是不是零。如果不是,就把上面第4条的随机数改一改,重新算一次哈希值。如果还不是,再改,再算。。。。因为哈希计算是不可逆的,所以没有办法从后往前推算这个随机数,只能这么一次又一次的改了算。。。这就叫哈希碰撞。
前30位是零这个数是我随手写的,它本身也不是固定的,所谓的挖矿难度,就是指这个数的调整,要求的零越多,就越难碰出来。按现在挖矿难度,碰上个亿亿亿亿次也不一定能碰出来。
全世界的矿工都在做这样的工作,当然不同的矿工,那个XXX是不一样的,纪录的交易信息也可能是不一样的。直到有一位幸运矿工碰出了前30位是零的哈希值,他就可以高兴的把自己打好的包和哈希值上传到网上去了。其它矿工收到后,验算一下,只要一次哈希计算就够了,当然也要验算一下里面打包的交易信息,没问题就可以承认这个块了,把这个块挂到链的最后面。挂进去后,里面的交易就成为了被确认的交易,同时被确认的还有第二条“XXX得到了12.5个币”,全世界的比特币就此多出来了12.5个。
这样的话有人就会问了,我不承认这个块,我继续算我自己的块不行吗?要是我算的块被确认,那12.5个币不就是我的了吗。所以,区块链还有个规则就是大家都承认最长的链,你不承认这个块,那你算的链就比大家算的短了一个块。如果在大家算出下一个块之前你算出了这个块,你还有机会追一追,如果大家再出一个块,你就落后两个了,越落越多,根本追不上的,这就叫工作量证明。除非你的算力超过了全网51%的算力,那你不用承认别人的块了,埋头算自己的,最终你的链绝对是比谁的都长。这就是51%算力陷阱,不是网上吹的有了51%算力就能改交易信息,不是那么回事,是有人过了51%其它人就都没得玩了,这整个系统就要崩了。
但是,中本聪低估了玩家的聪明,本来大家各算各的,去中心化的系统,很好的想法吧,有人不乐意这么玩了,因为碰上亿亿亿亿次才能碰到一次,单人想要中奖,机率实在是太低太低了。那就几个人把算力联合起来,中奖机率不是就大很多了吗?于是矿池出现了,矿池主承包了打包的前三项工作,把未完成的包(就差一个随机数)分发给矿工。矿工不用干别的,就碰这个随机数。碰出来了,请看第二条,这12.5个币是归矿池主得,然后,矿池主再把这12.5个币按大家的算力贡献分发下去。有人买一台矿机,挖一天挖出来0.0001个币,就是这么来的。就在2017年,中国的某矿神(就是那个专门卖矿机的)他掌握的矿池,已经超过了51%!他自己也知道不能这样,这要玩崩了谁都没得玩了,于是他自愿的把矿池拆成了两个,完美的避开了51%算力陷阱。现在的比特币挖矿行业,已经被前几大矿池牢牢把控了,私人拿一两台电脑想单独的挖就是个笑话,必须加入一个矿池,才有喝到点稀汤的可能。而且随着最近比特币价格下跌,小矿池破产倒闭越来越多,越小的倒得越快。。。。。
页: [1]
查看完整版本: 区块链相关