假如比特币没人打包区块
A. 如果比特币挖完,还会有新的区块产生吗
区块生成是靠打包者(可以被称作「矿工」)打包交易生成的。没有打包者,就没有区块,就不存在区块奖励。比特币并没有要求一定会有下一个区块,是通过经济利益激励打包者去竞争打包区块而不是算法强制。
B. 我朋友投资比特币挣了很多钱,可信吗
可信,只要他做到低买高卖,就一定能挣到钱,不过比特币风险太大了,掂量一下自己手里的资金,看看雄厚不,如果就一点钱还是不要碰了。尤其是比特币期货,可能瞬间你的自己就不剩一分钱,甚至来不及平仓还会欠钱。
C. 比特币已死,区块链重生
(一)新概念
我对于比特币的看法是在不断迭代更新的,但是本质层面的东西不会变:这个新鲜事物是否会促进生产力的发展。我们必须先要明确以下几个概念:
第一,区块链技术。这是实实在在生产力的发展与革新,具有很重要的现实与未来意义,我们必须重视区块链技术的发展,不能再像芯片技术一样,一步差、步步差,继续让美国一直占领着这个高地。我最初了解区块链技术的时候,仿佛认知领域打开了一扇窗,整个大脑都亮堂了起来,觉得“去中心化”理念的实践,跟共产主义“六亿神州尽舜尧”,以及当年人人可以作为有机体一份子的“大鸣大放、大辩论、大字报”,有诸多暗合之处。
区块链具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,马恩列毛等先贤们没有见到去中心化的互联网时代,但是他们许多设想自然而然在互联网时代——也就是生产力的进步中实现了,这就是唯物史观的伟大力量。
正因为此,国家很重视区块链技术的发展,这是非常正确的决策。区块链还首次作为七大数字经济重点产业之一写进了“十四五”计划。区块链涉及数字技术应用业、数字要素驱动业、数字化效率提升业3个大类中的6个小类。6个小类分别是数字技术应用业的互联网数据服务,数字要素驱动业的新技术基础设施建设和数字化效率提升业的数字化通用、专用设备制造,数字化运输设备制造,数字化电气机械、器材和仪器仪表制造,其他智能制造。
第二,比特币。比特币是区块链技术诞生的契机与见证,它自己不是生产力不是技术进步,而是生产力发展与技术进步的目的或结果之一。做一个类比,区块链技术是一条新诞生的河流,比特币就是河流源头上冲刷下的鹅卵石。对于特定的人群来说,是有收藏价值的,而且你甚至可以理解为,有些人就是为了这个鹅卵石,才挖开的这条河。
比特币的诞生曾经是具有革命性的,比如(据说)中本聪的初衷就是为了反对美元霸权,决定设计一种“永远不会贬值”的加密货币。但是随着时代的发展,比特币越来越不能与区块链技术相提并论。比特币有没有价值呢?有,挖它机器的损耗、电力的损耗,都是价值。比特币有没有使用价值呢?几乎没有。除了对少数人来说有一定的纪念意义,然而更多地都用在了金融市场投机、黑市交易与洗钱中了。
第三,挖“矿”行为与炒币行为。人们用大量计算机,依据特定的算法找到比特币,被称作“挖矿”。由于比特币算法的特殊性,越往后挖越难、人越多挖越难,所以必须要投入越来越多的机器,耗费越来越多的电力。而炒币行为则是针对现有的比特币的投机——我批判的是针对比特币的投机行为,而不是比特币本身,就好比当年郁金香泡沫,郁金香那么美的花是无辜的。
第四,狗狗币,shit币,S币等。这些与比特币类似,只是基于不同的算法而产生的,比如比特币有一个数量上限,狗狗币就没有一个上限。加密货币都与某些群体是有意义的(黑帮、洗钱集团、跨国犯罪团伙),但是在世界各国政府都不承认的前提下,意义十分有限,只能用作金融投机行为了。有一些币,甚至于就是为了讽刺比特币而推出的,结果自己竟然也变成了投机品,成为了“讽刺之讽刺”。
第五,空气币,垃圾币。这些在前几年国内市场很泛滥,后来经过国家监管取缔之后基本销声匿迹。这些币跟区块链技术已经没有一毛钱关系了,就在后台随便写个算法,然后再蹭一个热点,去忽悠大爷大妈们投资,这跟明目张胆的骗钱没有任何区别。祝所有的空气币骗子早日进牢房。
下面是当年很经典的一张图,一群空气币垃圾币搞了个什么区块链大会,结果到会了好多大妈,因为大妈们是大金主、大投资方,所以都是与会重要嘉宾。按理说,骗大爷大妈们买点保健品啥的,好歹还有个安慰剂的效果,忽悠他们买空气币真是造了八辈子的孽。
(二)新局势
生产力的不断发展带来了新局势,所以我对于比特币的评价也是动态变化的。
之前我觉得比特币一来符合电子货币化的趋势,二来符合互联网去中心化的进程,说不定还能打击美元霸权,中本聪他娘的就是个天才。讲道理,曾经区块链技术真心是代表先进生产力的发展方向的,而比特币则是区块链技术最好的“勋章”,我真的很心向往之。然而资本和人性的贪婪,可以把一切先进生产力变成投机活动。当新时代的“淘金潮”来临之时,比特币甚至变成了生产力的浪费——电力资源,显卡,硬盘等等生产工具,变成了他们的投机工具,大量的资源被用在了投机浪费中。
人类真的有把任何天才设定玩成投机 游戏 的能力——本来是生产力发展区块链价值的见证,结果变成了疯狂挖矿浪费生产力的行为;本来是反传统反权威去中心化的理念,结果变成了交易所割韭菜的狂欢。我现在的态度是这样的:依然认可比特币,但我不认可投机比特币的行为;至于那些垃圾币、空气币、虚拟币、 游戏 币,这些东西实在不值一提,早晚会被扫进 历史 的垃圾桶。
就像我上文所说的,人类 历史 上很难举出这样的例子:耗费了很多价值(凝结在其中无差别的人类劳动),但是产生了一个鲜有使用价值的东西。之前的投机品,股票什么的不是价值,就是商业票据;郁金香之类的,闻个香味看个样子也是有用的。而唯独比特币,你很难想象出除了投机、洗钱之外还能有什么使用价值,这个真的是人类发展新的一页——我们竟然发明出耗费巨大价值但全无使用价值的东西。
就像本文题目所说的:浪费粮食可耻,浪费生产力呢?比特币的投机行为,已经转化为了对生产力的巨大浪费。根据剑桥大学最新的数据统计,光是比特币的挖矿耗电,每年的耗电量达得到了约133.68太瓦时,1太瓦时等于10亿度电量。这个数字基本上超过了瑞典国家的全年耗电量,全球国家耗电占到27位。在我国,大部分比特币矿机位于内蒙古、四川、云南和新疆等地,因为这些地方资源丰富,因此电价较低。中国此类活动每年消耗的电力料将在2024年达到约297太瓦时(1太瓦时等于10亿度电)的峰值,超过意大利2016年的耗电量;每年的碳排放也将升至1.3亿吨,超过捷克2016年的温室气体排放总量。
目前全国用电量都很紧张,广州浙江等地都在限制工业用电,更有碳中和的远期指标在那里,不把这种挖矿行为好好打击一下实在说不过去了。
更何况,除却对生产力的浪费,还有金融风险的问题。就如上文所述,国内外的比特币交易难免伴随着黑市买卖、洗钱、资金外流等风险——这是宏观层面上的问题;微观层面上暴涨暴跌24h波动的币圈交易市场,对于每一位个体投资者来说都是无法控制的风险。
今年5月21日,国务院金融稳定发展委员会进一步要求:“打击比特币挖矿和交易行为”。下一步,应采取针对性措施,开展虚拟货币挖矿和交易行为集中整治活动,保护好投资者的财产安全,维护好经济金融秩序。金融管理部门应加大对虚拟货币非法挖矿和交易活动的打击力度,维护好正常的经济金融秩序,为我国数字人民币正式推出创造更好的环境。对非法参与虚拟货币交易、炒作或为之提供支持服务的机构、平台,应联合司法部门及时处置,提高违法违规成本,增加整治活动威慑力。对比特币挖矿项目,各地应全面清理、及时关停。
踩了碳排放、金融系统性风险、资金外逃三条红线,挖矿行为想不死也难。
(三)永恒的贪婪
中本聪为了挑战美元霸权设计了比特币的规则,而现在币圈市场成为了资本逐利的竞技场,不得不感慨资本有把任何一种革命性的东西变成自己的奴隶。以前“币圈”还分“币党”和“链党”——因为先有币还是先有链本身就是一个鸡生蛋蛋生鸡的问题,掰扯不清。所以币党认为区块链技术就是为加密币服务的,加密币终将一统未来金融;而链党认为区块链技术的应用远超于加密币,比特币只不过是区块链的儿子而已。
目前来看链党大获全胜,真正的币党所剩无几,基本都变为热切投机的掮客罢了。现在所谓币圈云云,不过是给自己一个高大上的名分,本质就是赌博:以前的赌狗变成了先锋炒币人士,以前的庄家变成了 科技 创新企业。我是真心实意地一直在建议身边那些在股市微操和炒币的朋友们去澳门,简单直接,一夜暴富的概率比炒币大多了;而且你赌得多了还能享受vip待遇,房费路费酒水钱都给你报销;就算你亏了,也是出去 旅游 放松了一趟,澳门那些赌场装潢豪华,有免费的酒水饮料和各种美味的点心小吃,每天还有诸如夏威夷草裙舞、天鹅湖芭蕾舞、杂耍魔术之类的免费表演,不比你在出租屋里天天盯着盘爽多了?
更何况,人家赌场都是百年老店诚信为本,赢大了也不会赖账,还会给你敲锣打鼓宣传骗新韭菜;输大了也不会撕破脸,还会退给你食宿费用和往返路费。看看这些狗逼交易所什么嘴脸——断电、拔网线、强制平仓、账户失效……我就老嘲讽那些币圈洋洋得意的先锋青年,你们这产业比赌博low多了。我还认真建议戒不了“赌瘾”的朋友,要赌就去赌真的,亏了钱也可以当做是消费享受了,不比白白被交易所割韭菜爽的多?
以上内容手动狗头,不是让大家去赌博,赌狗都该死,我只是讽刺一下所谓的“币圈”,怕有些好兄弟当真了,还是声明一下。
看《指环王》有一段剧情,现在看来挺有意思:萨鲁曼说矮人们太贪婪,挖矿挖得太深,挖出了远古的邪恶之物。特么我第一时间就联想到了那群挖比特币的人hhhhh真是贪婪啊,现在别说显卡暴涨了,内存条硬盘之类的,价格都翻了小一倍了,太夸张了。让我们拭目以待当代挖矿的人会挖出什么怪物吧。
此情此景,我只想说出《指环王》里那句优美的话:You shall not pass!衷心祝愿矿难的万丈深渊埋葬一切投机分子。
(四)经验教训
下面这部分是我自己的投资经历,给大家分享一下,就当听个故事乐呵乐呵,能吸取其中的经验教训最好,如果不能的话铭记一点就好:在没有充足信息时,尽量远离金融产品投机市场。
2014年的时候我正在香港读研,有一位人人网认识的前辈跟我说:“你现在有香港的身份证、香港的银行账户,买比特币特别方便,你可以了解一下买买试试,机会难得。”我一直很佩服这位前辈,很重视他的建议,所以去了解了一下比特币。当时刚刚好读了凯文·凯利的《失控》,仿佛打开了一扇新世界的大门;又学习了一下区块链的原理,觉得中本聪太牛逼了,就感觉被这两位大神夺走了童贞。所以自然对比特币充满了肯定,觉得这是人类金融史上新的一页。
虽然理想很丰满,但是现实很骨感,我面临的最大的一个问题就是——没钱。当时我还是学生,拿家里的生活费,香港房租物价又出奇的高,过得相当紧巴巴的。投资这种事自然就暂时搁置下来了。不过那年上半学期过完,刚好有一个申请半程奖学金的的机会(都是香港各种有钱企业赞助的),于是我申请了一下还真申到了一个一等奖学金(上面还有个特等的),好像是5500港币,对于那个时候的我就是一笔巨款。
我是圣诞假期之前申请的,来年拿到了钱,用这笔钱买了根钢笔犒劳了一下自己,剩下的钱买了整整两个比特币——我记得当时价格好像是不到两千港币,时间有点久远了,肯定有出入。所以本文肯定不是标题党啊,当时那笔钱对于我来说就是超级重仓啊就是有梭哈的性质啊。
肯定就有人开始算我赚了多少钱了——买的时候三四百美元,最高涨到了六万多美元,那这一下就是几十万……这是陷入了思维定式的误区。我不到两千RMB买的,当涨到四千的时候,我就全部清仓了……不要笑,这特么就是《夏洛特烦恼》里的情节,人人都笑大傻春,人人都是大傻春……
但是投资又不是开上帝视角,你倒着活谁都能活明白。当时比特币翻一倍对我来说就是超级无敌从未遇到过的收益了,一个刚毕业工作的年轻人很难把持得住吧?谁知道他后来又涨了那么多翻了几十倍呢。
没有错,这就很真实,总有富佬听我讲完这个故事之后跟我说你要拿得住才行,废话我也知道,但是你富佬拿去投资的钱仅仅是你零花钱的N分之一,可能一辈子也用不到这笔钱,你可不拿得住么;对于我来说投资收益是可以大大改善生活质量的一笔巨款,肯定心态不一样啊,肯定患得患失,拿得住就见鬼了。说白了经济基础不同,别整这些投资技巧没用的。
当然,必须严谨的说,我跟大傻春还是不一样的——毕竟那是喜剧电影的效果。我是卖了之后还是持续关注比特币市场的,后来觉得还有投资价值又买回来了,这又不是一锤子买卖。我后来卖了买、买了卖,也成为了一个令人讨厌的投机者,终于有一天我醒悟了。
那个时候炒比特币正是好行情,也确实赚了不少钱——这没啥不好承认的。但是呢,比特币24h可交易,也没用涨停跌停这种东西,每天价格起起伏伏跟坐过山车一样,你无时无刻不得盯着盘,心情跟着价格起起落落,忍不住了就想微操。
后来这样的日子过了一段时间就觉得挺没意思的,生活就被比特币绑架了,人生的意义就是那点涨跌。当时正好研究了“异化”理论,深受启发,比特币的涨跌“规定”了我的意义,让人变成了“非人”,我不是我为自己而活了,我是为比特币而活了。
人应该是物的主人,人不能是物的仆人。想明白这一点我就清仓了所有的比特币,就保留了一个留作纪念,现在比特币别管怎么疯长怎么暴跌我的内心都丝毫激不起一丝波澜。这一个币当我决定不拿去市场流动时,它就丧失了外界定价的意义,仅仅是一件“物”而已。我想好了,将来有了孩子,就把保存比特币钱包的u盘做成一个吊坠挂他脖子上,这是上一辈送的时代性礼物,作为人类生产力发展以及各种奇妙 社会 现象的一个见证。
D. 如果比特币成真,大量持有比特币的人成为巨富,这合理吗
存在即合理。
除了比特币之外,我们日常生活中还有很多可以让人暴富的项目或投资品,这些都可以让人暴富,也能让人破产,这些在现今的经济社会中都是合理的,“危机”这个词是最好的证明,有危险的地方自然有机会。
暴富的背后
正所谓“杀人放火金腰带,修桥补路无尸骸。”我的意思是当少数人的暴富,背后是有很多人亏损甚至破产,毕竟比特币目前只是一个零和游戏,有资本的地方自然就会上涨,自然就会有炒作,有价值。
一个炒币暴富的投资者背后有多少个亏损、被套、爆仓的投资者,这个值得我们有所思考。
E. 比特币为什么要挖矿
众所周知,“区块链”最显著的一个特征就是“去中心化”,那什么叫“去中心化”呢?比如说比特币,比特币是没有任何权威性机构发行的货币,那比特币的交易行为如何产生记录呢?这就得益于区块链的“节点”,每一次单一的“节点”都会记录这些交易记录,再传播到下一个“节点”上,这样一传十,十传百最终就形成了一张网状的结构,所有的节点都会记录这笔交易。由于这种传播的手段是点对点的,每一个点都是一样大的,没有权威的大点,所以这种方式就做到了“去中心化”。
我们接下来开始分析为什么比特币要通过运算的手法来挖矿。首先,上面我们说到了每笔交易都是由一个点和另一个点产生的,那这两个点交易完成后会向所有点扩散此次交易行为,让所有的点都记录此次交易的发生。但是问题是什么呢?
由于比特币长时间的积累,交易量信息就会爆炸,点对点之间的信息核对数据量就会越来越大。就好比说车多了,如何保证马路上不堵车呢?
所以中本聪就发明了“区块链”这一技术解决了这个问题。什么意思?就是将这些信息进行标准规范的打包,形成一个大的压缩包,以压缩包的形式来进行传递,就保证了在运送的路上不会堵车。
好,那么问题又来了,谁来给这些数据打包呢?所以就出现了“挖矿”,也就是说第一个将一堆信息进行规范化打包的人就会得到奖励,奖励是什么呢?就是比特币。而打包的过程就叫做“算力”,“算力”越高,打包速度就越快。
只有通过运算挖矿的方式才能保证每个点都记录在案,不会出现很大的点来控制局面,从而实现真正的去中心化。
获取比特币的方法有两种,一种是直接购买币,一种就是挖矿。挖矿又分为三种,个人挖矿,托管挖矿,云算力挖矿。
直接挖矿划算还是买币划算呢?
假如币价涨,短期看,挖矿收益直观递增,长期看回本后,每天产出的都是净利润,收益高于炒币。
假如币价跌,短期看,没有本金风险,挖矿每天到账,安心囤币,长期看,挖矿陆续收回成本,本金没有风险,有足够的底气等待币价上升卖出盈利。
不是说比特币为什么要挖矿
是因为挖矿能得到比特币
这是一种获取比特币的最直接的一种手段
当然,你也可以直接买。
而挖矿源于比特币的算法,因为比特币相当于2100万个难题,需要“矿机”来计算解答。
答出来,你就会获得相应的比特币奖励。
因为比特币的价值升值,所以会有很多人趋之若鹜的去挖矿。
这是一种形式,要是为什么获取比特币非要挖矿的话,就像在问
挣钱为什么要上班?
当然,你不上班也可以挣钱,同理,你不挖矿也可以获得比特币,比方说直接买。
就这么简单。
不是比特币叫挖矿,只不过比特币在大家的心目中已然成为了一个代名词,而挖矿就是用一个最低成本来获取数字货币,不需要买卖,来炒现货,挖矿是最稳定的办法。第一枚比特币的发掘就是中本聪在09年以一台最基础的电脑挖掘出来的,目前比特币市值一枚已经高达二十五万。挖矿就是要以最低价格来获取数字加密货币来赚取收益。
1、挖矿指的是矿工投入计算算力竞争区块打包权,因为获得打包权的矿工会获得区块奖励,也就是比特币奖励。这一形式和传统意义上的“挖金矿”类似—-通过投入人力设备来开采金矿,所以称这为挖矿。
2、挖矿的一个作用是维护整个比特币网络的安全,挖矿需要投入算力到网络中,这能保证整个网络不会轻易遭受攻击,保证网络的安全。
3、挖矿更重要的价值是通过竞争的方式来分发新的比特币,保证比特币按照白皮书所说的稳定的产生新的比特币。
你是外行,要么就是操盘手忽悠韭菜,比特币挖什么矿?噱头,哪些是已经编好的程序,哪些矿机一个小盒子,堆放在一个屋子里,一天耗电运行,挖操盘手设计的虚拟矿,按你投资矿机的钱,矿机的大小来决定你挖币的多少,跟融资没有区别,
F. 详解比特币挖矿原理
可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。
比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。
至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。
通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。
在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。
在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。
每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:
交易的语法和数据结构必须正确。
输入与输出列表都不能为空。
交易的字节大小是小于MAX_BLOCK_SIZE的。
每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。
没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。
nLockTime是小于或等于INT_MAX的。
交易的字节大小是大于或等于100的。
交易中的签名数量应小于签名操作数量上限。
解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。
池中或位于主分支区块中的一个匹配交易必须是存在的。
对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。
对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。
对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。
对于每一个输入,引用的输出是必须存在的,并且没有被花费。
使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。
如果输入值的总和小于输出值的总和,交易将被中止。
如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。
每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。
以下挖矿节点取名为 A挖矿节点
挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。
验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。
A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。
一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:
High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000
区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。
然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。
如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。
在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。
UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。
块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。
区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。
A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。
用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。
需要以下参数
• block的版本 version
• 上一个block的hash值: prev_hash
• 需要写入的交易记录的hash树的值: merkle_root
• 更新时间: ntime
• 当前难度: nbits
挖矿的过程就是找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET
上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。
简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。
如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?
比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。
那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。
为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。
举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。
比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。
每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。
比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。
节点维护三种区块:
· 第一种是连接到主链上的,
· 第二种是从主链上产生分支的(备用链),
· 第三种是在已知链中没有找到已知父区块的。
有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。
如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。
选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。
因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。
当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。
分叉之前
分叉开始
我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。
假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。
比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。
分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。
所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。
从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。
比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。
G. 如何没有比特币交易,区块链是否还会产生
会产生,毕竟区块连技术是未来10年不可或缺的,就算没有比特币也有其他币,
H. 关于比特币的谜题(完结)
你可曾想过: 为什么矿机算力越大越好?(既然是解数学题那为什么不是拼谁的算法厉害啊喂!) 比特币的数量总和为什么是2100万? 比特币盗窃是怎么回事? 我不玩比特币,就真的与比特币无关了吗…… 🤔️
关于大众不再感到陌生的比特币,背后还有许多巧妙之处。本文介绍了比特币的基本原理和主要原则,并结合对部分技术细节的剖析,来对上述的一些疑问作出解答。全文较长,约7000字,阅读时间约为22分钟,建议收藏后阅读😁
文章可以分成以下几个部分:
* 比特币先验知识
-- 密码学相关
-- 比特币重要概念
* 交易的生命周期
* 区块链的构成
* 区块链的生长
-- “挖矿”的数学本质
-- “矿工”的收益
* 比特币的共识机制
-- 比特币的去中心化共识
-- “最长链优先”原则
* 比特币安全性
比特币作为第一个去中心化的数字货币,其设计中运用了不少的密码学相关知识,主要包括非对称加密技术、哈希函数等等。理解这些密码学知识,能帮助我们更好地理解比特币中的一些概念及规则。
以下是比特币的一些定义及概念解说,了解过的小伙伴们可以直接跳过~
在比特币这个创新的支付网络中,一个交易的生命周期大概可以分为几个阶段:创建、传播和被验证交织、被打包进区块记录到区块链中、获得更多的确认。图1对这几个阶段做出了示意。
注:
1⃣️一个支付方A在发起一个比特币交易时,会使用自己的私钥对交易信息的哈希值进行签名。因此A向全网广播的内容除了交易信息之外,还有自己的公钥信息、对消息的签名。其他矿工只要利用A的公钥即可对这个交易进行验证,判断是否真的由A创建。
2⃣️”交易传播和交易验证“交替意味着 各个节点基于一定的规则独立验证每个交易(共识基础1) , 一个节点只有认为这个交易有效才会把它继续传播出去。
比特币的底层技术是区块链。区块链系统是一种分布式共识系统,区块链网络中所有的参与节点将就交易的状态达成一致。
区块链到底是什么呢?你可以把它理解成一种分布式的交易的共享账本,以区块为基本单位链接在一起。交易信息将被整理并打包记录在区块中。每一个区块,包含区块头,以及紧跟其后的交易列表。区块头包含3个区块元数据集合:前序区块哈希(严格来说是前序区块头哈希,因为只有区块头被用于哈希运算)、元数据集(包括难度、时间戳、随机数等)、一个基于加密哈希来高效概括区块中所有交易的默克尔树(merkle tree)。了解这个结构,将帮助我们更好地理解挖矿的数学本质。
你可能听说过“挖矿”这个词,或者听说众人争相购买挖矿机器来发家致富。但让人疑惑的是:都说打包区块的本质是解数学难题,但单凭那些看似简陋的机器嗡嗡嗡疯狂耗费电力,就能确保自己解出比特币难题的胜率高了吗?比特币技术原理中,矿工们解决的数学题,难道是一个暴力破解题?
看了一圈,发现矿工们解决的题,还真有点暴力破解的意思,每次尝试解题的过程几乎都是茫茫然、去碰运气的。拼的是谁足够幸运,也拼谁算的足够快;算的快了么,试错次数多,自然胜算也就大了。
解题的背景是这样的—— 挖矿节点通过基于工作量证明算法(Proof-of-Work,POW)的证明运算,独立将交易汇聚到新区块中(共识基础2)。 当矿工从网络中接收到一个新的区块的时候,他发现自己已经在上一轮竞争中失败了,所以立即开始新区块的挖矿过程。为了创建一个新的区块,他从内存池中选择交易来填充区块(加入区块的第一笔交易是一个“铸币交易”,3.2节会给出详相关细节)。接下来是填充字段来创建区块头(包括前序区块的区块头哈希、交易的默克尔树(Merkel树)、时间戳、难度目标值、随机数),然后开始计算这个新区块的工作量证明。
这个计算的过程简单来说是对区块头部进行两次sha256运算,得到一个RESULT,如果这个RESULT满足特定要求,这个人才能算是算对了、才有权利去记账。满足要求的RESULT被称为“工作量证明”(中本聪论文中称为“proof of work”)。
关于这个计算过程,强调以下几点:
第一,区块头部,包含了前序区块头部的哈希、本区块交易信息的默克尔树、时间戳、难度目标值、随机数等信息(见图2)。
第二,哈希运算具有“知道y,无法推出使得h(x)=y成立的x”、“即使输入只改变一点点,输出也会差很多”、“利用任意长度的数据作为输入,生成一个固定长度的确定结果”的特性。所以大家也不知道什么样子的输入才能产生自己想要的结果,矿工只能不断尝试。
第三,前面说到,区块头哈希值需要满足一个特定要求才能成为工作量证明——小于某一阈值,或者说哈希值含有给定前缀。阈值的大小求和挖矿难度有关:挖矿难度是一个动态参数,其值越大,则阈值越小,说明哈希值符合要求的概率更小,矿工每次计算能成为工作量证明的概率越小。比特币有一个自我调节过程——通过对现有的挖矿算力情况进行估算,来对应调整挖矿难度,可以保证区块链每十分钟出一个块,达到控制发行速度的目的。(这个过程的基本思想类似产品笔试的数据估算题,根据“一个提供、一个需要“的思路去构造一个等式,然后求解等式一边的一个因子;想了解挖矿难度系统和调整方式的同学可以进一步查阅~)
综合以上三点来看,为了产生工作量证明,用户基本上会通过调整随机数来碰运气(因为其他字段基本不变)、进行多次运算直至符合要求,别无他法。如此一看,随机数就具有“幸运数字”的意味了。因此,平均来讲,谁计算的能力越强(尝试的次数越多),就更有希望打包块。
你可能会想,矿工这么心甘情愿地消耗算力去维护区块链,是受到怎样的利益驱使呢?简单来说,矿工的收益来源有二:1、计算出工作量证明,创造一个新区块所获得的新币奖励;2、记账矿工费。
当矿工找到工作量证明、打包一个新区块,并把区块传送给他的所有对等节点。 每一个挖矿节点都独立验证新区块、把合格的新区块整合进区块链(共识基础3) ,并把这个区块继续传给自己的对等节点。结果是,只有经过验证的区块才会在网络当中广泛传播,保证了诚实矿工挖出的新区块能被区块链所接纳。挖矿成功的个体节点或集体节点,可以同时获得新币奖励和记账矿工费。
新币奖励类似于货币的发行,其遵循规则是,第一个四年每一个新区块产生50btc,第二个四年每一个新区块产生25btc,第三个四年每个新区块产生12.5btc,如此周期指数递减。按照等比数列求和可知,到2140年,比特币产生的总和约为21000000(所以说比特币数量有限,天生紧缩)。届时,不再随区块的产生增加新的比特币,矿工不再拥有第一项收益。但现实中,由于挖矿成本高昂,挖矿成功的往往是是一个矿池的所有参与者。收益被分给矿池地址,矿池按照组内算力贡献比例来分摊收益的。
记账矿工费又称交易费用,以交易输入和交易输出之间的差值的形式存在;一个区块的总交易费用是对加入区块的所有交易的(交易输入-交易输出)求和。一般来说,矿工费越高的交易,会越快被处理。而矿工费在这里起到两个作用,一个是奖励矿工,另一个是防止主链滥用(防止大家发送交易垃圾信息,因为提出交易是有一定代价的)。
矿工的收益以什么样的形式被验证呢?这里不得不提到 “铸币交易” 。每个计算机节点在进行工作量证明计算之前加入区块的第一笔交易,正是“铸币交易”。这个交易从无到有生成比特币,其金额是新币奖励与记账矿工费的总和,被支付到挖矿矿工自己的比特币地址。如果矿工找到了一个工作量证明使区块有效,他就赢得了这个奖励,因为他构造的“铸币交易”生效了。
关于铸币交易和“新币奖励”,之前有一个读者问我:一个矿工把自己挖到新区块的消息公布出去,他的工作量证明 不会被别人剽窃 吗?
个人认为,至少“铸币交易”能防止这件事情发生。让我们来重申一下计算工作量证明的过程——一个矿工E在新区块里加入了奖赏自己的“铸币交易”,并利用时间戳、前序区块头哈希、随机数、本区块交易的merkle树等信息计算出一个符合要求的工作量证明。
在这个过程中,merkle树啥样子,取决于包括“铸币交易”在内的本区块所有交易信息。因此可以把铸币交易视为工作量证明的间接变量之一。那么,即使其他人拿到了E的工作量证明,这个工作量证明也是带有E的印记的、与奖赏E的铸币交易相关的,别人根本无法纳为己用。
你还可以通过设想以下的场景来加深对共识基础2“挖矿节点通过基于工作量证明算法的证明运算,独立将交易汇聚到新区块中”的理解。
为什么一个挖出新区块的矿工不悄悄使个心眼,在创建区块之初就把铸币交易的金额设成1000BTC呢?原因在于每个节点都是基于相同的规则来独立验证区块的。矿工必须创建完美的、符合公共规则的、正确依据工作量证明方法的区块;而一个无效的铸币交易会导致整个区块无效,并被其他节点拒绝,永远无法成为账本的一部分。可以预想,为了生成这个工作量证明,矿工们已经投入了巨大的算力和电量去挖矿,如果涉嫌欺诈而被否决,其为挖矿付出成本都付诸东流。
综上所述,矿工不能冒领他人的奖励,而拿到奖励的矿工也必须只能拿取符合规定的数额。
比特币的卓越之处,在于建立了一种去中心化的自发共识。这种共识是自发产生的,是成千上万在网络中遵循着共同规则的节点,在异步交互中形成的,不依赖于任何中央机构的调解和干涉。
关于比特币的4项主要共识基础,本文在讲解对应细节时有提及,下面做一个整合:
这四个过程相辅相成、互相作用,形成了自发的全网共识,促使全网节点组合出可信、公开、权威的总账。
你可能会想,比特币是一个去中心化的、基于大众信任的、依靠众人力量运转的一个东西。万一有一部分矿工被坏人收买了咋办呢?“51%攻击”指的又是什么?比特币交易所要求的“6个确认”又是怎么回事?
这里首先要提到比特币的一个规则“ 最长链优先 ”。意思是, 比特币的账单链在出现分叉的时候,每个矿工会独立选择长(累积了最多工作量证明)的链条,在上面继续挖矿工作(共识基础4) 。
这个原则主要涉及到两个问题:
当有两个矿工A和B同时挖矿成功(算出符合要求的数学答案)时,他们分别把自己计算出来的工作量证明作为下一个块的前序区块哈希,生成一个块衔接到原有的链后面,由此出现了两个分支。
这个时候,这两个成功的矿工广播了自己打包成功的消息。由于区块链是一个去中心化的数据结构,区块消息到达不同节点的时间点不一致,故不同的节点可能拥有不完全一样的区块链视图——有的矿工会先收到A的消息,有的则先收到B的消息。为了解决这个问题,收到消息的矿工们遵循一个原则:选择并尝试延长最长的链。
因此,这两条分支会各自成长一小段时间,直到他们的长度出现差异(不可能长度一直相同),比如说其中一条链的矿工们,更快地打包在支链后面又加上一块。按照“最长链优先“的规则,较短的链会被抛弃,原本工作在短链上的矿工们都回到长链上工作。
换言之,分叉只是不同节点暂时的不一致现象,当新区块被加入到其中某一分支时,最终收敛将解决这一个问题。[读者可以思考一下,为什么区块链被设置成每十分钟挖出来一个块:如果时间短了,是不是就增加了分支产生的次数?如果时间长了,是不是交易结算的效率就太低了?]
双重支付的本质其实也是区块链的分叉,但这种分叉却是“非自然恶意蓄谋”的产物。
我们假设小敏是密谋双重支付的一方,她把自己仅有的10BTC先给小强、交换一块黄金,待这条交易信息P被打包进区块Q后,她从小强手中拿到了黄金。这时,小敏使了个心眼,她想偷偷抹去、篡改区块Q上的交易信息P,“白嫖”这块黄金。为了实现这样的目的,根据“最长链优先”法则,小敏必须剔除该笔交易P后、重新进行结算工作,集中算力来形成分叉,并让分叉以更快的增速超过并取代Q所在的主链。如果小敏确实能让分叉更长,分叉就成为了主链,其他节点也会转向新主链上继续工作。这样,小强付出了黄金,却没有收到这10个比特币,“赔了夫人又折兵”。
在这个过程中,小敏需要和原链进行“抗争”,使新分叉成为最长的主链,这被称为“共识攻击”。“共识攻击”本质上是对下一区块的争夺,攻击方越“强壮”、哈希算力越大,就越容易成功。
“共识攻击“成功的可能性有多大呢?
大多数比特币交易所规定,一个交易传送到区块链上后需要6个「确认」来完成验证该笔交易。这一规定的根据是,假设意图造假的矿工拥有10%的算力(挖矿成功概率0.1),那么造假矿工要构造另一条伪链实施长度超越,必须至少成功挖矿6次。那么原链被取代、被抛弃的概率约为0.1的6次方,趋近于0。你可以把比特币理解为地质构造层,表层可能因为季节变换而有所改变,甚至可能被风刮走,但一旦深入到地下,地质层就能更加稳定、不受干扰。
而假设有一群拥有了51%算力的矿工,他们控制了一半以上的全网哈希算力,可以故意在区块链中制造分叉、进行双重支付交易 。但事实是,全网哈希算力的大量增加,个体矿工几乎不可能控制哪怕1%的哈希算力了(但矿池带来的算力集中化控制,存在一定的风险)。更何况,如果真有拥有如此强大算力的组织,他完全可以凭借自己强大的算力投入到挖矿中去获取开发新区块所获的的比特币奖励,诚实挖矿比双花更有利可图。
尽管实际上并未出现51%攻击的问题,但不可否认的是,算力的集中违背了比特币去中心化这一初衷,并成为其继续发展的一大隐患。
一个系统的安全性,往往取决于系统安全的最薄弱环节,这也就是所谓的“木桶原理“。与区块链系统相关的安全性问题包括但不限于以下几项:
(1)在区块链上被广泛使用的公钥系统基本上是安全的,但量子算法在理论上能够破解公钥系统;因此,区块链的算法安全性是相对的。
(2)区块链协议本身存在逻辑缺陷,例如受到黑客攻击的区块链系统共识机制。
(3)所有数字货币系统高度依赖私钥,私钥在存储、使用方面的安全性成为区块链系统安全性中至关紧要的一环。
尽管区块链是去中心化系统,但目前绝大多数数字交易所却是中心化的,存在着人为安全漏洞及技术安全漏洞。这些数字交易所拥有存放大量加密货币的私钥,这对于黑客来说无疑是最瞩目的目标;只要黑客偷走了这些私钥,就可以获取到这些加密货币。
作者会继续阅读相关资料、不断完善本文,目标是完成一篇通俗易懂的比特币科普文章。:)
**本文系网上信息与个人理解的结合,如有偏差及误读,欢迎读者指出。也欢迎给出关于文章结构上的指导~
I. 没有比特币的区块链能够独立运行吗
我就几句话解决两者之间的关系,啰嗦的回答对小白用户太不友好了:
1.区块链是比特币原创的核心技术。在比特币被发明之前,世界上并不存在区块链这个东西。
2.比特币发明之后,很多人参考比特币中的区块链实现,使用类似的技术实现各种应用,这类技术统称区块链技术。包括币易平台上各种精品币的诞生,都是同样的道理。
现在楼主看自己的提问,是不是瞬间清晰了。
J. 2021-12-01比特币大笔交易需要6个区块确认
很多刚刚接触区块链不久的小伙伴,可能看到“比特币交易需要6个区块确认”会很疑惑。为什么需要6个区块链确认呢?
为了避免双花造成的损失,一般认为,等 6 个区块确认后的比特币交易基本上就不可篡改了。也就是说,如果小黑发给大白的 666BTC 这笔交易被打包在了第 N 个区块(第1个区块确认),大白等到第 N+5 个区块出现的时候(第6个区块确认),这笔交易基本上就不可篡改了。
一般来说,确认的区块数越多,越安全,被 51% 攻击后篡改、重组的可能性越低。至于我们经常看到的比特币交易 6 个区块确认后就安全了,这个数字 6 并不是硬性规定的,只是说有了 6 个区块确认,被篡改的可能性非常低,因为黑客或者攻击者目前很难掌握大量的比特币算力来做恶。
比特币平均每 10 分钟打包一个区块,6 个区块确认平均下来需要 60 分钟。那我们是不是每一笔比特币交易,都要等上 60 多分钟呢?
其实不是。对于小额交易,不需要等待 6 个区块确认,因为比特币发生 51% 算力攻击的可能性很小。一般来说,小于 1000 美元的比特币交易,1 个区块确认即可;介于 1000~10000 美元的比特币交易,一般的交易平台充值、提现会要求至少 3 个区块确认;介于 10000~100000 美元的比特币交易,基本需要 6 个区块确认;大于 100000 美元的交易,确认的区块数量越多越好。