美文网首页
Bitcoin详解------------Transaction

Bitcoin详解------------Transaction

作者: 突破格局 | 来源:发表于2018-07-14 22:22 被阅读0次

最近一直忙于区块链底层开发,对上层的很多东西感觉理解不到位,觉得有必要了解上层的设计理念。Bitcion掀起了区块链浪潮,从设计之初就以去中心化,分布式,非对称加密,p2p网络,时间戳相结合,引领货币走向数字化,摆脱实体货币和互联网货币,不再依赖于某一个央行或者货币发行机构限制,真正的实现互联网去中心化。今天初探了一下bitcion,就先讲讲交易吧,工作量证明的共识机制,p2p网络,轻量级支付证明,匿名这些在接下来会慢慢讲解。下面大致阐述一下我对这方面的认识。

一、Transactions

在现实实物货币世界中,交易可能是A花10元钱买B的花,当A把10元钱给B的时候,B就把花给A,这样就一手交钱一手交花了。移动支付,要依赖一个权威的机构,类似于支付宝,微信,之类的,可是他们还是一个第三方机构,并且转账费用也不低,还有就是钱毕竟是放在别人袋子里面没有放到自己袋子里面安全啊,万一哪一天支付宝支付或者微信支付出被黑客攻击了,这都谁来负责呢。于是乎,Bitcion开足马力,大洞脑开,那就去中心化吧,摆脱一切束缚,让第三方机构一边凉快去,就有了UTXO模型。Bitcion白皮书上说UTXO模型是一个多输入至多二输出的模型,将多笔转入的交易汇总作为输入,然后一个输出给payee,一个输出给自己用于找零,这雷同于古代银两交易(有人这么解释的)。这个过程中A要用自己的私钥签名再盖上个时间戳加以证明,把钱打到B的公钥(B的地址)上面去。

这里有2个关键点:(1)这笔交易是公开的,其他人都可以看到,但只有B有私钥,可以解锁这笔钱,其他人看不到交易的内容,都是采用加密的,只有A和B知道这条记录里面的内容,所以说Bitcion是匿名很好的嘛,这时候就不用怕出名了,例如洗点钱谁都不知道了,这也是目前SEC一直拒绝比特币原因之一。(2)A的公钥(A的地址,在链上的都是可以查的到交易的记录的)也是公开的,虽然B不知道A的私钥,但B可以用A的公钥来验证,这笔交易的签名用的是A的公钥对应的私钥,证明了这笔钱是A转给B的,而不是C转给B的。

仔细思考的人可能会想到这中间可能会有些问题,例如:A的余额只有20元,但是A给B转了20元,同时也给C转了20元,此时A相当于把20元当成了40元花,大家肯定都不同意了。这就是所谓的双重支付问题了。Bitcoin采用链式结构来解决了,把所有的交易记录按照时间戳串联起来,payee接受时,查询这个记录,然后看看拥有者是否已经花出去了,但是这个记录需要大多数节点的认可。也就是需要全网51%的算力都保存了这个记录。假如全网51%的算力被某个人控制了,那么他就可以随便更改这个记录了哦,这就成为了著名的双花攻击,但是这个代价似乎很高,有人算过,最起码你要先是个亿万富翁才能玩转这个吧。就到这吧,今天就先简单谈谈交易吧。在后面陆续会将Proof of work, p2p network, Simplified Payment Verification

二、Proof of work.。

众所周知Bitcoin是一种为人又爱又恨的工作量证明机制。爱的是大家只要机器满足挖矿条件大家就去争夺记账权了,运气加算力是能否取得记账权的关键部分,12.5BTC的奖励还是很不错的,按照目前的价格6700$的价格计算还是一笔很不错的收入。恨得是需要进行大量的运算,很耗费电力,造成大量能源的浪费。

相关文章

  • Bitcoin详解------------Transaction

    最近一直忙于区块链底层开发,对上层的很多东西感觉理解不到位,觉得有必要了解上层的设计理念。Bitcion掀起了区块...

  • Bitcoin Transaction

    谈到交易,要明确三件事:参与者,交易内容,交易格式 e.g. A,B把10比特币转给C,D 交易者:在比特币里,交...

  • NLockTime分析

    tx tx describes a bitcoin transaction, in reply to getdat...

  • 2019-06-24

    BitCoin基础——交易(Transaction) Bitcoin中的交易代表着一组输入输出的集合,每个输入消费...

  • Bitcoin Transaction - Part One

    Transaction是什么? 我们随意看一个最简单的Transaction,看看什么是Transaction。在...

  • bitcoin mining详解

    mining总共可以分为两种,一种是:Solo Mining;一种是:Pool Mining Solo Minin...

  • bitcoin.conf详解

    bitcoin.conf是比特币核心程序bitcoind的配置文件,本文将介绍bitcoin.conf的默认路径,...

  • mysql系列——事务(Transaction)详解

    什么是事务 简单来说就是:做一件事件必须有有头有尾,一旦开始,只有两种结果,要么失败,要么成功,而不能出现成功了部...

  • Spring事务的详解

    数据库事务原理详解 1.事务的基本概念   事务(Transaction)是访问并可能更新数据库中各种数据项的一个...

  • github: 同步PR到项目本地

    比如同步bitcoin的第11000个PR https://github.com/bitcoin/bitcoin...

网友评论

      本文标题:Bitcoin详解------------Transaction

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