“几乎所有模型都是错的,只有一些是有用的.”
统计学家George EP Box创造了这个短语来描述概率模型,它也完美概括了我们用来理解周围世界的所有心智模型。
人类的时间精力珍贵而有限,而宇宙却极其复杂,难以摸透。 因此,我们被迫在不完美的心理模型下思考,心理学上也称此为“启发式”。 无论我们对任何特定主题的理解水平如何,这些模型和想法都是错误或不完整的。越是深入任一主题,George EP Box的格言所指出的问题就越明显。
对于网站的访客来说,不需要了解如何编程就可以浏览网页、发表自己的看法,就像不需要了解内燃机就能驱动汽车一样。 我们可能有一个近似但不精确的心智模型来解释它们是如何工作的。
同样,Web开发者本身也不需要理解TCP/IP协议及其它互联网核心协议就可以在互联网上构建应用程序。 我们经常使用他人编写的代码并将它们整合到我们自己的应用程序中,而不必知道它们的原理。软件升级和技术上的进步,通常都可以被认为是在基于一系列”黑盒”构建的,每个黑盒里都有一个更抽象的谜题。
对于那些没有投入时间去真正掌握特定技术内部原理的人来说,感觉这可能是种魔力。 然而,随着你越深入学习,它所给你的魔力感就越少。
《区块链编程:驱散魔力感》,这是Jimmy Song为我和他工作坊的其他学生提供的课程,吸引人们深入学习区块链编程是他开办这门课程的初衷。
环球区块链布道者
作为比特币核心代码仓库的贡献者、早期的比特币钱包软件Armory的前副总裁,Jimmy Song在加密货币领域是非常出名的。
他定期发表加密货币相关文章和视频,在加密货币领域享有极高声誉,同时他也是一个热衷于改进比特币的人。
他指出不足:
“开发者的培养将是该生态系统发展所遇到的最大瓶颈。”
在编程区块链,Song致力于给感兴趣的开发者提供有深度的“区块链速成”课程,以了解比特币背后的魔力和区块链的实际工作原理,课程内容包括有限域、椭圆曲线密码学、交易解析和验证工作量证明等。
“连续两天大量地灌输知识,”Song解释说。
作为一名对加密货币着迷的Web开发者,我无法抗拒该课程对我的吸引。
由于区块链是一种可影响全球的全新技术,因此该课程也将在全球各地开办。 区块链编程课程已于中国、加利福尼亚州、北卡罗莱纳州和以色列等不同地区开办过。
“如果这样做能培养出更多的开发者,我想在尽可能多的地方开办我的课程。” Song解释说。 “通过在世界不同地区开办课程,我希望世界各地的开发者可以创造出更多的东西,让世界各地可以诞生出更多可以改进比特币的企业。”
最近一堂课程开办于佛罗里达州的坦帕市。 虽然坦帕市不是国际化城市,但坦帕市有着充满活力的加密货币社区和新开设的BlockSpaces——这是一个致力于区块链项目的共同工作空间,也是开办课程的地方。
选择在坦帕开办课程非常地有成效。 这次Song所办过的最大一次面对面教学,有30名学生参与。 这些开发者有的跟我一样来自阳光州,也有的来自华盛顿、加利福尼亚州和巴西等各地。
揭开区块链的神秘面纱
区块链是科技领域最热门的流行词,它可以广泛应用于各个领域。调查ICO和区块链落地应用,你可以发现区块链各式各样的用例:从健康数据跟踪到香蕉溯源。 无论你有什么问题,区块链都可以帮助你解决。
但区块链究竟是什么?它是如何工作的?是什么使它如此特别?
人们普遍认为,区块链是比特币的底层技术,是一种分布式和防篡改的数据库,可被广泛应用。 就像美国在线或MySpace,比特币也可能会很快被那些更好地利用该技术的竞争对手所超越。
但是区块链是一个全新的、本质上不同的技术,所有旨在简化它的同类技术及生态系统都会很快失败。
区块链的独特性使其特别难以理解。通过扩展联系到项目上,很容易想到它会变成各种问题的灵丹妙药,但我们却不知道它是如何运作的。
我们常常谈到区块链的“不变性”和“去中心化”,这些特性是区块链不可思议的被动属性,我们也可以将这些属性应用到任一应用程序中。
就拿比特币这个概念来说,它本身就是一个抽象概念。 比特币协议所追踪的价值单位是聪(satoshis),而不是比特币个数。 人人皆知的比特币最小单位——聪,实际上是比特币协议的唯一单位。
对于中本聪来说,把一个比特币等同于1亿聪是一个武断决定,后来聪这个单位成为了所有基于该协议所构建的钱包软件中衡量比特币数额的标准符号。 即使是某种“币”或“代币”本身也只是一个完全抽象的概念。 Song表明,比特币的交易结构有一个引起我们注意的惊人细节。
当涉及货币转移时,人们通常会将X单位的价值货币发送到收款人的地址或账户。 然而在原始的比特币交易中,没有任一聪被转移。 简单地提及未花费的交易输出(UTXO,Unspent Transaction Outputs),它是交易进行的基础。 UTXO可以被认为是区块链账本中的借方分录。 显示在钱包上的比特币总量是所有地址UTXO的总和,而不是单个地址所拥有的资金。
此外,如果单个UTXO所代表的价值低于用户尝试发送的价值,则交易中必须包含多个UTXO才能发送成功。 但是UTXO也必须被完全发送,这意味着如果发送的金额比单个UTXO所代表的金额更小,你必须填入一个“找零”地址,将余额发送到改地址上以实现找零。
正如Jimmy Song向我们展示的那样,没有代币被来回发送。 更确切地说,这是个概念隐喻。 区块链就像一个神奇的账本,其中细节被钱包软件完全抽象形容掩藏了起来。
“一旦你理解了这些原始交易,就像进入了黑客帝国(matrix)一样,”Jimmy说。 (《黑客帝国》是好莱坞著名的科幻电影,片中所有的人都生活在数字模拟的虚拟世界。一切的一切都仅仅是matrix中的数据而已。)
形象化
将这样的抽象形象化,显然更方便人们理解的货币面值。 这有助于简化其背后蕴藏的复杂原理。
单位偏见是一种心理错误。以单位偏见为例,如果两个加密货币拥有完全相同的市值,但他们的供应和面额使得你倾向于购买完整个A币而不是购买分数个B币,因为我们更倾向于拥有整个币而不是分数个币。而这些加密货币的面额必然是完全随意定的。
还有其它细节被简化了。
比如,比特币的所谓“不变性”并不是某些特殊代码行的结果,并不可以简单地复制并粘贴应用到任何应用程序中。 它是不可思议的复杂数学和经济激励相互作用的结果。 区块链的结构基于一种称为哈希的计算。 计算机很容易就能验证哈希的答案是否正确,但难以从头开始计算出正确的哈希答案。
于是矿工们开始了一场哈希算力军备竞赛,不断地复制他们的算力,这样随着时间越流逝,想依靠算力来篡改区块链就越不切实际。因为矿工有一个强大的利润动机:比特币的出块奖励。
然而认为比特币区块链完全不可变是不准确的。在51%攻击等特定条件下,它肯定会被篡改。 但是,在代币无价值的情况下,同时也不奖励保障区块链安全的人,这样的任何区块链是不可能实现自身的不可变性的。
“比特币驱动区块链,它们是反过来的,”Nick Baldwin同学总结说。
透视感
你越深入研究区块链,它所给你带来的魔力感就越少。 你就会意识到,所有的事情都一样,没有真正的未解之谜,只是我们没有足够的时间去深入研究。
当我们的简单而有缺陷的模型被更复杂的模型所取代,就会发生更有趣的事情。 你可能会认为你的惊奇感随着魔力消失而消失。 有时候确实如此。 你会敏锐地意识到你实际上知道多少,还有多少事情待解决。 这样的幻灭感是一种很自然的反应。
但是,通过对自己施压,你可以获得一种更有价值的东西:一种透视感。 剩下的工作非常艰巨,但我们前人所完成的工作也同样艰巨。
这意味着我们已经站在巨人的肩膀上,因此我们面前的所有挑战都可以被征服,就像前人那样征服它们。
有了这些知识和观点的转变,我们就会产生一种专注感。 我们所能做的就是解决下一个问题,向前进步。 其他都是无关紧要的。
正如对我们影响极大的课程结束时Song告诉我们的那样:
“智者将生活简单化,而不是复杂化”。