关于区块链技术的学习笔记(一)
本文是三个月前在公众号上写的文章,文章内容大多来自陈皓老师的专栏《左耳听风》,想了想更应该放到极客时间这里。本文是一篇学习笔记,仅供交流参考。
上个月筹备着买电脑,去各大商城看了圈,发现装有 RTX3060/3070 显卡的笔记本电脑都要比指导价贵了一千五到两千块钱,而且大多你还抢不到货。至于原因,一方面是芯片自身的产能危机,甚至一些汽车厂商为此不得已暂停生产一段时间;另一方面则是比特币价格大涨,很多所谓矿老板用这些高端显卡去挖矿谋取利润,一时间一卡难求,到处都缺货。以前总是听说挖矿、比特币之类的,但具体怎么回事我也说不出个所以然来,最近正好在陈皓老师的专栏(左耳听风)上看到了他写的关于区块链技术的介绍,据此整理了一份学习笔记,供日后参考。
比特币
说区块链必然要谈比特币,这是一种数字货币,号称有以下几个特性:
1.去中心化。这意味着没有中心服务器,整个系统直接由用户端的电脑构成。技术难度上非常大,需要有人来跟你一起玩。
2.数据防篡改。所有交易记录全量保存,并公开给所有人,而且还被加密和校验,篡改的成本会非常大。
3.固定的发行量。不会像中央银行那样印钞票,以免造成通货膨胀。
理论上讲,整个系统不需要那些有钱有权的大组织,不需要银行、中介机构、支付宝等中间机构,人们可以通过一个不受任何人控制的 P2P 金融系统进行完全自由和可信的交易。当然,对此持相反观点的人认为目前都在疯狂地炒作概念,没有实质的价值,从目前区块链的应用来看,也没有颠覆什么。
去中心化的比特币交易处理流程如下:
·首先,需要交易的用户把交易传到网络中
·然后,网络上有些机器叫记账节点,它们通过比拼计算力的方式竞争记账权力,这也叫挖矿
·获得记账权的结点,会把待记账的交易进行计算打包并向全网广播。收到新的记账包的结点会对其进行验证,通过后加入自己的区块。
整个比特币的世界是没有服务器的,完全是靠大家用自己的电脑拼出来的一个分布式系统,这种去中心化的网络要正常运行,得有一个前提假设:网络中任何结点都是不能信任的,他们中的任何一个都可能作恶。所以在设计的时候,任何人都可以拿到所有的数据,因而数据要能很容易被验证合法且无修改,而且也要很难被别人修改。基于这个设计,比特币使用了两个技术:区块链和工作量证明共识机制。
区块链
区块链也叫 blockchain,会有一个一个的区块,区块中包含一组交易信息,每个区块都有自己的 ID,它们通过记录前一个区块的 ID 来形成一条链,如图所示:
图片
简单来说,每个块的 ID 通过内容来生成,所以内容有任何变化,这个 ID 值都会不一样。此外生成 ID 的内容中还包含上一个块的 ID,所以只要上一个块的内容变了,自身 ID 也变了,后面指向这个块的 ID 也得跟着改变,从而导致了修改成本的提升。所以越旧的区块修改难度越大(因为要改很多区块),所以越安全。
评论