概述概述
2010年,比特币的价格仅为最初的1万个比特币2个披萨(约30美元),2017年则高达每比特币2万美元。8年时间,比特币增长了6666667倍。这样的投资收益是每个人都想要的,但是如何抓住这个机会呢?
报告报告
区块链设计区块链的初衷是一个全面的新事物。需要计算机科学、密码学、经济学、金融学、数学、博弈论等背景知识才能理解以比特币为代表的各种区块链项目。
在当今世界,如果我们想与他人达成交易,通常需要信任第三方来完成交易。比如我们信任银行,所以通过银行给别人转账。我们信任淘宝,所以在淘宝上买东西会用支付宝付款。而淘宝、银行等第三方并不直接参与交易,只是协助完成交易,会因为不信任而在交易过程中使用银行和淘宝。但我们付出的代价是增加交易成本,向银行、淘宝等第三方支付一定的费用。能否在没有第三方参与的情况下安全完成交易,避免支出冗余的成本?
区块链设计一开始就是为了解决这样的问题。区块链通过各种技术手段建立了一个庞大的网络体系,让每个人都可以安全交易,没有信任。
区块链不等于代币、数字货币、比特币。这里的比特币是指在市场上交易的价格,它的符号是BTC。
TOKEN就像航空公司给大家的里程积分一样。每乘坐一次航班,都会获得相应数量的里程积分。每个航空公司都会发行自己的积分,相当于每个航空公司发行自己的TOKEN。数字货币相当于,如果你用积分换飞机票或者其他商品,那么你用的积分就相当于数字货币。最大的航空公司,比如国航,发的积分/TOKEN最多,国航的积分相当于比特币。现在有了国航的积分,只能改签国航的机票,但是想改签海航的机票怎么办?于是有人提供了一个地方,让持有国航积分和海航积分的人聚在一起,帮忙把国航积分换成海航积分。这个地方就是数字货币证券交易所。比特币网络或比特币系统是指不断产生比特币(BTC)的去中心化网络系统。比特币(BTC)是区块链技术首次应用的产物。
区块链技术不是为了产生比特币(BTC)而创造的,更不用说将其带到市场上出售了。比特币最初来自一纸《Bitcoin: A Peer-to-Peer Electronic Cash System》。显然,最初的目的是建立一个点对点的分散交易系统。BTC是本系统对每个参与节点计算交易确认的奖励。正是因为这种去中心化的交易体系是基于密码学技术,交易的结果和回报是可信的,不可篡改的,这就导致了大众媒体过度渲染的稀缺性。才开始各种金融概念,货币概念,物流追溯。这个比特币系统最初的目的很简单,就是建立一个整体成本更低的系统,不需要传统的信任基础和可信任的第三方机构(如银行)来完成交易。当然,随着技术的发展,这项技术确实在很多地方产生了一些革命性的变化。从大家最关心的金钱/价格/投资收益来看,BTC真的从一文不值到2万美元,真的很神奇。
比特币网络交易流程一旦比特币交易被发送到连接到比特币网络的任何节点,该交易将被该节点验证。如果该事务被验证为有效,则该节点将该事务传播到连接到该节点的其他节点;同时,交易发起者将收到一个返回消息,表明交易有效并被接受。如果交易被验证为无效,则该节点将拒绝接受该交易,并向交易发起者返回消息,指示该交易被拒绝。
比特币网络是一个对等网络,这意味着每个比特币节点都与一些其他比特币节点相连(这些其他节点是在对等协议启动时发现的)。整个比特币网络形成了一个松散连接的“蛛网”——,没有固定的拓扑结构,也没有任何结构,使得所有节点都具有相同的地位。比特币交易相关信息(包括交易和块)从每个节点传播——到与其连接的其他节点。一个刚刚被验证并传递到比特币网络中任意一个节点的交易,会被发送到三个或四个邻居节点,每个邻居节点会将该交易发送到三个或四个邻居节点。以此类推,几秒钟之内,一个有效的事务就会像指数波一样在网络中传播,直到连接到网络的所有节点都接收到它。
加密涉及名词解释:公钥和私钥。公钥加密,私钥解密;私钥签名,公钥验证。
私钥:实际上是一组随机数。
公钥:私钥是用椭圆曲线加密算法生成的,但私钥不能通过公钥的逆向计算得到。公钥的作用是在与对方交易时,用自己的私钥加密信息,然后对方用自己的公钥解密,得到原始信息。这个过程通常被称为签名。
地址:由于公钥太长,不能在交易中使用,公钥hash用SHA256、RIPEMD160、Base58加密生成地址。
对称加密,比如:小啊想给小B发信息,但是通信网络可能被窃听。为了解决这个问题,小啊和小B事先讨论了一个秘密密钥。小啊用这个密钥给小B加密信息,小B收到信息后用这个密钥解密。因为加密和解密使用相同的密钥,所以称为对称加密。但这样做的前提是小A和小B之间要有足够的安全通信通道来保证密钥的传输,这显然是对称加密的一个不足。
不对称加密:用公钥加密,用私钥解密。小啊向小B发送信息时,需要用小B的公钥对信息进行加密,小B收到信息后用自己的私钥解密。也就是说,加密和解密都使用接收方的公钥和私钥。因为公钥是公开的,所以发送消息时只需要知道对方的公钥,而私钥不需要对对方透明,因为是用来解密的。
假设这样一个场景:有一天,小啊转了10个比特币给小B,然后广播给区块链。别人怎么知道这笔交易确实是小啊操作的?会不会有别人冒名顶替?这时候就需要公钥和私钥了。为了解决这个问题,小啊在发布交易时需要用自己的私钥对交易进行签名,其他人在收到交易信息后会用小啊的公钥验证交易签名的正确性,从而保证交易是小a操作的
用“私钥”签署交易比特币钱包之间的转账是通过交易实现的。交易数据由被转移钱包“私钥”的主人生成,也就是说有了“私钥”,钱包的比特币余额就可以花掉了。生成交易的过程如下:交易的原始数据包括“转账金额”和“转入钱包地址”,但这些还不够,因为无法证明交易生成者有权使用“转入钱包地址”的余额。所以需要使用“私钥”对原始数据进行签名。生成“钱包公钥”与生成“钱包地址”的第二步相同。在原始交易数据中添加“转出签名”和“转出公钥”,生成正式的交易数据,这样就可以广播到比特币网络进行转账。
比特币——账户体系UTXO模型的关键技术:未用完交易输出。
比特币不是基于账户的方案,而是UTXO方案。比特币规定每一笔新交易的输入必须是一笔交易未使用的输出,每一笔输入还需要前一笔输出对应的私钥进行签名,并且比特币的每一个节点都会在整个区块链上存储当前的UTXO,全网的节点会通过UTXO和签名算法来验证新交易的合法性。这样,节点可以验证新事务的合法性,而无需追溯历史。
这和传统银行账户的思维完全不同。张三有10个BTC。实际上,在目前的区块链总账中,几笔交易(UTXO)的收款人都是张三的地址,这些UXTO的总金额是10。从这个地址收了多少UTXO是比特币钱包跟踪计算的,所以钱包里显示的余额其实就是BTC输出指向你地址的多少值。
在支付系统的账户模型中,你会遇到常见的“双花攻击”。在比特币交易系统中,没有账户余额的概念,但有一个地址的净未使用交易输出数。这种数值计算是从上到下扫描同一地址的所有入口和出口所需要的。只要等六块的确认时间,就可以保证不会被双倍赔付,因为这个交易已经全网确认了。
结论
区块链是比特币的一个重要概念,是中本聪在白皮书中提出的。区块链是通过使用密码学产生的一系列数据块(称为“块”)。新添加的数据块总是可以链接到前一个块,即整个区块链的尾部。比特币点对点网络将所有的交易历史都存储在“区块链”中,因此区块链可以看作是记录比特币交易的账本。因此,从比特币开始,区块链的概念正式诞生。在本系列的下一部分,我们将具体讨论如何抓住区块链概念中的机会。
风险警告:
警惕打着区块链和新技术旗号的非法金融活动。标准共识坚决抵制利用区块链进行非法集资、网络传销、ICO及各种变种、传播不良信息。