<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>科普 on 大山的博客</title><link>https://da-shan.uk/tags/%E7%A7%91%E6%99%AE/</link><description>Recent content in 科普 on 大山的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 31 Dec 2017 08:00:00 +0000</lastBuildDate><atom:link href="https://da-shan.uk/tags/%E7%A7%91%E6%99%AE/index.xml" rel="self" type="application/rss+xml"/><item><title>韭菜防割手册·比特币篇</title><link>https://da-shan.uk/posts/btc-s01-12/</link><pubDate>Sun, 31 Dec 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-12/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-12-31 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;又到年终花红飘落的季节，你满怀期待，累加12朵月薪，再减去去年收入，端详今年进步。&lt;/p&gt;
&lt;p&gt;比你更加满怀的是本文作者，他一口气加了120个月的工资，画出十根柱子：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-12/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图1 打工十年收入——人民币视角&lt;/p&gt;
&lt;p&gt;从金融系统的工兵变连长，收入也从山脚到山上，站在人民币视角看算个励志故事，可换个角度端详，那就是天上地下。&lt;/p&gt;
&lt;p&gt;这个新视角就是比特币价格。&lt;/p&gt;
&lt;p&gt;考虑每年底币价，把全年收入换算成比特币数量，那图1会变成另外一个样子：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-12/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图2 打工十年收入——比特币视角&lt;/p&gt;
&lt;p&gt;你可能会奇怪，颜色变了就算了，为什么连柱子也会少？08年比特币还在受精，买不到可以理解，那2012年之后的柱子哪里去了？&lt;/p&gt;
&lt;p&gt;答案是09年的柱子太高，视觉上压扁了其他柱子。很难想象，09年一个乡村柜员的年薪就能控盘全球十分之一的比特币。&lt;/p&gt;
&lt;p&gt;我们用数学方法把扁柱子拉长：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-12/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图3 打工十年收入——比特币视角（对数坐标）&lt;/p&gt;
&lt;p&gt;注意：图2和图3在数学上完全一样，只是纵坐标不同。图2是普通纵坐标，图3是对数纵坐标，专门干增高拉长的活，每个等距代表一个数量级。&lt;/p&gt;
&lt;p&gt;什么是数量级？数学解释：1，10，100，1000……语文解释：芝麻、西瓜、航母、喜马拉雅山……&lt;/p&gt;
&lt;p&gt;数量级的概念是比特币世界的基本思维模型，它能让你看到普通人想不到的世界，其重要性不亚于家里的马桶。&lt;/p&gt;
&lt;p&gt;注意，两张图的纵坐标除了尺度不一样，还有一处不同：原点。请用手指翻上去再看一眼：图2纵坐标原点是0，而图3是1。&lt;/p&gt;
&lt;p&gt;于是，图2横轴是地板，而图3横轴是块翻板，可以不断向下拆出更低数量级。我们没有看到更低，只是因为时间没到。&lt;/p&gt;
&lt;p&gt;如果作者年薪和比特币价格都保持各自原来的涨势，那么十年后作者每年能赚到的比特币数量就在翻板下面，而且深不见底。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-12/04.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图4 打工二十年收入——比特币视角&lt;/p&gt;
&lt;p&gt;以我去年的实力，年终奖可以买两斤比特币，一斤拎出去送送领导，一斤背回家孝敬长辈，但今年即使年终奖翻倍，却1个币都买不到了。&lt;/p&gt;
&lt;p&gt;明明很努力，年年多赚两叠人民币，可为什么能赚的比特币却一路向下？&lt;/p&gt;
&lt;h2 id="通缩世界的逻辑"&gt;通缩世界的逻辑&lt;/h2&gt;
&lt;p&gt;虽然都在同一球面，却分明有着不同的世界。我们在通胀里长大，以至于意识不到通缩世界的存在，但它就在那里，已经九年了。&lt;/p&gt;
&lt;p&gt;为什么会这样？很简单，原因只有两点：&lt;/p&gt;
&lt;p&gt;第一，比特币被时间证明是目前最成功的区块链产品，好产品的贵只代表需求多。&lt;/p&gt;
&lt;p&gt;第二，新币数量每4年减半，2140年停产（详见上篇文章测算），新币增量赶不上新增需求量，于是只能这样：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-12/05.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图5 比特币价格历史（2010-2017）&lt;/p&gt;
&lt;p&gt;算法确保币量不以人的意志而新增，用挖块奖励替代铸币税，这一刀下去，不单砍光了计划外的新增货币，而且划清了与通胀世界的界限。&lt;/p&gt;
&lt;p&gt;说起“通胀”，听着像是所有商品通通膨胀，但膨胀的其实只有铸币税——即：以权力之名增发的币，变相使你收入失去的购买力。&lt;/p&gt;
&lt;p&gt;在通胀世界，印钞机的轰鸣声从来没有停过。这使得法币变成一把不断伸长的尺，虽然刻度不变，但任何物件对于这把尺的相对长度却不断减小。&lt;/p&gt;
&lt;p&gt;巴菲特老爷子一生勤俭，现在还住在1958年造的老房子里。可如果他像其他勤俭之人一样，把赚到的每分钱都存进银行，那么他将成为你我都不认识的普通老爷子。&lt;/p&gt;
&lt;p&gt;现在一提到巴菲特，想到的都是“股神”，说明他把钱都换成了股票类资产，而不是存银行，虽然他自己是美国银行和富国银行的大老板。&lt;/p&gt;
&lt;p&gt;多持股、少持币，甚至要借币持股，这是通胀世界的法则，很多人借此尝到甜头，但在通缩世界这条逻辑却是毒药。&lt;/p&gt;
&lt;p&gt;和通胀世界的正利率不同，通缩世界的利率是负的，这意味着时间无时无刻不在向你支付利息，只不过没有在账面上显示。&lt;/p&gt;
&lt;p&gt;持币本身就是一种奖励，这是通缩世界的逻辑。&lt;/p&gt;</description></item><item><title>矿工挖的不是币，而是护城河</title><link>https://da-shan.uk/posts/btc-s01-11/</link><pubDate>Sun, 24 Dec 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-11/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-12-24 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;你去食堂吃饭，大厅人山人海，只能和同事们一起排队，轮到自己时再伸手拿下三菜一汤。&lt;/p&gt;
&lt;p&gt;领导一行来了，他们径直走进小房间，餐厅经理猫着腰把红烧甲鱼端到桌上，剪下一块裙边，夹进领导碗里。&lt;/p&gt;
&lt;p&gt;你从门缝里的看到这幕，表情平静如水，心中却泛起涟漪：凭什么他们可以又快又好？&lt;/p&gt;
&lt;p&gt;凭优先级。单位雇领导上班不是为了喂他吃饭，而是让他创造效益。领导年薪尊贵，吃饭省出的时间在单位看来比员工值钱，哪怕用来休息。&lt;/p&gt;
&lt;p&gt;资源有限时食堂必须做出选择，而选择必有标准。&lt;/p&gt;
&lt;p&gt;标准之一是按级别区别对待：职位越高的人，排队时间越短、菜品越好；另一项标准是排队时长，只要排队总能轮到。&lt;/p&gt;
&lt;p&gt;排队吃饭的场景也适用于排队记账。比特币每个账页（一个区块）能记录2,000多笔交易，可如果同时挤进20,000笔，矿工该怎么办？&lt;/p&gt;
&lt;h2 id="记录交易的优先级"&gt;记录交易的优先级&lt;/h2&gt;
&lt;p&gt;矿工不是加班记录剩下的18,000笔交易，而是排出顺序，挑出最优先的 2,000笔交易填满区块，把剩下的交易压在内存中，大原则是：&lt;/p&gt;
&lt;p&gt;优先级 = 交易金额 × 排队时间 ÷ 交易信息大小&lt;/p&gt;
&lt;p&gt;交易金额是影响优先级的首要因素：金额越大交易优先级越高——让领导先吃。交易金额的单位不是1个比特币，而是1聪（Satoshi），1聪等于一亿分之一个比特币。&lt;/p&gt;
&lt;p&gt;排队时间准确的说法是区块年龄（block age）：钱包发起一笔交易，立刻向全网广播，矿工收到时的区块年龄是0，如果等了100个区块依然没被记录，那这笔交易的区块年龄就是100。&lt;/p&gt;
&lt;p&gt;交易信息大小指记录交易信息的字节数，字节的单位是byte（比特）。比如交易只有一笔进出，大小约为250bytes，而有的交易却有多笔输入和输出交易信息大小就相对较大（如下图，3913bytes）。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-11/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图1 实例：较大Size交易，3913 bytes&lt;/p&gt;
&lt;p&gt;如果一笔简单交易（250bytes）金额为1个比特币（1亿聪）苦等1天（约144个区块）还没被记录，那它的优先级是：&lt;/p&gt;
&lt;p&gt;100,000,000 × 144 ÷ 250 = 57,600,000&lt;/p&gt;
&lt;p&gt;记住这个数字，优先级大于57,600,000的交易称为“高优先级交易”，即使不给小费，矿工也会把它存储到区块的前50K字节中——这时你的交易相当于大领导，可以进小房间，享受特殊服务。&lt;/p&gt;
&lt;p&gt;另外，如果你付小费，矿工总是愿意帮你先记账。输入金额与输出金额的轧差数就是给矿工的红包，能帮你加快交易速度。&lt;/p&gt;
&lt;p&gt;所以，如果在交易拥堵期，转小金额交易就是添堵。因为一是优先级不够，二是交易总额可能连矿工手续费都不够。&lt;/p&gt;
&lt;p&gt;手续费是交易者给矿工的小费，它能加快交易确认速度，那矿工还有没有其他收入呢？&lt;/p&gt;
&lt;p&gt;有，Block Reward。&lt;/p&gt;
&lt;h2 id="挖块奖励"&gt;挖块奖励&lt;/h2&gt;
&lt;p&gt;还记得上篇文章中本聪校长给学霸的12.5个比特币么？这就是挖块奖励，但学霸到底做了哪些事值得被如此奖励呢？&lt;/p&gt;
&lt;p&gt;第一，挑出优先级最高的2,000多笔交易打包进区块，但这些交易总大小不能超过约1M。&lt;/p&gt;
&lt;p&gt;第二，找出一个随机数，使得“区块+随机数”的哈希值前有足够多的“0”。&lt;/p&gt;
&lt;p&gt;只要通过网络中其他节点的认证，学霸不仅可以拿到挖块奖励，而且可以通吃2,000多笔交易的手续费。&lt;/p&gt;</description></item><item><title>比特币网络是一群比赛做题的同学</title><link>https://da-shan.uk/posts/btc-s01-09/</link><pubDate>Sun, 17 Dec 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-09/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-12-17 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-09/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;你和全年级同学坐在一起比赛做奥数题，校长中本聪规定：最先做出来的同学有奖，但去中心化的学校没有老师，你做出来后只要让邻座同学验证，验证对了邻座再去告诉其他同学。&lt;/p&gt;
&lt;p&gt;聪明的你秒出答案，并且告诉前后左右的同学，他们验证后再去一传十、十传百，十分钟后全年级都向你竖大拇指，认你这个学霸。&lt;/p&gt;
&lt;p&gt;中本校长看到这阵势，赶紧抛给你12.5个币作为奖励，并把你的精彩答案给全年级人手发一份，接下来所有同学必须在你这道题的基础上再解下一题，否则就拿不到奖励。&lt;/p&gt;
&lt;p&gt;以上就是比特币的挖矿奖励模型。为解题付出的辛苦相当于工作量证明（戳此复习），全年级坐在一起竞赛的风景照相当于比特币网络。&lt;/p&gt;
&lt;h2 id="什么是比特币网络"&gt;什么是比特币网络？&lt;/h2&gt;
&lt;p&gt;比特币网络（Bitcoin Network）指交易信息能广播到的所有节点。&lt;/p&gt;
&lt;p&gt;节点分两类：普通钱包和矿工，普通钱包只报告或验证交易，属于普通用户。而矿工则负责记账和做工作量证明，是专业的账本维护者。&lt;/p&gt;
&lt;p&gt;如果你是矿工，做牛做马做出的难题可不能藏着掖着，必须第一时间向全网广播，否则奖金就属于别人。&lt;/p&gt;
&lt;p&gt;网络中其他矿工收到你的广播后，只验证三项内容：&lt;/p&gt;
&lt;h2 id="所有交易输入是否都交易输出"&gt;所有交易输入是否都≥交易输出？&lt;/h2&gt;
&lt;h2 id="所有交易是否都从未发生"&gt;所有交易是否都从未发生？&lt;/h2&gt;
&lt;p&gt;3、用你的随机数哈希区块，哈希值前缀是否有足够多的“0”？&lt;/p&gt;
&lt;p&gt;如果全部OK，其他节点才会认你的账。认账不是光靠嘴说，而是把之后的账全记在你区块之后，于是这些区块就像珍珠一样越接越长，形成珍珠项链（区块链）。矿工必须跟着最长的链记账，否则没有奖励。&lt;/p&gt;
&lt;p&gt;中本聪在白皮书里说：&lt;/p&gt;
&lt;p&gt;New transaction broadcasts do not necessarily need to reach all nodes. As long asthey reach many nodes, they will get into a block before long. Block broadcasts arealso tolerant of dropped messages.&lt;/p&gt;</description></item><item><title>明明已付款，为什么老板不给你牛肉干？</title><link>https://da-shan.uk/posts/btc-s01-10/</link><pubDate>Sat, 09 Dec 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-10/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-12-09 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-10/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;你去楼下超市买牛肉干，扫码付款后，老板点头微笑，双手把牛肉干捧给你，因为他手机响起一声温柔：支付宝到账15元。&lt;/p&gt;
&lt;p&gt;但如果没听到这句话，即使看到你手机上付款成功的页面，老板也会板起脸来一手按下牛肉干，一手拼命掐手机，这是干嘛？&lt;/p&gt;
&lt;p&gt;他在验证这笔支付是否已被确认。&lt;/p&gt;
&lt;p&gt;老板心里没底，直到支付宝开口，才敢向你点头。这是中心化支付系统的确认逻辑：以中心记录为准。&lt;/p&gt;
&lt;p&gt;可如果用去中心化的货币支付，你钱包显示已付款，老板如何确认已到账呢？你要知道，他面对的可是一个被不可信节点包围的世界。&lt;/p&gt;
&lt;p&gt;如果他确认不了，你就吃不到牛肉干。而且，老板可不想把确认过程弄复杂，比如下载几百G交易记录。&lt;/p&gt;
&lt;p&gt;所以，在去中心化的货币系统里，每次确认支付前都拦着两排铁丝网：&lt;/p&gt;
&lt;p&gt;一是安全：如何应对恶意节点骗人？二是便利：便利店老板不会容忍不便利的事。&lt;/p&gt;
&lt;p&gt;看似无解，但中本聪淡淡地说：SPV能。&lt;/p&gt;
&lt;h2 id="什么是spv"&gt;什么是SPV？&lt;/h2&gt;
&lt;p&gt;SPV（Simplified Payment Verification，简单支付验证）：一种即使没有完整交易记录，也能便捷、安全地验证支付的方法。&lt;/p&gt;
&lt;p&gt;不用下载全部区块（几百G），只需下载全部区块头（约40M），就能轻松验证所有支付。真的么？说得像电视购物广告一样。&lt;/p&gt;
&lt;p&gt;但现在看来是真的，因为比特币已正常跑了8年多。&lt;/p&gt;
&lt;p&gt;区块头是区块的身份信息，内含一个特殊哈希值——默克尔树根（Merkle Tree Root）。&lt;/p&gt;
&lt;p&gt;还记得上篇文章里李笑来给你的1.5个比特币么？记账员（矿工）在记录时算出每个交易的哈希（红框）：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-10/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图1：首富给你的礼物&lt;/p&gt;
&lt;p&gt;矿工把区块内所有交易（约1-2千笔）的哈希值一字排开，让他们两两牵手，每对交易哈希牵手后再算出新哈希（如下图红框HA与HB两个哈希值叠加算出HAB）。矿工验证、记录和整理交易的过程称为“打包”。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-10/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图2：默克尔树&lt;/p&gt;
&lt;p&gt;往上叠加哈希值，直到顶点就完成打包过程。叠完就是默克尔树，树的顶点就是默克尔树根。真实的默克尔树宽很多，因为2,000多笔交易实在没办法横在你手机屏幕前，所以这里只用16笔交易举例，你能懂。&lt;/p&gt;
&lt;p&gt;默克尔树根的神奇之处有两个：第一，作为树根，它居然可以长到脑门上；第二：仅仅一个哈希值，就蕴含该区块内所有交易验证信息。&lt;/p&gt;
&lt;p&gt;请注意：是交易验证信息，而不是交易信息。查询具体交易信息，你得下载全节点区块数据；但验证一笔交易是否被记录，下载区块头数据已足够，因为有简单支付验证（SPV）方法。&lt;/p&gt;
&lt;p&gt;那SPV如何验证交易是否存在呢？&lt;/p&gt;
&lt;h2 id="spv的过程"&gt;SPV的过程&lt;/h2&gt;
&lt;p&gt;首先明确两个前提：&lt;/p&gt;
&lt;p&gt;第一，每笔交易都有标准格式：输出地址、输入地址和交易金额等，所以交易一旦发生，该交易哈希值瞬间产生（假设为HK，图3绿框）。&lt;/p&gt;
&lt;p&gt;第二，如果交易被矿工打包过，拥有全部交易数据的节点（称为“全节点”：full node）必然有整棵默克尔树。&lt;/p&gt;
&lt;p&gt;所以：&lt;/p&gt;
&lt;p&gt;第一步：老板的钱包软件把哈希值（Hk）交给临近的全数据节点去验证。&lt;/p&gt;
&lt;p&gt;第二步：全节点反馈老板钱包下图4个蓝块的哈希值。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-10/04.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;图3：简单支付验证（SPV）的过程&lt;/p&gt;
&lt;p&gt;第三步：老板钱包经过4步哈希计算：&lt;/p&gt;
&lt;h2 id="hashhkhl"&gt;Hash(HK,HL)&lt;/h2&gt;
&lt;h2 id="hashhijhkl"&gt;Hash(HIJ,HKL)&lt;/h2&gt;
&lt;h2 id="hashhijklhmnop"&gt;Hash(HIJKL,HMNOP)&lt;/h2&gt;
&lt;p&gt;4、Hash(HABCDEFGH,HIJKLMNOP)即：沿图3虚线框路径，老板的钱包最终得出哈希值HABCDEFGHIJKLMNOP。&lt;/p&gt;</description></item><item><title>李笑来的比特币账户并没有余额</title><link>https://da-shan.uk/posts/btc-s01-08/</link><pubDate>Sat, 02 Dec 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-08/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-12-02 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-08/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;“比特币首富”是贴在李笑来额头上撕不下来的标签。&lt;/p&gt;
&lt;p&gt;不管涨跌都只买不抛，据说他早已手握6位数的比特币，现价每个7万元，快追上一块上海车牌了，而去年今天只卖4千块。&lt;/p&gt;
&lt;p&gt;按照这个速度，只要躺在家里睡两年，一觉醒来的他会超过身价900亿美金的比尔·盖茨，如果后者不买比特币的话。&lt;/p&gt;
&lt;p&gt;可如果你惊讶于首富账户没余额这件事，那说明你还得巩固一个比特币世界的概念：UTXO。&lt;/p&gt;
&lt;h2 id="什么是utxo"&gt;什么是UTXO？&lt;/h2&gt;
&lt;p&gt;UTXO（Unspent Transaction Output）指未花费的交易输出。&lt;/p&gt;
&lt;p&gt;每笔比特币交易都有输入和输出，别人付给你的钱是“交易输入”，你收到的钱是“交易输出”。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-08/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;你一定会奇怪，你收到的钱明明放在账户里没动，为什么会被叫做“输出”？&lt;/p&gt;
&lt;p&gt;对，这就是“输出”，只不过是“未花费的交易输出”。一旦你支付出去，就是真正的“交易输出”。&lt;/p&gt;
&lt;p&gt;如果李笑来昨天转你1.5个比特币，交易是这样的：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-08/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;绿箭头左右两侧，分别是李笑来和你的地址。&lt;/p&gt;
&lt;p&gt;注意：地址看起来像账户，但它不是账户，因为账户的另一头对应你的姓名和密码，而地址的另一头却只有公钥和私钥。&lt;/p&gt;
&lt;p&gt;换句话说，比特币系统根本不认识持币者是谁，它只认识私钥和公钥。&lt;/p&gt;
&lt;p&gt;那么飘来一个问题：首富赐你1.5个比特币，你的地址收到币的一瞬间，余额是多少？&lt;/p&gt;
&lt;p&gt;答案是：没有余额。&lt;/p&gt;
&lt;p&gt;这1.5个比特币不是余额，而是你地址里的未花费交易输出（UTXO）。&lt;/p&gt;
&lt;p&gt;首富账户之所以没有余额，不是因为没有币，而是比特币系统没有“账户”一说，只有“地址”的概念。“账户”对应“余额”；而“地址”只对应UTXO。&lt;/p&gt;
&lt;p&gt;你一定会更奇怪，余额和UTXO都代表拥有的财富，不就是一回事么？&lt;/p&gt;
&lt;p&gt;其实，看起来相似的东西，实际上可能完全不同。&lt;/p&gt;
&lt;h2 id="utxo和余额区别在哪"&gt;UTXO和余额区别在哪？&lt;/h2&gt;
&lt;p&gt;回答这个问题前，我们首先一起思考：如果比特币和传统货币一样，使用账户系统，会有什么问题？&lt;/p&gt;
&lt;p&gt;首先需要一个数据库，记录所有人的余额。&lt;/p&gt;
&lt;p&gt;如果所有人的余额都像刻在石碑上一样，风吹雨打十年不变，那没问题。可实际上，我们的账户余额常常一天变十次。&lt;/p&gt;
&lt;p&gt;记录余额不算个事，更新余额才折腾人。&lt;/p&gt;
&lt;p&gt;如果全世界有10亿用户，每人每天交易10次，那么平均每秒余额变动将达11万次。按照这个速度生产余额表，几周之后，就能撑爆Google和支付宝两家店所有的服务器。&lt;/p&gt;
&lt;p&gt;而且，如果每次支付都更新余额表，那么一定有信息冗余：如果你双十一那天什么都没买，但你的余额会随着全国人民被更新14.8亿次：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-08/04.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;任何一笔交易发生后，所有人的余额即使没变也要更新，这又是为什么？&lt;/p&gt;
&lt;p&gt;因为要避免双重支付。&lt;/p&gt;
&lt;p&gt;比如这种情况：&lt;/p&gt;
&lt;p&gt;有人给我1个比特币，我很高兴，但我转念一想：应该确认这笔钱别人有没有付给过其他人，否则我就会像收到空头支票一样。&lt;/p&gt;
&lt;p&gt;于是，我打开余额表一看，发现别人确实有这笔钱，我更高兴了，一激动给别人发货。晚上噩耗传来：我被双重支付了，收到的那个比特币根本没法用，因为已经被支付给其他人了，而我查的那张余额表在当时还没更新。&lt;/p&gt;
&lt;p&gt;都找不到衙门喊冤。&lt;/p&gt;
&lt;p&gt;点对点系统没有中心的权威账本，达成共识需要经过大多数节点确认，如果信息传递有时间差，就不能同时确认所有账户余额，所以必然面临双重支付。&lt;/p&gt;
&lt;p&gt;如果比特币被设计成这样，一定出师未捷身先死，而UTXO一举扫平余额方案搬不走的两座大山：数据库肥硕和双重支付问题。&lt;/p&gt;
&lt;p&gt;UTXO的方案简单到极致：只确认交易本身。&lt;/p&gt;
&lt;p&gt;使用UTXO产生的数据库比使用余额系统的数据库小得多。比特币运行八年多，全部交易记录不过几百G，一台普通家用电脑就能装下。&lt;/p&gt;
&lt;p&gt;至于账户余额嘛，你从上到下扫描一遍同一地址所有的进进出出，立等可取。你只要等上6个区块的确认时间，就能确保不被双重支付，因为这笔交易得到了全网的确认。&lt;/p&gt;
&lt;p&gt;中本聪在比特币白皮书上说：&lt;/p&gt;</description></item><item><title>鸡一嘴鸭一嘴，应该听谁？</title><link>https://da-shan.uk/posts/btc-s01-07/</link><pubDate>Sat, 25 Nov 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-07/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-11-25 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;你我是两支部队的将军，分立两座山头，围剿山谷中的敌城。敌城很牢固，如果我们独立攻城必输，但是合力出击必胜。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-07/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;看来很简单，我们一起轰上去就能搞定。但是有一个小问题：山上没有信号，传递消息只能靠通信兵，而通信兵必须经过山谷中的敌城才能传递消息。&lt;/p&gt;
&lt;p&gt;假设：&lt;/p&gt;
&lt;p&gt;你看到一个信使，带来我的消息：“今夜23点攻城”。请问，你敢信么？&lt;/p&gt;
&lt;p&gt;如果你信了，半夜出兵，结果被灭了也千万别奇怪，因为我发给你的消息是：“明天早上6点攻城”。&lt;/p&gt;
&lt;p&gt;但是，我的通信兵被敌人截杀，他们换了个新的，骗你早点出来。如果你被灭了，敌人就赢了，因为我单独攻城也是被灭的命。&lt;/p&gt;
&lt;p&gt;只传输文字信息带来两个问题：1）原文易被篡改；2）收信人无法验证原文是否被篡改；&lt;/p&gt;
&lt;p&gt;那该怎么办？两个办法：&lt;/p&gt;
&lt;p&gt;一是我们熟悉的数字签名（点击可复习概念），但这只适用于一对一传输的场景。&lt;/p&gt;
&lt;p&gt;如果要把消息向全军广播，就得用到第二种方法：工作量证明。&lt;/p&gt;
&lt;h2 id="什么是工作量证明"&gt;什么是工作量证明？&lt;/h2&gt;
&lt;p&gt;工作量证明（proof-of-work）指通过完成一定工作量以阻止网络恶意攻击的方式，简称POW——维基百科&lt;/p&gt;
&lt;p&gt;你可以把“一定的工作量”理解为简单体力劳动，相当于去猜福利彩票双色球的中奖号码：你只要趴在桌上写啊写，就一定能够写中下一期的中奖号码，只是要花点力气而已。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-07/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;但在工作量证明中，猜的可不是双色球号码，而是猜一个普通数字，这个数字添加在原文消息后，使得整个结果的哈希值前面有很多个0。&lt;/p&gt;
&lt;p&gt;回到开头的场景，我要发给你的消息是：明天早上6点攻城。但是我不能直接发，因为容易被敌人截杀。&lt;/p&gt;
&lt;p&gt;你我之间可事先约定：&lt;/p&gt;
&lt;p&gt;我找一个幸运数字，加在消息后面，使得“消息+幸运数字”的哈希值以5个0开头。如果不是这样，那你收到的消息就肯定不是我发的。&lt;/p&gt;
&lt;p&gt;在这里，“5”代表难度，哈希值前缀的“0”越多代表这个幸运数字越难找。&lt;/p&gt;
&lt;h2 id="用工作量说明工作量证明"&gt;用工作量说明“工作量证明”&lt;/h2&gt;
&lt;p&gt;下面，我用简单体力劳动演示简单体力劳动的全过程：&lt;/p&gt;
&lt;p&gt;下图左侧是14种不同的哈希算法，右侧是不同算法的哈希值结果，我们选用群众喜闻乐见的SHA-256的哈希算法（来源网址：文末链接[1]）。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-07/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;一般的哈希值都不以“0”开头，比如：“明天早上6点攻城”的哈希值以“6600c”开头。&lt;/p&gt;
&lt;p&gt;我们的任务是找一个幸运数字，把这个数加在原文消息后面去哈希，当哈希值前面出现5个0的时候，这个幸运数字就是我们要的值。&lt;/p&gt;
&lt;p&gt;我们从0开始：把0加在消息“明天早上6点攻城”之后，变成：“明天早上6点攻城0”，得到哈希值：0593feea85b5cc51……&lt;/p&gt;
&lt;p&gt;这个哈希值不以5个“0”开头，所以0不是符合要求的幸运数字。&lt;/p&gt;
&lt;p&gt;哈希值长度为64位，考虑到你手机屏幕的宽度，所以只列前N位哈希值。找到1个“0”开头的哈希值很容易，冲上来就找到了。但别忘了，我的任务是找5个“0”开头的哈希值。&lt;/p&gt;
&lt;p&gt;开始体力劳动：&lt;/p&gt;
&lt;p&gt;你只需注意以0开头的哈希值出现的频率。&lt;/p&gt;
&lt;p&gt;消息+幸运数字 哈希值（前N位）明天早上6点攻城0 0593feea85b5cc51明天早上6点攻城1 5c14326badbde132明天早上6点攻城2 434fe85e6c397d38明天早上6点攻城3 ea1ee28cb2827fa9明天早上6点攻城4 8559db7af65e2bc9明天早上6点攻城5 6ec12acfe954ffe43明天早上6点攻城6 53bd9133146631a明天早上6点攻城7 d348d29e9398d88明天早上6点攻城8 276cfca1386ffba0d明天早上6点攻城9 f78628f2b0e4941c6明天早上6点攻城10 f92e8cd090f34feb2f明天早上6点攻城11 5cc0bc8a34f5fb81b明天早上6点攻城12 764154add623fee9c明天早上6点攻城13 96c3bcb245fd955f1明天早上6点攻城14 7c18fb827e48ea685明天早上6点攻城15 283f7de03f0165fac5明天早上6点攻城16 bce71436c4907d14明天早上6点攻城17 4f76be60fb2b0da75明天早上6点攻城18 182530c711a1cd98明天早上6点攻城19 6d59c71c30c17f378明天早上6点攻城20 b0161336bbbe8671明天早上6点攻城21 a1f35a0522b3a7ff8e&lt;/p&gt;</description></item><item><title>如何用一台机器生产信任？</title><link>https://da-shan.uk/posts/btc-s01-06/</link><pubDate>Sat, 18 Nov 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-06/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-11-18 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;巴西有个真人秀节目：黄金单身汉和十名女子住一起，最后选择自己心仪的女孩。&lt;/p&gt;
&lt;p&gt;乍看和其他相亲节目没啥两样，但这十个女孩中只有一个是真正的女孩，其他都是变性人。&lt;/p&gt;
&lt;p&gt;经过三天相处，九轮淘汰，男主选择了Melancia作为伴侣，小哥非常确定自己选对了真爱，搂住妹子深情舌吻，现场掌声音乐烟花同时响起，主持人也上前一步恭喜两位，并且宣布：&lt;/p&gt;
&lt;p&gt;其实Melancia不是生理女性。&lt;/p&gt;
&lt;p&gt;男主凝重……&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-06/01.jpeg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;真正的女性是Uva，可她在最后二选一的轮次被男主看错了。&lt;/p&gt;
&lt;p&gt;男主接受采访时说：如果我能看到这十个人所有的医疗记录就不会被骗了。&lt;/p&gt;
&lt;p&gt;他说得对，只是他想错了，查阅每个人所有的医疗记录现在并不可能，这是未来才能运用到医疗领域的区块链技术。&lt;/p&gt;
&lt;h2 id="什么是区块链"&gt;什么是区块链？&lt;/h2&gt;
&lt;p&gt;区块链（Blockchain）是用分布式数据库技术识别、传播和记载信息的智能对等网络——维基百科&lt;/p&gt;
&lt;p&gt;换句话说，区块链是用去中心化方式记录信息，使得信息不可更改，且无需任何中心审核。&lt;/p&gt;
&lt;p&gt;区块链不是单一的技术，而是多种技术整合的结果。包括：非对称加密、哈希算法、数字签名、点对点对网络传输技术和共识机制。&lt;/p&gt;
&lt;p&gt;如果区块是一帧胶片，那区块链就是一部电影，随时可查但不能更改。&lt;/p&gt;
&lt;p&gt;如果你没有完全看明白，可以这样理解：区块是账页，区块链是账本。由此可以推算出所有账户的余额，让所有参与者的支付能力一目了然，从而杜绝双重支付的任何可能——比特币就干这事。&lt;/p&gt;
&lt;p&gt;比特币是目前为止最成功的区块链应用，但这只是冰山一角，因为区块链未来可以应用在各行各业：&lt;/p&gt;
&lt;p&gt;在未来的医疗领域，区块可以理解为每名病人每次的就医记录，而区块链则是每名病人一生的就医记录，任何人感一次冒都会有记录，更别提隆胸变性了。&lt;/p&gt;
&lt;h2 id="为什么说区块链能解决信任问题"&gt;为什么说区块链能解决信任问题？&lt;/h2&gt;
&lt;p&gt;区块链最初出现在加密货币中，为的是让收款人相信他所收到的钱不存在双重支付的可能。&lt;/p&gt;
&lt;p&gt;放在以前，记录、存储、检验和确认过程需要在第三方机构参与，比如银行。&lt;/p&gt;
&lt;p&gt;但中本聪在2008年在《比特币白皮书》中首次提出了“区块链”的概念，他说：&lt;/p&gt;
&lt;p&gt;The only way to confirm the absence of a transaction is to be aware of alltransactions.&lt;/p&gt;
&lt;p&gt;为确保某一笔交易不存在，唯一的方法是获悉之前发生的所有交易。&lt;/p&gt;
&lt;p&gt;To accomplish this without a trusted party, transactions must be publiclyannounced.&lt;/p&gt;</description></item><item><title>比特币只解决了一个问题</title><link>https://da-shan.uk/posts/btc-s01-05/</link><pubDate>Sat, 11 Nov 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-05/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-11-11 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-05/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;小明开了一家公司，有人来买货，开出一张一万元的支票，小明横看竖看，确认这张支票是真的，书写和印章都没问题，打电话问开户行，得知对方公司账上有钱。&lt;/p&gt;
&lt;p&gt;于是小明把支票留下，把货交给对方，但当他把支票带去银行取款时，却晴天霹雳。&lt;/p&gt;
&lt;p&gt;柜员告诉他：“这是一张空头支票，对方余额不足，无法取现。因为就在你之前，有人刚刚把这一万块取走。”&lt;/p&gt;
&lt;p&gt;小明被双重支付了一次。&lt;/p&gt;
&lt;h2 id="什么是双重支付"&gt;什么是双重支付？&lt;/h2&gt;
&lt;p&gt;双重支付（Double Spending）是指一种货币设计的潜在缺陷，这种缺陷使得某些货币能够支付一次以上——维基百科&lt;/p&gt;
&lt;p&gt;一个人买东西付完钱，这钱就不再属于他，他就不能再用这钱买其他东西——这是再正常不过的逻辑，否则就是偷骗抢。&lt;/p&gt;
&lt;p&gt;但任何货币支付体系不可避免会面临双重支付问题的挑战，防范双重支付有两种解决方案：中心化和去中心化。&lt;/p&gt;
&lt;h2 id="中心化的解决方案"&gt;中心化的解决方案&lt;/h2&gt;
&lt;p&gt;创建一个可信任的第三方机构，用来鉴别每一笔钱到底有没有被支付过。&lt;/p&gt;
&lt;p&gt;银行就是这样一个第三方机构，小明在付款前可以到银行现场验证，确认入账后再交货。&lt;/p&gt;
&lt;p&gt;中心化的解决方案有一个问题：如果这个中心本身不灵，整个系统就容易误事。比如小明要验证能否凭票收款就得带着支票去银行，如果他懒得跑，那就得冒一万块的风险。&lt;/p&gt;
&lt;p&gt;空头支票只是双重支付中的一种，更厉害、波及范围更大的另一种双重支付是货币增发。&lt;/p&gt;
&lt;p&gt;你想象一下，一个世界只有ABC三人。法律规定只有A能发行货币，而B或C都不行。为了维持生计，B、C需要付出劳动才能获得货币，而A只需发行货币。那A使用货币购买的产品或服务，本质上在B、C手里直接拿的。&lt;/p&gt;
&lt;p&gt;这和开空头支票去供货商那里拿货没有区别。&lt;/p&gt;
&lt;p&gt;货币增发的直接后果是通货膨胀，货币的使用者为此蒙受的损失成为铸币税。铸币税在中心化方案中是不可避免的，这是使用货币的代价。&lt;/p&gt;
&lt;p&gt;但历史也无数次证明了：谁只要获得了货币发行的权力，就一定会增发货币，这是人性。就像钱钟书说的：猴子只要一爬到树上，红屁股就会露出来。&lt;/p&gt;
&lt;p&gt;中心化发行货币，本身没什么不对，法律也是这么的规定。如果没有中心化发行的货币，甚至就连基本的交易都做不成，所以仔细想想一些铸币税还是可以忍受的。&lt;/p&gt;
&lt;p&gt;但这是在去中心化的技术没有之前的做法，未来却未必。&lt;/p&gt;
&lt;h2 id="去中心化的解决方案"&gt;去中心化的解决方案&lt;/h2&gt;
&lt;p&gt;有一种加密技术，可以用来避免用第三方来验证交易，因为每笔交易是被实时记录在一个全公开的账本上。&lt;/p&gt;
&lt;p&gt;当别人支付给你一笔交易，这笔交易只要被大多数人记录到，所有人就都公认为这笔交易合法，你的账上就有无法撼动的钱。这种技术让双重支付变得不可能。&lt;/p&gt;
&lt;p&gt;这种方案的另一种名称是比特币（Bitcoin），以后不管你看到什么样的新闻，记住比特币的唯一用处是使用去中心化的P2P技术解决了双重支付问题。&lt;/p&gt;
&lt;p&gt;比特币的发明者中本聪在白皮书里写到：&lt;/p&gt;
&lt;p&gt;We propose a solution to the double-spending problem using a peer-to-peernetwork.The network timestamps transactions by hashing them into an ongoingchain of hash-based proof-of-work, forming a record that cannot be changedwithout redoing the proof-of-work.&lt;/p&gt;</description></item><item><title>禁烟如何默默成功？</title><link>https://da-shan.uk/posts/btc-s01-04/</link><pubDate>Sat, 04 Nov 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-04/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-11-04 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-04/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;烟鬼说：戒烟有什么难的，我哪天不戒20多次？&lt;/p&gt;
&lt;p&gt;于是，禁烟运动始终非常不成功，后来有人憋出个绝招：不再向吸烟者宣传吸烟有害健康，转而向不吸烟者宣传二手烟比一手烟更有害。&lt;/p&gt;
&lt;p&gt;不抽烟者都信了。看到有人点烟，急忙跳起：“你抽你的，害我干嘛？出去抽~” 吸烟者很惆怅，但时间一久，只能接受。&lt;/p&gt;
&lt;p&gt;禁烟运动收获小胜，但这背后是P2P思想立了大功。&lt;/p&gt;
&lt;h2 id="什么是p2p"&gt;什么是P2P？&lt;/h2&gt;
&lt;p&gt;Peer to Peer（点对点），简称P2P。Peer指节点，有“同等、对等”之意，所以P2P也被称为“对等网络”——各节点通过对等交互完成任务。&lt;/p&gt;
&lt;p&gt;你想看电影，但视频网站却在维护，看不了。这时你朋友硬盘里正好有，你说：哥们，发我。他说：行。于是你们就P2P了。&lt;/p&gt;
&lt;p&gt;迅雷把你的下载动作推演到极致，帮你找了成百上千个铁哥们，他们遵循同样的协议：在下载的同时，把下载到的文件上传给同时也在下载该文件的其他人。&lt;/p&gt;
&lt;p&gt;你用迅雷感觉快，是因为很多人在一起帮你用力。而且，哪怕中心服务器中途停机，只要部分电脑正常，你一样可以下载整部电影。继续推演这条逻辑链：服务器可以关闭，但文件可以随时下载，并且永不消失。&lt;/p&gt;
&lt;p&gt;即使没有中心，事情也能照办。这就是P2P思想的核心。&lt;/p&gt;
&lt;h2 id="组织形态演进从中心化到点对点"&gt;组织形态演进：从“中心化”到“点对点”&lt;/h2&gt;
&lt;p&gt;过去，地理位置限制着社会协作，信息无法有效流通，办事必须有人牵线。媒婆、工头和钱庄老板，他们虽然外表不同，但本质一致，都为抹平双方信息差异。&lt;/p&gt;
&lt;p&gt;牵线人的线一多，中心自然形成，于是就有婚姻介绍所、人力资源公司和银行这些中心化（Centralized）机构，人们离不开中心，否则娘子觅不到如意郎君，工地招不到合格工人，工人也没法把工资交给远在老家的娘子。即使人们能干，也不会亲自做，因为交给中心化机构做更有效。&lt;/p&gt;
&lt;p&gt;随着交通和通信铺开，交流成本降低，分布式（Distributed）组织形态流行：中介机构开出分店。比如，在城市交通中，原本只有公交汽车公司，之后出现了出租车公司，后来出现很多出租车公司，更多的出租车供给，让你会更容易找到代步工具。&lt;/p&gt;
&lt;p&gt;中心被分散。&lt;/p&gt;
&lt;p&gt;互联网进一步把交流成本压降到零，原来你要去公交站或打车点才能找到车，现在因为滴滴打车的出现而发生改变。你只要掏出手机，全世界就以你为中心启动服务：匹配离你最近的车辆、通知司机、司机赶往你的位置……&lt;/p&gt;
&lt;p&gt;中心又一次被分散。&lt;/p&gt;
&lt;p&gt;这就是去中心化（Decentralized）的概念，而Peer to Peer是这一演进脉络的极致。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-04/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;不仅在交通业，“中心组织离散化”现象也同样发生在传媒业。&lt;/p&gt;
&lt;p&gt;当年全国只有CCTV （Centralized ），之后出现CCTV 多个频道和各地方台（Distributed ），随后在优酷和爱奇艺上出现罗辑思维和吴晓波频道等自媒体频道（Decentralized），几乎在同时，微博微信用户数大爆发（Peer-to-Peer）。最终，任何人可以连接到任何人。&lt;/p&gt;
&lt;p&gt;再比如银行业。建国之初只有一家中央银行（Centralized），之后按行业性质分设工农中建四大行（Distributed），随后出现国有控股和城市商业银行们（Decentralized），后来支付宝和微信支付用户数大爆发（Peer-to-Peer）。最终，你只要动动手指，就能向任何人转账。&lt;/p&gt;
&lt;p&gt;但是，这真的是P2P么？&lt;/p&gt;
&lt;p&gt;并不是，因为转账这件事还是通过了第三方机构：支付宝和其他金融机构，而真正的P2P并不需要第三方机构存在。&lt;/p&gt;
&lt;p&gt;不管你是通过微信发消息、还是支付宝转账，看起来只是你和你朋友两人之间的互动，但实际上却都有一个第三方机构在为你们提供中间服务。如果第三方服务中止，事情就办不成。&lt;/p&gt;
&lt;h2 id="真正的p2p"&gt;真正的P2P&lt;/h2&gt;
&lt;p&gt;从这个角度望过去，不通过银行的P2P借贷才是真正的P2P吗？但，这也只是看起来像而已。因为，竟然连“P2P借贷”这个名字最后也是P2P中介公司们起的。&lt;/p&gt;
&lt;p&gt;贷款本身是可以跳过银行的，但却跳不过一种核心能力：风险定价——判断借款人还贷的可能性。&lt;/p&gt;
&lt;p&gt;熟人之间知根知底，凭直觉就可以完成这项工作，所以可以跳过银行直接放贷。但对大规模陌生人的风险定价，还是银行靠谱，因为有征信数据的支持。&lt;/p&gt;
&lt;p&gt;所以，红极一时的P2P借贷后来都消失了。因为它可以跨过银行的肉体，但却跨不过银行用核心能力筑起的高墙。&lt;/p&gt;
&lt;p&gt;那什么才是真正的P2P？&lt;/p&gt;
&lt;p&gt;拥有一定共识，动力来自底层节点，没有第三方中心节点的统一指挥，才是真正的P2P。&lt;/p&gt;
&lt;p&gt;正如禁烟的故事，共识是“二手烟更有害”，动力并非来自禁烟办的领导，而是来自Peer边上的另一个Peer，不吸烟者出于自利而产生动力向吸烟者施压，最终达成了掐灭烟头结果。没有第三方参与也能达成目的，这才是真正的P2P。&lt;/p&gt;
&lt;p&gt;而“去中心化”不是徒手挖掉中心，而是权衡办事效率后对节点再分工。&lt;/p&gt;</description></item><item><title>未曾相见，为何能深信不疑？</title><link>https://da-shan.uk/posts/btc-s01-03/</link><pubDate>Sun, 29 Oct 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-03/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-10-29 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-03/01.jpeg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;你想发一条短信给你朋友彤彤：今晚十点汉庭见。这是属于你们之间的秘密，绝不能被第三人知道。&lt;/p&gt;
&lt;p&gt;你熟门熟路，这得用非对称加密：你用彤彤的公钥加密短信，让它变成别人不认识的密文。你很放心，因为只有彤彤的私钥才能解密。&lt;/p&gt;
&lt;p&gt;但问题来了：彤彤凭什么相信这是你发的？万一是我冒充你发的呢？那她今晚跑去汉庭见到的人就是我，因为她的公钥是公开的，任何人都可以拿来加密。&lt;/p&gt;
&lt;p&gt;让她确信短信是你发的，你只要做一步：数字签名。&lt;/p&gt;
&lt;h2 id="什么是数字签名"&gt;什么是数字签名？&lt;/h2&gt;
&lt;p&gt;数字签名指产生只有信息发送者才能产生的字符串，如：d5S6ch5nPz4L29ya8vX。&lt;/p&gt;
&lt;p&gt;你可以把数字签名理解为白纸黑字的签名，接收者用它识别发送者身份。但千万别误以为数字签名是把你的亲笔签名拍成数码照片，发给接受者用来验证，那是电子签名。&lt;/p&gt;
&lt;p&gt;电子签名是图片，而数字签名是字符串。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-03/02.jpeg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;那数字签名是怎么做出来的？&lt;/p&gt;
&lt;h2 id="数字签名流程"&gt;数字签名流程&lt;/h2&gt;
&lt;p&gt;很简单，分两步：&lt;/p&gt;
&lt;h2 id="哈希密文得到密文哈希值如14d403e5"&gt;哈希密文，得到密文哈希值，如：14d403e5；&lt;/h2&gt;
&lt;p&gt;2、用你的私钥加密哈希值，得到数字签名，如d5S6ch5nPz4L29ya8vX；&lt;/p&gt;
&lt;p&gt;你把密文和数字签名一起发给彤彤，收到信息后，她要做两件事：&lt;/p&gt;
&lt;h2 id="读取信息原文"&gt;读取信息原文&lt;/h2&gt;
&lt;p&gt;用她的私钥解密密文，得到的明文就是原文：今晚十点汉庭见；&lt;/p&gt;
&lt;h2 id="确认发送者身份"&gt;确认发送者身份&lt;/h2&gt;
&lt;p&gt;彤彤要确认这信息是不是你发的。她用你的公钥解密数字签名，如果解密结果为14d403e5，那就代表发信息的人是你，否则就是有人在冒充你；如果你问14d403e5是哪里来的，答案是这是彤彤把密文哈希一次的结果。&lt;/p&gt;
&lt;p&gt;你可能觉得奇怪，解密不应该是用收信人私钥的么？为什么发件人公钥也可以解密？答案是：也可以。&lt;/p&gt;
&lt;p&gt;这就是非对称加密的另一个神奇之处：公钥和私钥互为加解密工具。不仅可以“公钥加密、私钥解密”，而且可以“私钥加密、公钥解密”，但唯独不能用原来加密的钥匙解密。&lt;/p&gt;
&lt;p&gt;但为什么我们不用私钥加密原文？因为如果用私钥加密，那就只能使用公钥解密，而公钥都是公开的，这样就使加密失去意义。&lt;/p&gt;
&lt;p&gt;而数字签名用私钥加密的是密文的哈希值，解密后不为获知信息，而为校验身份，所以数字签名可以用私钥加密。&lt;/p&gt;
&lt;p&gt;要判定信息是否为发送者本人发送，只需满足一个条件：&lt;/p&gt;
&lt;p&gt;用发送方公钥解密数字签名的结果 = 密文哈希值，即：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-03/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;f：解密函数&lt;/p&gt;
&lt;p&gt;DigitalSign：数字签名：5S6ch5nPz4L29ya8vX&lt;/p&gt;
&lt;p&gt;PublicKey：发送者（你）的公钥&lt;/p&gt;
&lt;p&gt;Hash：哈希函数&lt;/p&gt;
&lt;p&gt;Hash ( CipherText )：密文哈希值&lt;/p&gt;
&lt;p&gt;如果你读到这里有点晕，请回头逐字逐句阅读一遍，耐心是最好的补药。相信我，最多两遍你就能彻底明白数字签名的过程。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-03/04.jpeg" alt=""&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;数字签名是一种能被轻松识别的认证工具，因为验证它的过程本质上只是用计算机解一道数学题而已。所以，眨眼间就可以完成认证过程，不用像人去比对字迹或印章那样耗时费力。&lt;/p&gt;
&lt;p&gt;数字签名保证信息是发送者本人发的：其他人无法伪造，同时发送者无法抵赖。因为发送者私钥只有发送者本人知晓，除非泄露。&lt;/p&gt;
&lt;p&gt;所以你看，私钥几乎等于你在比特世界的肉身。&lt;/p&gt;
&lt;p&gt;无法抵赖、不可伪造和轻松识别三大特性，使得数字签名成为理想的认证工具：商业机密、网上银行和加密货币等都离不开数字签名。它只是开始理解时有点绕，彻悟后你会体会到它的精妙：&lt;/p&gt;</description></item><item><title>如何给你的文件设定独一无二的编号？</title><link>https://da-shan.uk/posts/btc-s01-02/</link><pubDate>Sun, 22 Oct 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-02/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-10-22 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-02/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;你去上学，班主任会告诉你一个学号；毕业后上班，HR会给你一个工号；你回家，抬头看得到门牌；你去桑拿，前台会给你一块手牌；&lt;/p&gt;
&lt;p&gt;站在管理者的角度看，为了把一摊事管得有秩序，就得排序。这样协作系统能定位目标，更好地服务。否则，课程没法排，工资没法算，快递员找不到你家，甚至在你洗完澡结账时都会纠结半天，因为前台搞不清你到底吃了多少果盘。&lt;/p&gt;
&lt;p&gt;编号，要解决两个问题：1）能定位；2）无重号。&lt;/p&gt;
&lt;p&gt;小规模编号，比如班级学号，从1、2、3……开始，就能解决问题；中等规模的如大企业工号，数字前面得加个字母：A120908；大规模编号如身份证系统，别管谁进来，统一18位数字标签贴在你的身份证上。&lt;/p&gt;
&lt;p&gt;但，如果是给互联网里的所有文件编号，标签应该如何贴呢？那可是星辰大海呀，如果按老办法排序，那得到千年后才能给你现在看的这篇文章编上号。而且遇到重号问题如何解决？是否专门安排公务员管这摊事？&lt;/p&gt;
&lt;p&gt;那有没有效率更高的编号方法？有，答案是哈希算法。&lt;/p&gt;
&lt;h2 id="什么是哈希算法"&gt;什么是哈希算法？&lt;/h2&gt;
&lt;p&gt;哈希算法是将文件映射为较短的固定长度字符串（哈希值）。——维基百科&lt;/p&gt;
&lt;p&gt;任何计算机文件都由电子讯号组成。简单地说：0和1组成了全部的信息世界，即：比特世界。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-02/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;比如，我们眼中的香肠图片，在比特世界里是这样的：01010111001111010101100101110101……&lt;/p&gt;
&lt;p&gt;我没写完整，上万位吧，写完得一屋子，总之就是0和1两个数字排成了一条长龙，这才是这张图片在比特世界里的本来面目，我们把这串长龙称为“二进制文件”。&lt;/p&gt;
&lt;p&gt;我们把这条长龙切碎，搅拌之后就得到哈希值：4f7f56ecc0b725893b59f6428258304a94e40f48&lt;/p&gt;
&lt;p&gt;哈希值是哈希算法的最终结果，是文件在互联网里的编号。如果这张图片是一个人，那哈希值就是TA的指纹、TA的身份证编号。&lt;/p&gt;
&lt;p&gt;你完全不用理解哈希算法如何把二进制文件变成哈希值，这是数学家的事，你只要把哈希函数看作一台屠宰机器，就能理解一切：这台机器把任何猪都能剁成等长的香肠，而哈希值就是这根香肠的花纹。&lt;/p&gt;
&lt;p&gt;除了所有哈希值都一样长之外，这些花纹有一些其他漂亮的特性，能轻巧地用在比特世界的方方面面。&lt;/p&gt;
&lt;h2 id="哈希值的特性"&gt;哈希值的特性&lt;/h2&gt;
&lt;p&gt;如果你看到两个文件有完全相同的哈希值，那你立马可以判定它们是同一文件。这也是哈希值最基本的特性：相同文件的哈希值相同，即，复制后的文件与原文件哈希值相同。&lt;/p&gt;
&lt;p&gt;这容易理解，因为既然是两只一模一样的猪，那它们用相同方法做出来的香肠应该一模一样。但如果两只猪其他部位完全相同，哪怕它们尾巴尖上的一根毛不同，那香肠最终的纹理会完全不同。&lt;/p&gt;
&lt;p&gt;源文件稍有改动，哈希值面目全非。&lt;/p&gt;
&lt;p&gt;这一特性使得用哈希值标注的文件无法被篡改，因为哪怕只篡改上图一个像素，马上就能被认出——哈希值会完全不同。&lt;/p&gt;
&lt;p&gt;另外，哈希值还有的特性：&lt;/p&gt;
&lt;p&gt;第一、不可逆推：在具备编码功能的同时，哈希算法也作为一种加密算法存在。即，你无法通过分析哈希值计算出源文件的样子，换句话说：你不可能通过观察香肠的纹理推测出猪原来的样子。&lt;/p&gt;
&lt;p&gt;第二、计算极快：哈希一部20G高清电影和一个5K文本文件复杂度相同，计算量都极小，可以在0.1秒内得出结果。也就是说，不管猪有多肥，骨头多硬，做成香肠都只要眨眨眼的时间，&lt;/p&gt;
&lt;p&gt;能用极快的速度给你的文件编出不重复的号码，而且任何人都无法通过这个号码推算出文件原来的样子，这就是哈希算法的意义。&lt;/p&gt;
&lt;p&gt;把文件切碎和搅拌的过程就是哈希算法，而切碎和搅拌的动作，称为加密和压缩，而不同的烧菜师傅会有不同的刀法，于是就有了很多哈希算法，比如：CRC-32、MD5和SHA1……名字虽然唬人，可它们之间只是张家师傅和李家师傅的区别，但&lt;/p&gt;
&lt;p&gt;不同师傅之间的刀功却有高下，那差距究竟在哪里呢？&lt;/p&gt;
&lt;h2 id="什么是好的哈希算法"&gt;什么是好的哈希算法？&lt;/h2&gt;
&lt;p&gt;正如前文维基百科的定义：哈希算法只是将文件映射为哈希值，“映射”的意思是投影。既然是投影，那总会不同的人有一模一样的影子。所以最终在数学意义上，哈希会发生重号，只是重号概率小到我们难以理解地接近零。&lt;/p&gt;
&lt;p&gt;这种无限接近零的概率类似于：明天一早你突然当选美国总统、你从小到大每天都中六合彩，或者下一秒49个外星人在你面前排成7×7方阵……的概率。但万一碰到了呢？我们把这种情况称为碰撞。&lt;/p&gt;
&lt;p&gt;越好的哈希算法发生碰撞的概率越小。&lt;/p&gt;
&lt;p&gt;可如果只为完成“少发生碰撞”这一个目标，很容易实现，你只要把哈希值弄得长长的就可以了。但哈希值最终不是纯数字编号，而是数字与字母的组合，目的也只有一个：缩短哈希值长度，便于实际应用。毕竟，没有人会带一根1米的香肠出差。&lt;/p&gt;
&lt;p&gt;如果你要自建一个小型图片网站，使用CRC-32短哈希算法给图片贴标签就足够了，它能为你提供42亿种不同的标签，而且文件名长度（哈希值）永远只有8位。&lt;/p&gt;
&lt;p&gt;如果你要检索论文库，MD5算法足够你用：哈希值稍长，但几乎不会有重复，能让你做出足够精准的索引。&lt;/p&gt;
&lt;p&gt;而商业级加密，你可以用SHA256：哈希值稍长，但倒推难度极大：需要人类当前所有计算能力总和的千万倍……还不一定能算出来。&lt;/p&gt;
&lt;p&gt;所以，无论是CRC-32、MD5、SHA256……并没有绝对最好的哈希算法。只有在不同场景下，衡量成本收益之后，才存在相对最优。&lt;/p&gt;
&lt;p&gt;结语&lt;/p&gt;
&lt;p&gt;二十年前，如果你去图书馆找一本名叫《美国种族简史》的书，得先思考它属于宗教类还是历史类，然后再跑去不同的区域爬格子。而现在，你只需轻轻一点，整个屏幕就会告诉你有没有这本书，如果有，那它在哪里。&lt;/p&gt;
&lt;p&gt;图书馆用的小规模搜索技术贴标签：以前是手工分类，现在是数据库。&lt;/p&gt;
&lt;p&gt;而互联网级别的大规模的搜索就得靠哈希算法生产索引标签了。比如Google等搜索引擎、迅雷等下载软件、比特币等加密货币……都能通过哈希值准确定位目标。&lt;/p&gt;
&lt;p&gt;即使哈希算法乍看起来毫不起眼，无非做出了一串奇怪的字符，但它却是比特世界里的板砖，能搭出高楼大厦，能让比特世界更有序。即使离你再远的信息，在哈希算法的帮助下，都可以让你触手可及。&lt;/p&gt;
&lt;p&gt;附：从今天起，你可以自己哈希——哈希工具1、哈希文件：http://www.atool.org/file_hash.php&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-02/03.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>如何防止悄悄话被偷听？</title><link>https://da-shan.uk/posts/btc-s01-01/</link><pubDate>Sun, 15 Oct 2017 08:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/btc-s01-01/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文作者：汤强 · 原发表于 2017-10-15 · 收录存档于本站&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;83版电影《火烧圆明园》有个桥段：八国联军已经把刺刀戳进了北京城，慈禧带儿子坐轿子跑路，但她并不知道有大臣密谋要对她下手，毕竟趁太后还在实习的时候颠覆她最容易。&lt;/p&gt;
&lt;p&gt;小皇帝的亲叔叔奕䜣知道情况，想和慈禧说悄悄话，却不能明讲，但他硬是掰开群臣送行队伍，在他们眼皮下给慈禧递了奏折：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-01/01.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;慈禧打开一看，奏折平淡无奇，无非是凡尘俗事。但套上一张挖了洞的纸再看，意思就完全变了：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-01/02.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;“当心肃顺、端华、戴桓“——这是恭亲王奕䜣真正想告诉慈禧的。&lt;/p&gt;
&lt;p&gt;肃顺、端华、戴桓三人是老皇帝驾崩前任命的辅政大臣，后来我们的历史书都记下了这些人的命运：被慈禧一锅端。信息就是这么重要，奕䜣和慈禧用当时最先进的加密解密技术巩固了权力。&lt;/p&gt;
&lt;p&gt;一百年后，读着历史书的小学生们也没闲着，他们不甘落后，更新了加密技术——火星文，用来传递上课时的信息，即使被老师抓包，也是一头雾水。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-01/03.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;现在恭喜你，你只用了半分钟的时间就了解了百年对称加密史。&lt;/p&gt;
&lt;h2 id="什么是对称加密"&gt;什么是“对称加密”？&lt;/h2&gt;
&lt;p&gt;恭亲王奕䜣想告诉慈禧：“当心肃顺、端华、戴桓。“但他不能明写，否则被肃顺等人知道，小命难保。于是只能“加密“——把短信（原文）写成一篇正儿八经的奏折（密文）。&lt;/p&gt;
&lt;p&gt;和肃顺他们一样，慈禧拿到奏折第一眼看不出原意，要想知道得过“解密“这关，“解密“就是把那张洞洞纸蒙在奏折上，原文含义瞬间了然。&lt;/p&gt;
&lt;p&gt;现在你明白了，奕䜣“写“完奏折之后，加密就是取下洞洞纸，解密就是盖上洞洞纸，两者互为逆操作。&lt;/p&gt;
&lt;p&gt;同样的思路，在小学生的火星文里，加密是把中文变成火星文，解密是把火星文变成中文，两者互为逆操作。&lt;/p&gt;
&lt;p&gt;简单地说，加密是把原文按一定规则变成面目全非的密文，别人看到密文没关系，因为他get不到意思。而发送方早已与接收方约定了转换规则，接收方能懂。比如奏折或火星文被别人看见没有关系，接收方收到密文，把规则倒着用在密文上就能解密，原文立等可取。&lt;/p&gt;
&lt;p&gt;加解密互为逆操作的加密方式，就是对称加密。对称加密功能强大，除了可以完成信息传输，还可以帮你处理人际关系。&lt;/p&gt;
&lt;p&gt;比如，你是个学霸，睡你上铺的弟兄求你帮忙，要你考试时把选择题答案写在纸条上传给他。他平时待你不薄，没事还送你一点比特币，所以你惴惴不安，一边担心监考老师扑上来把你人赃俱获，一边又怕伤及兄弟情分，但是还好，你突然想到了对称加密。&lt;/p&gt;
&lt;p&gt;于是，考试前你们约定：ABCD四个选项分别对应wxyz四个字母，大家都记住。&lt;/p&gt;
&lt;p&gt;考场上，你把答案写成wxwyz的样子，包在纸里，折成飞机的样子，让它降落在你弟兄的桌上，你兄弟一边顿悟到正确答案是ABACD，一边又领悟了你的智勇双全。&lt;/p&gt;
&lt;p&gt;而且，即使被抓包，老师打开飞机看了wxwyz也是一头雾水，所以不会留下证据。想继续救你兄弟？再写一张扔给他就是了。&lt;/p&gt;
&lt;p&gt;很厉害的加密，但它有什么软肋呢？其实你一定想到了：如果肃顺拿到洞洞纸、如果小学老师学过火星文、如果监考老师联想到ABCD与wxyz之间一一对应的对应关系，那密文就会被破解，信息传输就宣告失败。&lt;/p&gt;
&lt;p&gt;一百年来，人们一直在研究解密的方法，而且也有成功解密的高光时刻。比如，英国计算机大神图灵破解了德国军队的加密系统，让德国人的军事机密完全暴露在盟军的眼皮地下，最终赢得了二战，电影《模仿游戏》完整地讲述了这个故事。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://da-shan.uk/images/btc/btc-s01-01/04.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;那有没有一种加密方法能够阻止破解呢？答案是“非对称加密“。&lt;/p&gt;
&lt;h2 id="什么是非对称加密"&gt;什么是“非对称加密”？&lt;/h2&gt;
&lt;p&gt;非对称加密比慈禧的对称加密晚出生80年，至于为什么要晚那么久，因为必须要等到有了计算机网络，人们有了安全传输文件的需求，才能点燃研究的火焰。&lt;/p&gt;
&lt;p&gt;这一把火直接烧出了“非对称加密“——一种更安全的加密技术。与对称加密不同，非对称加密不支持逆推。即，就算我偷到了你的密文和加密方法，我也无法知道你的原文，这是怎么回事？&lt;/p&gt;
&lt;p&gt;假设现在你想通过网络传递“good“这个单词给你朋友彤彤，你有两个目标：1）让彤彤收到“good“这条信息；2）不让其他人知道你发给了彤彤“good“这条消息；&lt;/p&gt;
&lt;p&gt;为了完成上面两项目标，彤彤和你需要这么做：&lt;/p&gt;
&lt;p&gt;彤彤把字符串&amp;quot;publicKey&amp;quot;公开在网上，这是她的公钥（“钥“既可读yào，也可读yuè，都没错），你想对她说什么悄悄话就用这把公钥加密吧，你可能觉得奇怪：用公开的字符串加密，难道不会被别人截取破解么？&lt;/p&gt;
&lt;p&gt;答案是不会，因为在非对称加密中，用公钥加密，无法用原公钥解密，解密只能用私钥，私钥是一串和公钥完全不同的字符串，而且只有晓彤自己掌握，她的公钥是通过她的私钥算出来的，所以你放心地用公钥加密吧。&lt;/p&gt;
&lt;p&gt;这就好比用一把钥匙锁住的门，居然只能被另一把完全不同的钥匙打开，这的确违反常识，但却是非对称加密和核心：公钥加密的原文，原公钥无法解密，只能用对应的私钥解。&lt;/p&gt;
&lt;p&gt;还有一点，通过私钥可以计算出公钥，但通过公钥无法推导出私钥。所以你现在知道了，私钥是爸爸，公钥是儿子，爸爸可以生出很多儿子，但所有的儿子加起来都生不出一个爸爸。&lt;/p&gt;
&lt;h2 id="非对称加密的过程"&gt;非对称加密的过程&lt;/h2&gt;
&lt;p&gt;我们用F表示加密算法，你可以把F想象成一个黑箱，黑箱就像函数F(x)=y一样，把x塞进去，就出来个y。不用管中间的计算步骤，你只要知道F是数学天才们搞出来的就可以了。&lt;/p&gt;
&lt;p&gt;F足够的复杂，以至于能为你提供足够的安全。&lt;/p&gt;
&lt;p&gt;你把原文（good ）送进加密函数F 里，用彤彤的公钥（publicKey ）加密后，密文（CipherText）就马上从黑箱的另一头钻出来了，即：F( good, publicKey) = CipherText&lt;/p&gt;</description></item></channel></rss>