提到比特币,很多人想到的无非是几种,要么是一种带着革命光环,有着科技背景的金融药品,要么是一个披着阴谋论和传销阴影的庞氏骗局,说明大部分人对这个新生事物缺乏根本的认识,包括我身边的一些朋友。所以我觉得有必要写一篇关于比特币原理的入门文章,介绍一下比特币的基本原理。为了帮助你快速理解,这篇文章比较简单,只讲基本概念,多是干货,注意吃。
比特币的发展
比特币有着梦幻般的发展历史,但实际发展历史只有八年。自2008年金融危机以来,它已经萌芽。当时各国为应对危机推出宽松货币政策,主权货币信用降至冰点,暴露出信用货币的弊端。换句话说,基于国家信用的货币体系并不那么可靠。比特币就是这样诞生的。它的基础重在数学而不是信用,整个交易系统的可靠性寄托在密码学上。以数学为基础,是交易规则的创新。
中本聪在论文《比特币:一种点对点的电子现金系统》中首次提出了基于去中心化网络的数字货币,旨在设计一种可以降低交易成本、保证交易匿名性、摆脱中央清算机构控制的货币体系。
2009年,在线比特币交易网络投入运营,首批50枚比特币由中本聪本人挖出。
2010年,一个美国程序员完成了第一笔交易,用1万个比特币买了一个披萨(按现在的汇率,这1万个比特币现在价值约6000万人民币(2017年1月),史上最贵披萨);
2011年是比特币黑暗的一年。发生多起黑客盗窃事件,全球最大的网络黑市丝路(SilkRoad)将比特币纳入结算方式,以提高其网站的匿名性,开启了比特币的阴暗面。高度匿名也为非法活动提供了极好的工具。
此后比特币一帆风顺,兑人民币汇率甚至一度接近1万。如果2009年投资,投资回报率至少1000倍;
短短八年,一个乌托邦式的理想主义货币计划总市值近200亿美元。中本聪分散化的货币设计非常成功。当然,除了金融行业的发展背景,比特币本身还有以下优秀的特性,使得其规模日益扩大。
第一,货币发行规则。比特币是以奖励为基础发行的,每生成一个区块,节点就会得到相应的奖励,这样大家就有动力投入资金来维持整个交易网络的正常运行(交易网络的正常运行需要巨大的计算能力)。目前大部分计算能力由矿机提供,矿机的主要目的是获取奖励。这种设计使得货币发行和节点扩张巧妙地结合在一起,相互激励。
第二,可靠的分布式账本。分布式账本的好处是保证交易不可篡改,除非你能修改整个网络节点一半以上的账本,这种可能性非常小。
第三,匿名交易。比特币的兴起与黑市交易、非法洗钱等密切相关。这些交易需要一个可靠的匿名交易平台。比特币的钱包地址(相当于通常的银行账户)是匿名的,钱包地址的生成是基于密码学,即你可以为一笔交易生成上千个“账户”,真假难辨,完全匿名,增加了追踪的难度。
比特币是基于数学原理,而不是信用。在这方面,它是现代货币演变的一个重要标志。人类第一次用数学作为货币的基础。比特币天生就有相对公平公正的基因。它为我们的经济找到了一种新的可能性,那就是摆脱有几千年历史的中央集权的金融体系,建立一种具有数理合理性的新的经济形态。
基本数学原理
比特币的数学原理主要涉及两个方面,一是数字签名和非对称加密技术,二是数字指纹技术。如果你了解数字加密技术,可以跳过这个介绍。
1、数字签名机制
数字签名是现代计算机密码学中的一个重要概念。比特币的数字签名基于非对称加密算法。具体的例子是这样的:如果小明想给小红发一条信息,但是这条信息有可能被小张截获,他们就想到一个好办法,就是通过一套约定的加密规则对信息进行加密,这样即使小张监听到了内容,仍然无法破译这条信息,因为他不知道加密规则。这被称为对称加密。
对称加密场景
但是对称加密有一个明显的缺点,就是小明需要告知小红加密的规则。如果小拦截了加密规则,小明和萧红之间的信息交流就可以被破解,而小也以小明的身份给萧红发送假信息,所以我们需要另一套交流规则来避免这种情况。
非对称加密可以有效解决上述问题。首先,小明需要一对公钥和私钥,它们是成对存在的。公钥由私钥通过不可逆的数学公式生成,公钥和私钥遵循以下规则:
1.用公钥加密的信息可以用私钥解密,反之则不行;
2.用私钥签名的信息可以用公钥验证,即验证签名;
根据以上规则,我们可以设计以下信息交互场景:
使用私钥签名和公钥验证方案
从上图可以看出,在这种情况下,整个系统中没有人可以冒充小明发送消息,因为只有小明知道他的密钥,这样的设计可以有效保证发送者不被恶意冒充。
当然,这种机制也可以用于加密信息传输:
公钥加密和私钥解密的示例
以上是数字签名和非对称加密的主要内容。当它们一起使用时,可以保证交易的安全性。签名算法的一般原理可以通过以下简单的数学示例来说明:
我们将两个数相加,例如2 ^ 8=10。这个结果可以通过一次运算来验证,但是从10推断出2和8相对困难,因为有很多种可能。这说明我们可以找到一个不可逆或者逆向求解困难的数学算法,利用这个算法实现非对称加密。
其实比特币使用的是椭圆曲线数字签名算法(SECP256K1),可以很大程度上保证交易过程不会被破解,所以我们平时使用的时候也不用担心。比特币钱包地址的生成也是基于这个算法。首先,从随机字符串中生成一个密钥,然后通过密钥使用算法生成一个公钥。这个公钥经过变换生成比特币钱包地址,也就是我们只要知道随机种子或者密钥就可以计算出钱包地址,但是这个过程是不可逆的,所以保护好我们的密钥非常重要。
2、数字指纹
如果小明给小红发消息,小红如何验证这条消息被小张拦截后没有被篡改?小明想到了一个聪明的办法。他预先转换发送的信息,生成一个字符串。如果原始信息被篡改,这个字符串也会有很大变化,然后他把两端的消息都发给了小红。小红首先将接收到的信息进行变换得到一个字符串,然后将该字符串与小明生成的字符串进行比较。如果相等,则表示消息没有被篡改。流程如下:
1.小明将发送的信息通过算法进行转换,得到指纹串。
2.把这个信息和对应的指纹串发给小红。
3.小红提取这些信息,进行同样的变换,得到第二个指纹串。
4.小红可以通过比较两个字符串来发现信息是否被篡改。
以上过程我们称之为数字指纹技术,广泛应用于比特币交易系统。常见的数字指纹算法有MD5/SHA1/SHA256等。请注意,数字指纹也是不可逆的,也就是说,不可能通过
交易原则
比特币交易是去中心化的。为了便于理解,我们不妨想象一个新的故事。故事里有三个主角:小明、小红和小张。小明想给小红转一笔钱。传统的交易流程应该是这样的:
1.指定一个结算中心记账,需要维护一个新的中心总账。在这幅图中,小张扮演这个角色;
小张的结算中心功能
2.小明支付小红的结算流程。
小明付给小红100元的结算过程。
我们可以看到,小明给小红的付款是小张做的。小张通过操作账簿完成转账工作,不透明。每个人只能找到自己的账户信息,而小可以随意查看和操作自己的个人账户。
3、货币的发行
我们目前的货币体系是以信用为基础的。其实我们使用的货币价值是有国家信用支撑的,央行发行货币。中央银行估算市场需要的货币总量,然后发行相应的货币量,然后主要通过商业银行以负债的形式,使货币流通到市场。整个货币的发行是以央行为中心,凭空印制的,货币的价值很大程度上取决于我们对央行的信任。
4.该系统存在的问题。
显然,在这样一个结算系统中,小张的地位非常重要。每个人的账户信息都被安排在一个由他维护的中心账本里。对于小明和小红来说,这种付出是基于对小张的信任。因此,集中交易系统有以下缺点:
1.过度依赖有能力冻结所有账户的中央票据交换所;
2.独特的总分类账有丢失或损坏的风险;
3.交易成本比较高,需要一个中心组织来进行所有的记账操作;
4、通货膨胀风险,因为货币是由中央机构发行的,存在这些机构乱发货币的风险,但央行通常会用这种手段来调控经济;
针对这些问题,比特币提供了相对更好的解决方案。由于比特币采用分布式账本,没有中央结算机构,在底层原理上与传统货币体系有很大不同。其实比特币的所有交易节点都是平等的,每个节点负责维护一个账本,每隔一段时间就会同步所有账本。比特币网络还提供了“民主”的账本决策机制,保证任何时候都只有一个有效的账本。一般交易流程如下:
小明、小红、小张需要交易,但彼此不信任。他们无法接受其中一个人单独负责记账,于是约定每个人维护一个账本,不加区分地记录所有交易,不依赖于某个账本。在这种情况下,每个人都是记账人,只是每个人记账的结果可能不一样。谁占上风?于是他们约定最终版本的账本由投票机制保证,三个人中有两个人的核算结果相同,于是大家的账本都被强制同步到最终版本,于是他们开始愉快的交易。流程如下:
分布式分类帐同步流程
我们重新审视这个过程中发生了什么:
1.交易摆脱了对中央总账的依赖,记账由大家共同参与;
2、民主决策机制,相同账簿过半数视为有效账簿,其余强制同步;
3.核算成本分散,全网分摊;
4、杜绝图书被篡改的可能性,网络中至少有一半以上的图书可以生效;
以上是分散交易的核心原理,但是这个系统还是存在一些致命的漏洞,比如重复支付等。这里,先按否。
真正的比特币交易是基于密码学的,它们之间的通信私密性是由一对公钥和私钥来保证的。简化的步骤如下:
第一步,小明想给小红转一笔钱。他首先用他的私钥签署一个传输消息,该消息包括以下内容:
1.小明自己的钱包地址;
2.小红的钱包地址;
3.转账信息(转账金额、时间等。);
4.小明的公钥;
第二步,小明通过比特币网络向全网广播这个转账信息,全网每个节点都可以收到这个转账请求;
第三步,由他人(小张、肖强)核实这个转账信息,主要核实以下几点:
1.通过小明的公钥验证该信息是否是小明灿发送的;
2.小明钱包地址下是否有足够的钱,因为账本是公开的,大家都可以查。根据交易记录,可以了解小明的余额是否足够。
第四步,其他人宣布验证结果,投票决定交易是否有效。如果有效,交易记录会保存在最新的账簿中,其他所有账簿都会同步到这个账簿中(其实这部分工作是很多矿工完成的,这是一个简化的过程,现阶段可以理解)。
第五步:小红确认付款,小红可以通过观察同步后的最新账本知道是否到账。
小明给小红转了100元。
以上是简化版的比特币交易流程。我们注意到核实信息的萧蔷和小张在这个过程中起了至关重要的作用。这些人是矿工。
矿工
我想很多人对比特币的第一印象是矿工。经常有新闻报道某个矿工挖了多少比特币,如何一夜暴富。与此同时,问题也随之而来。矿工的主要工作是什么?采矿是如何进行的?为什么采矿需要这么高的配置?
事实上,矿工在比特币网络中的主要工作是记账。每个矿工都拿着一本账本,是从其他旷工抄来的。在中本聪的设计中,谁记账速度快,谁就以账本为准,谁获得记账权,谁就自动获得一定数量的比特币奖励。所以矿工之间是事实上的竞争关系,竞争的是计算机的计算能力。
在这种制度的鼓励下,为了获得奖励,矿工们会不断加入。更巧妙的是,矿工不仅承担记账的核心工作,系统还通过奖励比特币起到了发行货币的作用,一举两得。
你可能会想,记账不需要消耗太多的电脑性能。为什么那些矿工会花巨资买性能优越的显卡?这就要谈到中本聪的另一个规则设计了。他规定所有矿工必须算一个数,这个数完全是随机的。谁对谁就能获得记账的权利,计算这个数字需要计算机不断尝试所有的可能性。这个时候,谁的计算能力强,谁就最有可能计算出这个数,夺取记账权,获得奖励。具体步骤如下:
1.小明广播转账请求;
2.所有矿工都收到了这一转移请求;
3.所有矿工开始检查这个交易请求的有效性,即发送方是否经过公钥验证,数字密钥验证是否被篡改,支付账户余额是否充足;
4.验证工作完成后,矿工们又开始计算一个数字,这需要很大的计算能力。谁优先计算,谁就获得这笔交易的记账权;
5.矿工A先赢,他广播自己计算的结果供其他矿工检查;
6.其他矿工通过检查,认可A记账的合法性;
7.矿工A把这个交易信息加到自己的账本后面;
8.系统定期将A的账本同步到其他矿工,保证账本的一致性;
当然,以上是简化的过程。其实矿工们争的是一个区块(可以理解为账本上的一页)的打包权。一个块是10分钟内全网所有交易的集合。矿工获得区块打包权后,加盖时间戳,然后将区块添加到区块链(可以理解为账本)的尾部。
账簿同步问题
从上面的描述我们可以看出,比特币的核心是如何同步这些分散的账本,防止这些账本之间出现大的差异。对此,中本聪提出,所有账簿都要以记录链最长的账簿为准:
比特币的账本树
当两个节点的账簿记录不一致时,比如上图中的分支1和分支2,系统以最长的默认链为主分支。在该图中,选择分支2作为主分支,即所有账簿都与该分支同步。这种机制确保不会有太多的分叉。在比特币系统中,每隔10分钟,所有节点都会自动同步自己的账本,并将最新的分支同步到自己的账本。
双重支付问题
有这种可能,小张打算向小明和小红买些东西,但打算花两个钱。原理如下:
1.向小明发起正确的付款请求,等待小明的确认;
2.交易确认后,最新的账本增加了一个分店,被小明看到,确认付款;
支付给小明的账簿分支
3.小明确认收款后,小张回退一次自己账本的最新分支,绕过小明的付款记录,以此为起点向小红发起付款;
支付给小红后的账簿分支
4.这时账本里有两个分支,然后小张继续在小红的分支上交易,因为比特币会默认最长的分支为主分支,小明支付的分支会被忽略删除。
双重支付完成
上述问题就是所谓的重复支付。为了杜绝这种情况,中本聪提出,当一笔支付完成后,交易链将通过在当前交易的基础上增加至少6个交易页面得到认可。因为每个交易页面计算一个随机数需要很大的计算能力,在这个规则下,小张要想实现双支付,必须在小红的分支页面上再生成至少6个交易页面才能被识别。这其中涉及的计算能力成本是不可估量的,即使计算能力很多,也很难赶上账本的自然增长。中本聪从数学角度证明了这一机制的可行性,从而可以防止重复支付。
中本聪提出的工作量证明机制是为了防止重复支付,这也是比特币优于其他电子货币的设计体现。
区块链技术
块是交易记录的集合,可以理解为普通簿记中的一页。每一页都记录了很多不同的交易信息。这些页面按时间顺序装订成区块链,分布式记账是区块链技术的一种体现。
在比特币网络中,每隔10分钟就会对全网的交易进行打包,加上时间戳形成一个区块,合并到比特币账本中,也就是区块链。包装是由各个节点的竞争决定的。谁先算出随机数,谁就负责打包记账。
区块链技术不仅应用于比特币,也受到其他行业的青睐。其优势不言而喻。分布式的存储结构和去中心化的决策机制,可以有效保证信息的安全性和决策的公平性,这也是比特币的潜在价值之一。
比特币钱包
既然比特币账本是公开的,就意味着每个人都有权利查看每一笔交易,所有交易记录都是透明可见的。它是如何实现匿名交易的?这就涉及到比特币钱包地址的生成机制。在比特币网络中,钱包地址的概念相当于我们日常的银行账户,密钥相当于对应的账户密码。不同的是,比特币没有开户流程,我们不需要认证就可以获取钱包地址,非常简单。
第一步,生成一个随机字符串(或者自己定义一个密码);
步骤2,对字符串或密码(私钥)进行变换(哈希变换SECP256K1)生成公钥;
第三,生成的公钥被重新编码(BASE58)以生成钱包地址。公钥和钱包地址是可逆的,并且在加密上是等价的。
从上面的流程可以看出,我们可以离线生成大量的钱包地址,而这些钱包都不是实名注册的,这意味着我们可以在没有用户的情况下生成大量的银行账户,甚至每笔交易都会生成多个钱包地址,这就增加了追踪和有效隐藏财富的难度。例如,钱包应用程序区块链为每笔交易生成一个单独的钱包地址。
政府强制钱包地址实名登记怎么办?比特币钱包的生成不依赖于任何机构,可以离线生成,无法实现完全实名注册。
从比特币钱包的生成原理出发,开发出一个有趣的概念,即大脑钱包,其工作原理是这样的:
1.用户想象一段文字,可以是只有用户知道的任何东西;
2.使用此文本生成密钥;
3、生成带有密钥的钱包地址;
因此,只要用户知道初始文本,就可以随时复制钱包密钥和地址。只要不泄露初始文本,钱包对应的财富就是安全的,不需要银行卡、存折等。只需要记住一篇课文。
假设你是一个贪官或者罪犯,需要接受一笔汇款,于是你想象一个只有你自己知道的秘密短语,用这个秘密短语生成一个比特币钱包,然后把钱包地址发给对方,对方将人民币或者美元兑换成比特币,再把这些比特币转到你指定的钱包地址,一笔非法交易就完成了。在这个过程中,你是完全匿名的,唯一最重要的密语存在于你的大脑中。不需要用假身份开户,随时可以兑现。更重要的是,你不会通过银行结算系统。
从这个角度来看,比特币可以有效降低贿赂、洗钱和非法交易的监管风险。
比特币的价值回归
诚然,比特币的汇率屡创新高,但仍难以认可比特币真正的价值支撑。在近8年的发展过程中,比特币始终没有回归其货币本质。从目前的发展来看,比特币在很长一段时间内还是会摇摆着寻找自己的价值锚点。如今比特币的价值主要集中在以下几个方面:
1.稀缺性,比特币的发行是一个收敛的过程。每隔一段时间奖励减半,也就是货币发行量减半。随着时间的增加,比特币的最终产量会减少到零。到目前为止,比特币已经全部发行完毕,数量稳定在2100万枚。长期来看,比特币还是有一定的投资价值的。在这方面,比特币更像黄金;
2、技术价值,比特币衍生的区块链技术也逐渐开始在其他领域应用。这项技术对相关行业的价值不可估量。不少外资银行将区块链技术应用到具体业务中,提高业务效率,但技术价值不能算作比特币本身的价值。
3,黑色产业,比特币自推出以来就获得了黑色产品的青睐。最有名的是丝路,卖很多违禁品,从毒品到枪支弹药都有。比特币涉及的非法领域规模很难估计,但通过比特币兑换外汇和洗钱确实更容易。我们只能推测,存在大量与比特币相关的地下产业。
4,货币的本质,其实比特币目前的货币属性相当弱,整个亚太地区支持比特币支付的线下商店并不多,虽然它确实是一种流通中的货币。比特币如果不想成为简单的投资品,就需要强化货币属性,回归货币本质。
比特币所处的环境日益复杂,其能力的多样性也在不断被探索。从最初的理想化货币到现在的全能货币,比特币能否回归货币本质还是个未知数。目前国内的比特币市场还是以投机为主,比特币的价格每年都会有一段时间的大幅波动。幕后庄家的用心不言而喻。至于比特币,在价值回归的道路上继续迷茫。