美文网首页金马带你定投区块链
比特币到底是怎么运行的?

比特币到底是怎么运行的?

作者: 杨卫祥_老杨提醒 | 来源:发表于2017-08-27 01:26 被阅读100次

    上篇文章“错过区块链你会错过很多”我们聊了区块链的两个特点和比特币的四重含义,不知大家是否还有印象,先来复习下:

    区块链就是大家共同维护的一个去中心的、公开的总账本

    比特币的四重含义

    比特币是世界上第一个,也是迄今为止最成功的区块链应用

    比特币是一家账务公开、去中心化的世界银行。

    这家去中心化的世界银行,发行了一个数字货币,恰好也叫“比特币”。

    比特币还是这家去中心化的世界银行的股票,代码BTC

    今天我们来聊聊比特币到底是如何运行的?

    比特币想解决什么问题?

    目前的互联网支付是怎么进行的?

    淘宝为什么能够在众多在线商城中突出重围,那是因为有支付宝,买卖双方是陌生人,没有信任怎么办?淘宝巧妙引入第三方担保——支付宝,因为有马云的阿里巴巴背书,大家信任。所以我们在淘宝买东西是先把钱打给支付宝,收到货确认没问题之后再从支付宝转移给卖家,等于同一笔钱进行了双重支付。

    也就是说,目前大部分互联网上的交易,大都需要借助可信赖的第三方来处理电子支付信息。

    当在线商家做大之后,比如京东,已经获得了大家的信任,这样就不需要类似支付宝这样的第三方了。

    这类系统受制于“基于信用的模式”的弱点。比如金融中介的存在会增加交易成本和交易时间,商家不能及时收款等。一些小商家不用第三方很难做大。而支付宝就是这么发家的,买东西的货款会压在支付宝很多天,当交易量足够大,支付宝就有足够多的储备金,可以用来投资,而卖家因此就得准备更多的流动资金,从而增加商品价格,而增加的成本就需要我们每个网上购物者买单。

    那有没有一种电子支付系统能够解决这个问题?不用基于信用,不用依赖第三方呢?

    中本聪就是为了解决这个问题,发明了比特币:它基于密码学原理而不基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与,解决了双重支付的问题。

    交易过程

    每个所有者都可以创建自己的账户(地址),这个账户有账号,叫公钥,别人可以用你的公钥转账给你。每个账户有自己的密码,叫私钥。

    交易在网上完全公开,并且交易时需要收款方用自己的私钥(密码)来验证是否对来确认。比如我向你的账户(公钥)付款1个比特币,这笔交易先用你的密码锁起来,然后向全网公开,相当于向所有人吼一下:我向能打开这个账户的人发送了1比特币,这时大家来确认这笔交易是否有效。

    如果有效,你在网络中收到这条交易信息,于是拿出私钥试试能不能打开这个账户。因为只有你的密码(私钥)才可以匹配这个地址,所以只有你能兑换这笔钱。

    这和现实银行转账不同,银行转账只要收款方账户和姓名对上,就转过去了,不需要验证收款方密码,有些人大意还会把钱转错地方。

    怎么解决校验的问题,不依赖第三方呢?让每个交易前后相连,使用数字签名,每位交易者对上一交易签署一个数字签名,同时对下一位交易者的账户(公钥)也进行数字签名。这样所有的交易都前后相连,要想排除第三方中介,就需要交易信息完全公开,让所有参与者都有唯一公认的历史交易序列,才能保证不被造假。收款人要想收到比特币,需要交易期间绝大多数的节点认同,而唯一公认的交易序列可以保证该交易是首次出现并有效的,从而可以解决第三方中介介入的问题。

    引入时间戳,让交易有先后顺序

    所有交易,按照先后顺序,给其加上时间戳,前面一笔交易成功后,整个交易链被公认后,下一笔交易是基于上一笔交易来生成的,整个交易就是一个交易链,从而形成一个区块链,这样才能保证不被双重支付。

    投入计算资源对交易确认

    交易过程需要绝大多数参与者确认,这个确认就是要投入计算资源,比特币引入了工作量证明POW(Proof-of-Work),用户通过竞争性地解决数学难题来证明工作量。举个形象的例子,比如要搬1000块砖头从A到B,不用一直盯着一块一块搬,只要在一段时间后过来看已经搬完,那就证明你工作量完成了。

    工作量证明机制的本质则是一CPU一票。大多数的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对已经出现的区块进行修改,攻击者必须重新完成该区块的工作量,再外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。这个成功的概率将随着指数化递减。

    就像超市付款需要排成一队,可能有人不守规矩要插队。超市管理员会检查队伍,认为最长的一条队伍是合法的,并让不合法的分叉队伍重新排队。在这样的规则下,大部分的人就会自觉在最长的队伍上排队。

    唯一可能造成这个系统崩溃的是,当一个人或机构拥有超过整个系统51%的计算能力,那么他就能随意当前及之后的每笔交易记录,这就是所谓的“51%攻击”,但要想发运攻击,有几个条件

    目前的计算机算力已经涨了不知多少倍,要达到51%的算力,成本不菲。

    这个51%攻击必须针对大额付款,因为之前的交易已经成形无法更改,仅能更改当前交易和之后交易,总不能为了当前交易的一杯咖啡发运攻击吧。

    攻击必须在短时间内发起,一旦被察觉,必然引起反制措施。

    因此,这个理论上的51%攻击,实践起来成功概率极其渺茫。

    激励促进发行和流通

    上步里提到要交易确认,可能你会问,为什么大家愿意做这件事呢?

    因为这样做可以获得交易费啊,大家投入足够多的算力,看谁的解题速度快,赢得竞争的概率高。就像谁的算力高,谁就可以一次买很多张彩票,算力低只能一次买少数彩票,但也并不意味着一次买很多彩票的人一定中奖,只是概率大罢了,这也会促使那些没有大算力的人参与挖矿,避免形成垄断,减少51%攻击可能性。

    另一种极大的奖励是在每个区块的第一笔交易,会产生一枚由创造者拥有的新的比特币,这样就增加了大家参与挖矿的积极性,并且在没有中央集权机构发行货币的情况下,提供了一种将电子货币分配到流通领域的一种方法。这个设计非常巧妙,就是在引入竞争的同时,完成了新币的发行,解决了去中心化货币系统中发行的难题。而且总量一定,又可避免通货膨胀。

    隐私解决

    我们来看看比特币是怎么实现隐私功能的,传统的模型里提供了一定程度的隐私,但若把交易信息公开,隐私也就失效。

    而在比特币中,虽然交易是完全公开,但把公钥隐藏,也就是说你只看到某个人向另外一个人付款多少比特币,但是难以将该交易同特定的人联系在一起,也就是说,公众难以确信,这些人究竟是谁。

    最终,比特币通过构造了一个以竞争——记账——奖励为核心的支付系统,解决了去中心化记账的难题。在这个系统中,每一个节点只需要根据自身利益行事,出于“自私”的目的进行竞争,最终造就了保护系统安全的庞大算力基础,提升了系统的可靠性。比特币打造了一个正向循环的经济系统,才使得其在没有强大的中心化机构或组织推动的情况下,自然地成长并发展壮大。

    相关文章

      网友评论

        本文标题:比特币到底是怎么运行的?

        本文链接:https://www.haomeiwen.com/subject/srfbdxtx.html