让区块链做你的烂笔头

好记性不如烂笔头。有过制定计划经验的你应该体会过记录的重要性,不论是记录金钱的收入与开销、帮助自己养成良好的理财习惯;还是记录时间的花费、学会更珍惜自己的注意力...等。

我每隔一段时间会下载不同的记帐app,却从来没能够成功维持长期记帐的习惯,归根究底有两个原因: (1) 如果没有在支付当下就记录下来,事后要再记是很困难的; (2) 要填的内容太多太繁琐了。

由于记录每一笔开销会耗费过多注意力,所以我选择最简单的"预算控管"方法,把要存起来的钱直接拨到另一个户头隔离起来。这种方式虽然执行起来容易,但却不容易掌握金钱流动的轨迹,也无法根据过去的行为模式来调整自己的消费习惯。我反思自己无法持续记帐最大的困扰点,就在于金流(价值流)与信息流不同步所致。

区块链技术就是实现价值流与信息流同步的一种方式。帐本自动同步能够提升记帐的效率与正确性。如此一来第一个问题就解决了,我根本不必动笔。那第二个问题呢?区块链有办法确保都记录下来我需要的资讯了吗?

帐本最主要的功能就是:检索(retrieve)。好的资料库必须让检索"不重复、不遗漏"

记帐最根本的原则,必须谨守奥卡姆剃刀定律(Occam's Razor)。Occam's Razor的核心概念为"如无必要、勿增实体"。重点在于化繁为简的功力。

以下让我们透过介绍区块链的资料结构,来看看区块链是怎样做到"不重复、不遗漏"的,或许你会对它如何替你记帐多一些基本认识。

一个区块可分成四个部分:容量大小(Block size)+区块头(Block Header)+交易数量(Transaction Counter)+相关交易资讯(Transactions)。


图片发自简书App

第一部分、容量大小(Block size):这跟一般人的记帐概念比较不一样。传统记帐方式重视的是交易内容本身,你可能会觉得,干嘛针对容量去做记录呢?

因为容量大小直接影响到的就是矿工获得的报酬(你每次交易所付的交易费就是根据交易的容量大小计算)、以及交易处理的速度(受到矿工硬碟容量带宽限制等影响),两者都是区块链运作机制的核心。

根据《精通比特币》(2014年出版)中提到的数据,平均每个交易至少占250bytes(也可能更大),平均每个区块至少包含超过500个交易。最早的时候比特币很便宜,发出垃圾交易成本很低,为了防止恶意的干扰,中本聪才设计了一个1MB的暂时上限。如果交易数量成指数级增长,原有的限制将不敷使用,这时就会牵涉到容量扩充的问题。


第二部分、区块头(Block header):

一般人对元认知能力(meta-cognition)这个词应该不陌生,元认知能力指的是对自己思考过程的认知与理解。人有元认知能力,资料也有所谓的元资料(meta-data),元资料的定义就是"资料的资料(data about data)",主要是描述资料本身的属性,而区块头记载的就是元资料,元资料是给电脑读的,不是给人读的。

区块头(block header)包含了什么呢?

1)版本号:为什么交易纪录要放一个版本号?版本号是干嘛用的?

就像所有的软体都需要不断迭代更新版本,追加新的功能、优化现有功能。把版本号写入是为了说明清楚:针对此区块,目前大家遵循的交易规则是什么。当新版本出现后,如果只有一部分用户升级了软体,而另外一部分没有升级的话,造成的后果就称为区块链的"分叉",届时会有两种不同的版本同时运行。

2)前一个区块的hash值:每个区块中都包含前一个区块的hash值,这样才能把每个区块连结在一起,形成区块链。有点像记帐时用流水号控管的观念,如果中间有断号、序列不连续等情况,很容易就能被发现。这部分是形成区块“链”最关键的连结。

3)Merkle Root:用途是把这个区块的所有交易打包在一块。因为原始交易量非常庞大,可能包含数千笔,这部分有点像是把很多个档案封包、压缩成一个数值表示,大大节省了存储空间。

4)时间戳(Time Stamp):区块产生的时间点。在交易上打上时间戳有助于溯源(trace back),它可以提供历史轨迹,自带审计功能。


5)困难度目标值(Difficulty Target):每个区块都是由矿工努力挖矿产生的,而比特币最主要的挖矿机制是采用工作量证明(Proof-of-Work)。但要证明工作量,首先必须有一个目标值。下面用个简单的类比解释。

假想你在玩一个掷骰子游戏,手拿两颗骰子。你先设定起始目标值为12,接下来你开始掷骰子,只要掷出小于12的数值,就完成了工作量证明,完成的概率是35/36。

下一轮,目标值被改为11,这时有三种情况你会无法完成工作量证明,即当你掷出(6, 6)、(6, 5)、(5, 6)时,完成的概率会降为33/36。

以此类推,当目标值越来越小时,要算出低于目标值的难度就越大。困难度目标值的大小会动态调整,目的是尽量维持在让矿工们每10分钟产出一个区块。

6)Nonce值:是一个初始向量,为随机值。是工作量证明不可或缺的数值。矿工平常在做的,就是不停的变更区块头中的nonce数值,并对每次变更后的区块头做hash运算,将结果与困难度目标值做对比,如果小于目标值,则解题成功,工作量证明完成。

第三部分、交易数量:单纯的计数器功能,记录一个区块中包含多少交易。

第四部分、交易本身的资讯:里面包含的资讯很多,不过也比较直观,和一般拿小册子记帐的概念相近,包括我付给哪个地址、金额多少这类的。交易本身的资料结构如下:


小记

"时间总是在过后才显得飞快,一块钱总是在月底显得特别珍贵",这种感悟都是没有记录导致的窘境。

区块链技术提供你一个交易当下不花时间写笔记、事后又能快速复盘的途径。

以上大致介绍完区块链的资料结构。我们把一个区块(block)看成一个基本的记帐单位,你也可以核对自己的记帐app、小小总结一下区块链的哪些栏位强调了不重复、不遗漏的特性?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容