其实,上面几个答案的回答都是不太对的。简单说:区块链是通过算力和共识来做到不可篡改的。
数学上,是密码学来保证。
所以,大部分是好人,显然不对。(比如矿霸一人的算力可以超过50%,也就可以改变)
算法上,就是验证一个结果比产生一个结果简单就OK.(密码学常用大数相乘,比特币用的是移位相加sha256)
比如:我出一个题目,一个乘积是14位数,它的因数我们拿去开方,然后小数前5位加起来为0
求这组因数的解。(这就是大数相乘,比特币是产生的前20位是0)
这组解加上目前的时间戳,产生下一个数的题目。
当矿工算出一组解后,他会向互联网宣布答案,并且把数据库信息(买卖信息)挂在这个答案上,
(我目前算出来一个答案了,这个答案在ZZ时刻,我收到的交易信息如下。。。)
大家验算后,认同这个答案,于是就承认这个区块的正确性,矿工于是获得钱的奖励。
所以,这个数据库是各个区块数据通过时间戳连成一串,类似一个链,这是区块链。
所以,区块链是通过随机+不可逆计算+时间戳,来保证不可篡改。
但是,如果你主动宣布我要篡改这数据库,并且公示出来,这就是分叉。
(比如,eth,就主动篡改数据库,宣布某些字段的钱无效。)
区块链所以是一个数据库的不可篡改应该加个限制:被共识的。