读完本文可以收获什么?
- 基本的对区块链技术的理解
- 你可以简单快速的解释区块链技术
懒得看文字的人可以直接看一些科普视频就不用读文章啦:区块链知识快速入门
重要假设:读者已经理解基本的比特币(bitcoin)的功能,知道钱包,转账,矿工等基础概念。本文不是技术科普,不讨论区块链的技术定义,技术实现,如果有兴趣的人可以参考 bitcoin whitepaper比特币白皮书 / Mastering Bitcoin eBook
最基本的信息:大家口中说的Blockchain被翻译为区块链,它是bitcoin比特币的底层技术和实现。在比特币运行之后人们发现区块链结构和特性的特殊之处,有运用到除了金融和支付之外其他行业的潜力,于是区块链技术被单独提炼出来进行研究和讨论。
比喻1-- 分布式数据库
区块链是可以看作是一种信息储存技术,是一个信息储存媒介。它是一种分布式的数据库。你的数据会被分布在多台计算机上(计算机就行,不一定要是服务器)。
其中特别的点就是,每台计算机储存的内容一模一样,完全相同。一台的内容丢失了其他所有的都还有一样的内容,不必担心数据的丢失。这是怎么做到的呢? 区块链的形成和维护需要多台计算机,利用共识算法(consensus algorithm)可以在限定时间内达成共识,同步他们所接受和储存的数据。理论上说,计算机越多,这个区块链就越稳定越公平(可能存在的坏人掌控整个网络的可能性降低)。
共识算法浅显的说就是,对于区块链中接收到的数据,你要进行什么要的操作和计算,怎么样决定一个数据是可疑数据还是可信数据,什么情况下放弃一个数据,怎么情况下储存一个数据。什么时候你要接受来自你附近的计算机给你的数据,什么情况你可以发布你的数据让附近的计算机接受储存等等。
所以一旦你的数据进入了blockchain,它就被广播一样的发布给所有区块链中的计算机,分布式的被储存起来,无法丢失,无法改变。
比喻2 -- 账本
在我们的日常生活中我们都会接触到账本,其基本作用就是保存不断新增的交易记录。最直观的例子就是我们的银行流水账单。虽然各个不同账本的具体内容可能有所改变,但是里面最基本的会记录:时间,交易进行双方(交易来自哪里,去向何方),交易进行效果(比如存钱,取钱,转账等等)。其他具体的更多的内容会根据不同的场景细微改变。
区块链的一大特性就它就是一个大账本,区块链中储存的数据都是交易记录(transactions) 。整个区块链中任何用户产生的任何交易,都不仅仅被你自己的计算机记录,而是被整个区块链的每一台计算机记录。也就是每一笔交易都会被记在账本上,而整个账本在区块链的任何一台计算机上都是可见并且一致的。换句话说,你在区块链中进行的任何交易都是透明的,公开的,加上比喻1中提到的内容,他们也是不可变的。
比喻3 -- 日志(log)
航海日志,打卡记录,借书记录卡等各种日志在我们的日常生活中非常常见。
现在流行打卡我们就用打卡来比喻吧!想象一下你有一个群打卡记录本,大家都把自己的打卡内容发出来,你收到内容之后,验证他们的可信度,把几十条可信的打卡记录写入一本日志本的一页纸上。在这里,写入本子的就是已经被认证属实的内容了。为了以防别人对这个记录进行篡改,你把这个记录找一张照片,然后贴到下一张记录的最上方。以此类推,每次写满一张纸你就给这张纸照个相,贴到下一张的上面,然后下一张纸继续记录打卡内容。 在以后的日子里,新的纪录不断增加,而旧的记录没有人能够改变,因为在新的页面总是有一张旧记录的照片,告诉你旧记录长什么样,每个人都可以验证这个内容。
区块链里面的计算机们就是这样工作的(我们叫这些验证内容和写入内容的计算机矿机miner)。它会读取用户产生的任何一笔交易,进行一个基本的验证和计算,看看这笔交易是否能被储存。如果可以,固定数量的交易将会被绑定在一起,储存在一个区块中,每个区块的会根据这些交易产生一个哈希值(Hash)。一个区块写满了计算机们会留住前一个区块的哈希值,然后把新内容写到新的区块里,等新区块满了,又进行运算产生新的哈希值(Hash)。哈希值简而言之就是一串固定长度的加密数据。
用户交易 = 打卡记录,一个区块 = 一页纸,哈希值 = 上一页纸的照片。由于哈希值的传递,也就是照片的存在,每个之前产生的区块都不可能被改变了。哈希值就是区块之间的链接。想象一下你有一张照片里面有一张照片,而它里面又有一张照片,这张照片里面还有一张照片, 无穷无尽。。。这样的情况下你还敢篡改任何一个之前的记录吗?基本完全不可能了。
比喻4 -- 一致且持久的通讯网络
在区块链中,由于共识算法的存在,所有的计算机都会和其他计算机同步,或者一直在试图达到同步的过程中。任何一台机一个点接收到的数据都会被同步传递(或者说广播)给整个区块链的每一台计算机。从这个角度上看,区块链可以算是一个通讯网络,信息一投放进去,就会自动传播,并且被永远的锁在里面。
所以综合起来,区块链技术相当于一个,持久可靠有内部通信和同步功能的分布式账本日志。
经过以上四个比喻,亲爱的读者们,对你们而言区块链技术有没有比较容易理解了呢?
第一次写和区块链技术有关的文章,欢迎大家批评和指正。
如需转载请经本人允许。谢谢。