比特币科普:二话不说地无中心传输记录比特币的交易
时间:2014-08-28 来源:比特人 作者:cndx
前言 关于如何更好地科普好比特币的很核心的内容——如何打包比特币交易,即常听到的“挖矿”,很多人常会用比喻的方式。如超级君便把其比喻成赚工分,之前看过一篇好文章比喻成了比特岛上撕纸片的游戏,而有更多人喜欢比喻成挖黄金,所以才有了较通用的“挖矿”这个说法。但是毕竟比特币就是比特币,它即不是工分也不是黄金,他们有本质区别。因此我打算用真实地方式和大家更准确地普及,尽量做到不乏味难懂吧。挖矿其实就是记帐。下面有请比特小白出场来和我一起探讨下: 【比特小白 】听说比特币很不错,我也想要比特币,怎样获得比特币 【cndx 】想要获得自己的比特币先要有个钱包来存,放在交易所的毕竟不完全是自己的,在上一篇科普中已经说过怎么有自己钱包地址了,不懂就去看看。有了钱包之后有三种途径: 第一种是运行程序挖取,比特币的早期多用这种方式获取,现在运行是不够电费的。 第二种是求打赏求捐赠,最好不要什么都不说,只发地址,要有贡献对大家有帮助才会给你打赏。像我现在便正在写比特币科普文章发个我的打赏脑钱包地址1MkX4opviJKBBrqr1coykedYKp2DBJPC7z 以求得到好心人能打赏。 第三种是用有价值的东西与有币的人兑换,有价值的东西包括法币和商品等,用法币换即到交易所买后提币,或者出售商品接受用比特币支付。获得币现在已经和赚钱是等价的了,现在不要寄望于,电脑运行某个程序便有大量币,或者到某网站发下地址便能领取很多币。获得比特币一般即是别人通过钱包将他们的一部分币发给你,你在你比特币钱包地址上有币。 【比特小白 】怎么才算自己已经有币了,怎么去知道自己比特币钱包内有币 【cndx 】你先想想,你怎么知道你QQ号里面有Q币,或者银行卡内有没有钱呢 要通过各种方式(通过登陆QQ,网银或者ATM机等)登陆到官方那边上去查询。他们那边的有个叫服务器的超级中央电脑会记录着你有多少币和多少钱的数据。万一服务器出故障或被黑客攻击了,把你有多少钱币的数据给修改了。那你就可能面临丢钱币或者一下有超级多的钱币了。但一般服务器的重要数据一般会有备份,并定期核查,一般不会有问题的,除非天灾人祸,不用担心币钱突然清零。 【比特小白 】那比特币呢 比特币有多少币的服务器信息存在哪,怎么去查呢 【cndx 】比特币没有中央服务器,去中心的。比特币和任何比特币诞生前的虚拟币都不同,因此可以叫这类去中心化的币为电子币,以便与QQ币之类的中心化虚拟币区分。比特币的信息不是存在中央服务器上的,而是存在每一个运行有完成同步的Core核心钱包软件的普通电脑那里的。而使用这个核心钱包的电脑不需要配置很高,遍布在全球各地。因为数量太多,不可能有黑客去攻击每台电脑,而只攻击几台电脑修改币的数据是没有用的。因此即使有天灾人祸,也不用担心币丢失,除非地球毁灭。通过在任何一台有核心钱包的电脑上都能查看到你的币量和交易记录。为了方便有不少网站将这些数据整理到网页上。即通过在这些网站上输入地址即可看到你的币量。具体网址可以去搜索下,国内外有很多个。注意只是在这些网站上看到币,而你真实的币是存在全球各地的有比特币核心钱包的电脑上的,而不是在网站上。 【比特小白 】原来如此,全球每台电脑都能证明我有币呀,币是具体怎么存储的 【cndx 】不是每台,要运行核心钱包,同步完数据才行。不是简单地记录着每个地址有多少币,而是记录着所有的交易记录。会记录下A给你3BTC,然后你给B发了1BTC,最后C给了你5BTC。就记录下这些记录。那你有多少孙呢,简单的小学算术题3-1+5=7BTC即你的余额是7BTC,你的钱包内余额有7BTC,而这个7BTC是没有直接记录的。因为传输币的交易记录很多,因此采用打包的形式来记录。即将最近几分钟的交易记录放在一起,打包成为一个区块。打包好的区块,发送出去,然后所有的核心钱包的电脑上都验证为正确的好区块后接收,然后区块序号,然后再打包下一个区块。目前已经有317555个区块了。上面说的同步数据就是同步这些交易区块。目前有26.7GB大小,新下载核心钱包要同步几天。有兴趣可以下载个核心钱包对比特币做贡献。 【比特小白 】这么大的区块文件有点太占硬盘了吧。不过幸好我有TB级的大硬盘。打包区块做贡献有什么好处吗,我装了核心钱包是还是就能自动来打包区块呢 【cndx 】打包区块是把上一区块的压缩信息以及期间不段收集的期间的新交易记录按一定的格式放在一起。这些都由程序来一秒都不到很快就完成。打包区块的奖励现在看来是很有诱惑力的,以前是每打包好一个区快由比特币系统来发50个新币给打包的人,然后大约每四年时间新币减半。现在是第2个四年了,因此每个打包好的人会得到由程序代码所发的25个新币。不过你不要高兴得太早,只下载核心钱包只能验证传递交易和验证别人打的包好不好,是不能自己打包的。 【比特小白 】那我好想打包个区块,是不是打包好一个区块就有25个比特币给我 【cndx 】是的,不仅仅给25个比特币新币,还包括你打包的交易的参与交易的人付给的手续费。不过手续费目前较少可忽略。你想打包区块,当然我也想,大家都想,那怎么解决这个让谁来打包的问题呢。有些POS模式的山寨币是凭币数,让有持币数多的人更有几乎来打包。但这样虽然会使币的打包权掌握在持币多的一批人手中,为了自身利益不会乱打包但是很难保证其绝对不乱来,且会有富者越富的问题。而比特币采用的是较公平的计算猜数字的问题,寻找一个合适的随机数,通过它和待打包的数据进行运算后能得满足一定要求的随机字串。比特币用的是SHA256算法来求Hash,当随机的Hash满足前多少位都是0时,即可以打包成功,发布出来。当竞争打包的人少时,像前期的区块,只要求前8位是0即可以打包了。因此用普通电脑就可很快地打到满足要求的随机数而成功打包。后面随着竞争的算力越来越高,现在需要要求前16位都是0才算打包成功,维持大约10分钟挖一下。难度指数上升,因此挖矿这条路别想了。 【比特小白 】现在是由谁在打包,我们安全放心吗 【cndx 】各大矿池,即大家一起打包,挖到的币再按算力大小分给各个连接到矿池提供算力的矿工。拥有超过全网一半的算力才能有可能做坏事,而现在的全网总算力如上图已经高达160 Phash/s多了,很难有外部邪恶算力来达到这么高算力来控制。另外内部矿池算力因为是矿工的汇总,若做坏事矿工便会离开。因此大矿池也不会。再会挖矿只是交易打包的过程。具体打包的每条记录是需要所有的核心钱包验证的。因此即使获得了打包权,能做的事件也不多。比特币很安全。便是一些算力极低的山寨币就很不安全了。 【比特小白 】多谢科普,今天学习了好多知识你能帮我总结下吗 【cndx 】你为什么不自己总结 【比特小白 】我是你虚构出来的,我总结不就是你总结吗 【cndx 】汗……好吧,我总结一下:比特币是没有中央中心统一控制币量和交易的记帐系统。其账目数据是以区块串链条的形式存储在分布在全球各地的核心钱包的电脑里,而记录新的转账账目交易是通过打包的形式。主要由矿工来进行对各交易进行打包,打包即是寻找合适的随机数,将使合适随机数加入整个记录包,使对其的压缩哈希计算结果,满足一定难度的格式要求。打包成功将,发给全球所有核心钱包,使区块数增加一,打包成功者获得新币及手续费奖励。挖矿除了获得新币,还是寻找打包随机数来打包的过程,它有维护支付网络安全运行的作用,不是浪费电。有了遍布全球的详细的每一笔比特币交易记录,便可计算出每个地址上有多少币。 水平有限,若有科普地不对的地方请各位指正,若对您有帮助且您有零花币请打赏点,谢谢。 打赏比特币 地址:idgui.com 1Ejkuz8WAxa3BXBDxmZsXNpCTpq8AbvN6H 打赏文化狗狗币 :DDDogeXPkK1F7rzSBqcyjJK3FkA96YbXGa 瑞波币 地址~cndx |