jackone ? 2019年11月18日 am10:04 ? BSV百科 ? 阅读 44 作者:何岩 0.前言 What?写的是什么? 定位。即,从全局视角,给各技术概念以定位。 Why?为什么要写? 因为,自己学习比特币技术的时候觉得费劲,所以想要解决这个问题。 为什么会学着费劲呢? 因为,学习资料不讲概念的定位(from where to where),直接上来就讲概念的描述(what)。 我迷失在了细节的海洋,见树不见森。 如果没有讲定位的书,那我就自己来写吧,因为创造是最好的学。 How?如何来写? 重新创造。即,通过编故事,构建出Bitcoin从简单到复杂的演进全貌。这就是费曼所提倡的”Learn by doing”。 《重新创造比特币》第1章:从一个简单的web交易系统开始 Learn by doing 用简单的技术,构建简单的系统。系统慢慢演进,变得复杂又丰盛,就像一棵小树张成了参天大树。 读者伴随着树的生长,自然会理解每一个树叶的来龙去脉。 (备注:由于故事纯属虚构,为了突出定位,会将技术概念简化。具体技术细节的学习,建议阅读专业资料:aaron67的blog:https://aaron67.cc 等) 人脑喜欢故事。 我要讲故事。 1.缘起 1999年,中途镇,咖啡馆,上午10点,中本聪准时出现在靠窗子的位置。 中本聪喜欢这个位置,不是因为窗外的风景,而是因为电源插口。 中本聪是个程序员,最近休假,每天都来写代码,对于他来说,完美的日子不过如此。 那时,互联网的世界新生伊始,许多事物还没有名字,提到的时候尚需用手指指点点。 中本聪端着咖啡在发呆,老板Bob问道:“Hi Satoshi!这几天咋不鼓捣你的代码啦?想啥呢?”。 中本聪答道:“最近想做一点新玩意,之前编的东西太normal了,正好最近休长假,有大把的时间,想搞点大东西,something big!”。 这时候老顾客Alice插嘴道:“Someting big! 哼!要我说最大的问题就是我们的美联储乱发钱,这些自私的家伙,让我的财富每年都在被动损失,这些强盗、小偷。这就是something big!” 中本聪说:“你这样可不好,有点无政府主义倾向啊!不过给我的启发倒是,可以做一个全球电子现金系统,并且绝不增发!” “货币源于价值:无论是贝壳,还是黄金,或者说所有在历史上担任过货币的事物,首先是有使用价值,然后经过长时间的共识,再成了货币属性。所以这个系统的价值就在于可以作为不可篡改的账本被人们使用。”当然这是在很久以后,中本聪才拥有的理解。 “你要是做出来,我们咖啡店先试用!”老板Bob叫到! “加油吧小子!”Alice挥舞着拳头。 一股热流上了头,中本聪拿出笔记本开始写写画画起来,Bitcoin的设计工作开始啦! 2.先设计一个最简单的交易系统吧 中本聪开始了思考,先设计一个最简单的版本,先让Bob老板用起来,他一边用,我一边改进,这个思路不错! 既然是电子现金那么系统名字就叫Bitcoin吧。 第一个版本就做成最简单的单服务器的web系统,买一台普通台式机(服务器)放在咖啡馆,连上互联网,再买一个www.bitcoin.org的域名(备注:在故事的最后:重新创造比特币20:分叉之重组与分裂,我们将看到www.bitcoin.org被坏蛋偷走了,中本聪只好使用新域名www.bitcoinsv.io),咖啡店的顾客就可以通过浏览器方便的使用啦!(见下图) 《重新创造比特币》第1章:从一个简单的web交易系统开始 Bitcoin整体设计图 虽说我要创造一个电子现金系统,其本质上就是一个交易系统,交易才是市场的核心,现金只不过是一笔笔交易里的小数字。 如果按照传统的系统设计思路,系统可以分为程序部分和数据部分。 程序部分最核心的功能是处理交易。 数据部分最核心的功能是存储交易。 为了快速实现,存储的方案就采用普通文件(见下图) 《重新创造比特币》第1章:从一个简单的web交易系统开始 Bitcoin整体设计图 数据部分如何设计呢? 最起码需要两个文件: 1.用户文件(user.txt),字段包括:用户名,密码,余额。 2.账本文件(transaction.txt),字段包括:时间,付款者,收款者,金额。 (见下图) 《重新创造比特币》第1章:从一个简单的web交易系统开始 这种需要独立存储账户信息的设计就是所谓的“账户模型” 程序部分需要具备哪些功能呢? 如果按照传统系统的思路,首先需要注册用户,不过如果用户都是咖啡店的老顾客,干脆就先暂时省去注册功能,谁想用Bitcoin,我就手工帮他创建账号,只要在user.txt文件里面加一条用户信息就可以了。 我真是想让咖啡店快点用起来,对,要赶在Bob反悔之前。 用户登陆验证功能必须要做,否则如果一个叫Carol家伙冒充Alice付款给自己就不好了。 关于处理交易,只要有交易写入和交易查询就ok啦。(见下图) 《重新创造比特币》第1章:从一个简单的web交易系统开始 程序部分的设计 这里有一点小麻烦,每次Alice付款给Bob的时候,程序都要先去user.txt找到Alice的余额,看看余额否足够。 如果余额足够,除了要将交易信息写入到transaction.txt之外,还要在user.txt中修改Alice和Bob的余额。 嗯!余额很重要,余额就是一个人的财富积累,可得小心对待。 一个人在这个世界上的财富全部依赖于这个小数字,哦!可怜的小生物! 中本聪花了一个下午,设计完了Bitcoin的第一个版本,伸了一个长长的懒腰,扭头对者老板Bob说:“我设计完了,明天开始编码,争取这周就让咖啡店试用!” “这么快,你真是个天才!来,尝尝我新研制的咖啡,这杯免费!” “这只是一个最简单版本,离最后我想要的样子还差得远呢”,中本聪接过咖啡,喝了一口。 “这味道……嗯!……很感人!” 3.后记 我写这个系列的一个套路是,让中本聪基于一个理由来创造出解决方案。 这个理由可能是遇到的问题(BUG),也可能是一个抽象理念。 反正不能平白无故的直接给出解决方案。 哪怕是我胡编的定位,也是定位。 本系列已经全部写完。 前10篇为上半部,主要讨论系统的业务:交易 后10篇为下半部,主要讨论如何支撑业务:P2P网络、工作量证明等 本系列的核心价值在于,定位,即给技术概念以定位。 很多技术概念做了简化处理,目的是让读者更容易理解其定位。 感谢朋友们的陪伴,你们给了我很大的信心和动力。 【免责声明】本文仅代表作者本人观点,与本站无关。 —- 编译者/作者:正東 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
《重新创造比特币》第1章:从一个简单的web交易系统开始
2020-01-05 正東 来源:区块链网络
LOADING...
相关阅读:
- 加密分析师:五个低价项目将在下一次比特币牛市中飙升2020-10-29
- 研究:合作伙伴关系和上市公告对加密货币价格影响最大2020-10-29
- 法国兴业银行选择ConsenSys进行CBDC开发2020-10-29
- 柬埔寨中央银行启动Bakong区块链支付系统2020-10-29
- 美国三项选举结果(以及有争议的结果)如何影响美元2020-10-29