上一篇文章讲了货币的演变,简单介绍了一下比特币和电子货币的不同,接下来详细讲一下比特币这个神奇的东西。
要理解比特币,首先需要理解比特币的转账机制和比特币的几个关键概念。
- 比特币如何进行转账呢,首先需要登录比特币的钱包,然后选择要转账的金额,选择转出币的地址以及转入币的地址,签入自己的签名,附上转账的手续费,等待矿工进行打包处理,比特币的一个转账流程大致就是这样了。
-
而比特币的几个关键词,矿工,挖矿,算力,工作量证明,权益证明,区块,区块链又分别是什么呢?举个简单的例子来供大家理解。
假设有这样一个村子,村子里的人都与世隔绝,大家还处在最原始的物物交换的时代,由于这种方式缺陷太多,而村长是一个特别聪明的人,他为了解决物物交换的缺陷和不便利性,鼓励大家使用一般等价物--黄金,于是大家进入了实物货币的时代,由于黄金的不易切割,不易携带,聪明的村长决定发行各种面值的代金券,用来衡量黄金的价值,相应质量的黄金表示相应面值的代金券,是不是与我们现在的纸币很类似,没错,这就是纸币时代,随着纸币的发行,渐渐出现了一些投机的坏人,他们发现,只要模仿村长发行的代金券,去自己制造代金券,那就是自己想要多少就制造多少了,然后拿这些代金券可以与人进行交易,就造成了极大的安全隐患,为了解决这个问题,大家集思广益,决定取消这种代金券,每个人有多少资产,只要让老村长在自己的账本上进行记录就好了,大家在进行交易的时候告诉老村长,老村长进行对交易双方的资产进行加减就好了,由于老村长的德高望重,这种方式极大的保证了大家资产的安全性。这种方式就类似于现在的电子货币,每个人的网上交易转账,都类似于村长对大家资产的加减操作,而在现实中,这个村长的角色就是由央行来担任的。村长就这样日复一日的承担着记账的角色,突然有一天,德高望重的老村长为了给子孙留点财产,也动了歪脑筋,他随意的去更改每个人在账本上的记录,给自己随意加了很多很多资产,终于东窗事发,引起了大家的指责,给大家造成了很大的损失。于是大家开了全体会议,准备罢免村长,建立一种新的货币体系,或者说是记账体系。
在大家的群体智慧下,新的记账模式出现了,大家任何一个人都可以成为交易的记账者,在这种模式下,大家共用一个账本,所有的交易信息都由参与记账的人们记录在这个账本上,这就要求交易的发起人不仅要将交易信息发给收款人,还需要将信息发给每一个参与记账的人手中,这些记账的人每隔10分钟就将发送来的交易信息进行一次收集,然后记录在一页账单上,将这一页附在现在的账本后面,当然这个操作远远没有这么简单,由于大家都使用同一个账本,而记账的人又有很多,那么如何保证这个流程的进行呢?首先每一页账单上都会有一个加密过的编号,以及上一页的账单编号,记账的人需要不断的去尝试出这个编号,只有这个编号与目前账簿上的下一页编号一致,才能证明这一页账单有效,才可以被附在现有账本上,所以记账者需要不停的去尝试这个编号,然后去比对,为了鼓励记账者去进行记账,大家决定,每生成一张有效的账单,就给予记账者相应的报酬作为奖励,每张账单上的第一笔交易都是记账者获取的那币奖励的交易,当这张有效账单生成以后,必须马上送到其他的记账者的手中,此时,其他记账者立即停下手中的工作进行确认,如果确认无误以后,认同这一页账单,并附到账簿中,然后之后的工作基础现在更新后的账本进行下一页账单的尝试。上述的一个记账机制其实就是比特币的一个工作机制,区块链就是指的整个账簿,而区块就是每一页有效账单,矿工就是指记账的人, 可以是一个人,也可以是一个组织,记账的人进行记账的行为就是挖矿,而算力指的是对每一个区块的进行hash碰撞,产生正确结果的概率,也就是记账的人尝试出正确账单的概率,由于个人进行计算的能力有限,可以多个人组成一个挖矿组织,这样就大大提高了挖出有效区块的概率,即算力大大提高,工作量证明指的就是,矿工挖出一个有效区块所付出的工作量,这个机制简称pow机制,通过付出劳动获取记账权利,而权益证明指的是在这个区块链网络中拥有的币的数量多少,这个机制成为pos机制,通过拥有币的多少来获取记账权利。
上述这些就是比特币的运作机制以及关键名词的解释了。关于几个疑问,首先是分叉问题,如果同时有两个人挖出了相同的区块,而且都被证明是有效区块,这个时候怎么选择哪一块是正确的区块,中本聪规定,区块链应该以树状方式组织,即同时保留这两个区块,后面的人可以选择在任何一个分支上进行记账,由于最长链机制,区块链网络只承认最长链,一定会有一条链成为最长链,那么另外的短链就不会再被使用,作为备用链,大家不会在不被认同的链上进行记账,这样对挖矿的人也没有好处,因此我们通常要求在比特币转账被打包之后,还需要经历6个区块的确认,确保矿工不会再回到另一条分叉上挖矿时,才算真正的转账成功。
另外一个问题是双花问题,什么是双花呢,简单的说就是一个比特币被转账了两次,并且都成功了。假设A和B进行交易,A转账给B 1个比特币,换取了价值1比特币的物品,B在收到转账后,此交易信息也被记录在区块链上了,此时A立即在之前的区块上生成新的区块,超越B的交易信息所在的分支,这时,这个分支就变为了短链,交易信息不会被承认,此时A可以再进行转账给C,使用同样的套路,A的比特币就实现了双花,中本聪给出的解决方案是,接收转账的人在经历6个区块的确认后,才算真正的转账成功,此时再将交易物品交付给支付方。由于需要计算出正确的区块消耗的算力是巨大的,同时计算出6个区块可想而之难度是很大的,需要的算力及其高,此时对于攻击者来说也就得不偿失了。
喜欢点个赞~