您的当前位置:首页正文

“上链”究竟上的什么

2024-11-11 来源:个人技术集锦

“我们也要上链!”
“为什么要上链呢?”
“还没想好,先上再说吧。”
“。。。。。。”

就像之前提出的“互联网+”一样,不管什么行业都可以往上靠。现在是不管是什么行业都想“区块链+”,只是觉得大家都上链了,自己不上就out了。

那么“上链”究竟上的是什么呢?
我们先从最原始的BTC区块链说起。

大家知道,区块链的本质其实是一个分布式数据库。当然,它的特点在于除了物理上的分布式外,逻辑上也是“分布式”的。这个我们在上篇中,已经做了简要的分析。
既然是数据库,那么它里面记录的肯定是“数据”。那么都可以存些什么数据在里面呢?
最早的区块链——BTC区块中主要就是记录的BTC交易数据。
是的,在它的每个区块中真的是记录得一条条的转账交易记录,也就是说BTC这个货币仅仅是作为一种数据记录在区块链中。
虽然它本身并不是构成区块链的前提条件,但它在区块链体系中又是不可或缺的一环,因为要靠它来促进新区块的产生(也就是挖矿)。因为数据是记录在区块中的,如果没有新的区块产生,那么就无法记录新数据,整个区块链就几乎失去了生命。(为什么说几乎,因为已经上链的数据还是有价值的,相当于一份可靠的存档)
所以现在的每种区块链,基本上都有自己的货币,以至于很多小白用户直接把区块链和币划等号。区块链,货币,傻傻分不清楚_

那么区块中除了交易记录外,还可以存别的数据吗?毕竟现实中几乎所有东西都可以数字化,变成数据,然后存储。
当然是可以的,但是,有大小限制。
每个区块是有固定大小的,所以才导致了当交易频繁时,每个块只能记录一部分交易记录(优先记录手续费高的记录),剩下的只能等下个区块被开采出来了。
区块就像一趟小巴,每条交易记录就是一个个乘客,巴士每10分钟(BTC的区块产出速率大约是10分钟)一趟,乘客太多挤不上的话,就只能等下一趟了。
如果把小巴换大巴,是不是可以解决一些问题?没错,是可以,而且已经这么做了。这就是2017年8月1号著名的BTC硬分叉,新的“大巴”名字叫BCH。
BCH直接将BTC的1M区块大小扩展到了8M。(一辆顶八辆,这已经不是大巴了,分明是城铁嘛,有木有-_-)
虽然新的区块链提高到了之前的8倍容量,但是如果存储交易记录之外其他数据而言,还是同一个量级,根本没什么区别嘛。
那能不能不限制大小呢?当然不能,因为区块链是物理分布式啊,所有节点都要保存全量区块数据的!别说不限制大小,就是提高几倍,对全网节点都是一个考验。

那么我到底能存多少数据上去呢?拿BTC来说,毕竟整个区块的大小只有1M,每次留给你的只有可怜的40byte大小_
40字节?!存句话都不够用啊,这有个毛用啊!

别急别急,先说个题外话,在2009年1月3日中本聪创造的第一个区块,即创世区块中,就记录了一句话:

TheTimes 03/Jan/2009 Chancellor on brink of secondbailout for banks
(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘)

当时正是英国的财政大臣被迫考虑第二次出手纾解银行危机的时刻,这句话是泰晤士报当天的头版标题。中本聪将这一事件在第一个区块链中永久的保留了下来。这也算是后来一些BTC刻字服务的鼻祖了。

回到刚才的问题,40字节有什么用呢?这就要从区块链的目的说起。
如果你看了我上篇的话,应该能理解区块链的核心目的是:不可篡改和毁灭。
区块链最主要的作用是能够保证上面的数据不被篡改。现在通常我们检验数据是否有改动,会通过对原始数据做md5之类的hash摘要,然后通过对比前后摘要值,来判断原始数据是否被修改过。而hash值又是很小的一个字符串(md5是32字节,sha1是40字节),这就完全可以写到区块中啦。
说的这里,相信就不用再多说了吧,遗嘱公证、财产公证、版权问题等等,大家应该可以自行继续广开脑洞了。
至于不被毁灭嘛,这个只能做到上链数据本身不被毁灭,链外数据由于不在分部署数据库中,所以也没办法。

上面只是最原始的BTC区块链,就像它的设计者所说,BTC是一种试验性的货币体系,所以其主要还是起到“货币”作用。
若真要落地区块链应用,直接接入BTC区块链代价就有点些大了,毕竟除了直接当货币使用外,其他功能都要自己从头实现逻辑。所以实际中一般都会基于更高级、更完备的以太坊等区块链开放平台。这些区块链平台基于区块链“不可篡改”的特性,引入了无需第三方介入下的智能合约概念,加上其具有图灵完备的可编程体系,所以能做的事情就更多了。所以基于以太坊的“上链”,基本上说的都是“上合约”。BTC区块链仅仅是“数据”上链,而以太坊除数据外还直接可以“逻辑”上链。

关于智能合约,日后有时间再细聊吧。

–EOF–

Top