比特币的一些特点

本文截摘自:比特币与区块链的大众科普文

1.P2P网络

  我们比较熟悉的电驴,迅雷下载使用的就是P2P下载,这种下载的风格是,文件切成小的片段,每个主机上只存一份,然后每个主机同时上传和下载。具体的思路请看《为什么P2P模式下载的人越多速度越快,为什么P2P伤害机械硬盘》。
   在比特币的场景下,我们知道有两条链,一条是交易链,一条是区块链,多条交易链形成一张完整的交易网,这张交易网维护着货币的属主信息,而区块链则维护者交易的有效性信息,不管是交易网还是区块链,都必须让全网都认可才能达成共识,形成信任。因此这张交易网和这条区块链就是通过P2P网络广播到全网的每一个节点的,理想情况下,每一个节点都会有这张交易网和这条区块链。但实际实施中,并非如此理想,总是有一些优化,这里就不再赘述了。

2.非对称算法与比特币钱包

  非对称算法的发明绝对是一个创举,这里不再赘述这类算法的细节。对于比特币场景而言,由于每一个人都可以随意生成一对密钥,其中公钥的意义让其十分适合做钱包的地址,举个例子来讲,公钥就相当于一个存钱罐,而私钥则相当于打开存钱罐的那个钥匙,谁都可以往存钱罐里放钱,但是只有自己可以把里面的钱取出来。
   比特币使用的非对称算法是ECC算法,这个算法相比RSA而言,同样的加密强度所需要的密钥长度要短很多,ECC单位安全强度很高,这特别适合内存受限的嵌入式环境。

3.哈希算法,摘要算法

  这个要说的是,就在前段时间2月23日,Google公布了一例SHA-1碰撞的实例,如果这个实例发生在比特币当前的交易网或者区块链中,将会有多少利用的方案呢?

4.比特币的匿名性

  由于在比特币环境中,对于收钱的人,任何发给自己的钱都可以无条件接收,那么只需要随时生成新的公私钥对,然后公开公钥作为钱包收钱即可,这样就使得交易轨迹很难被追踪了,这也在一定程度上保证了匿名性,就像你使用的是人民币一样。但是比特币也好,人民币也罢,都不是真正完全匿名的。对于比特币而言,意思是说,你可以随时随地创建自己新的钱包来收钱。

5.如果构建数学难题

  计算的结果集必须是一个均匀的分布,只有这样要想得到特定的答案,就必须要一个数字一个数字的猜。这就意味着没有投机取巧的方案,除了遍历,没有什么算法可以利用。因此,一个逆哈希的过程将会是一个合适的难题,前提是哈希函数一定要好,哈希结果分布一定要均匀。

6.比特币的生成

  首先有一个初始的创世区块确认了一笔从天而降的初试交易额,然后由这笔钱开始交易,其余所有的新产生的比特币均产生于挖矿。类似于物理世界的淘金,比特币挖矿也有挖完了的时候,按照设计,每过4年挖矿所得就会减半,这样最终肯定会把比特矿挖空,此时世界上的比特币总量就是2100万个!这个和黄金特别相似。金矿在地球上的黄金储备量是一个定值,所以说黄金的总量一定有一个上限,黄金本身不会通货膨胀,引发通货膨胀的是与其直接挂钩的美钞,关键看1美元怎么定义,是一美元的含金量为0.888671克黄金呢?还是说一美元的含金量为1.888671克黄金,这对世界的影响绝对不同,这就是不雷顿森林体系的弊端。看看比特币的情况,虽然比特币本身的数量是固定的,但是它的基本单位却可以几乎无限向下分割的,比如即便总量只有1个比特币,还是可以用0.0000000000001作为比特币的基本单位来主导支付,关键看名字怎么叫了。因此我觉得,说比特币是一种紧缩货币是不正确的,该出问题的时候还是会出问题。
  实际上,世界上根本就没有真正正确的金融体系。
  现在说一下当比特矿挖完了后,新的比特币不再产生,矿工们靠什么激励继续去解那些fingerprint难题,很简单,靠交易手续费。如果还想让比特币系统继续运转下去,那就在交易的时候付给别人足够的手续费,这样别人才会解决fingerprint难题从而帮你将你的交易囊入区块形成共识。

7.如何确保比特币交易绝对安全

  没有绝对的安全!囊入越新的区块的交易越不安全,因为攻击者需要解决的fingerprint难题越少,到底等待几个区块才确认交易完成是合适的呢?并无定论,简单点说就是交易的金额越大,越值得你多花点时间来等待更多的区块被挂入区块链以保证安全。

8.区块链技术和PKI有何本质区别

  这是温州老板问的,区块链不就是解决认证,完整性,不可抵赖这种问题的吗?PKI体系不是已经很成熟了吗?然而并不是这样。PKI需要一个信任中心,而区块链完全靠技术解决了本应该需要人介入的问题。我反问,要是根CA里工作的人都是坏人或者别人策反了怎么办呢?它签发的证书还可以相信吗?即便不是根CA,随便一级的CA被策反,它下面的各级CA签发的证书均将失去信任。然而区块链是一种共识机制,类似议会的投票,除非你动员半数以上的议员一起搞事儿,不然仅靠你自己,就算你把总统绑架了也不行,因为总统说了也不算。以上就是我的回答。此时王姐姐表示区块链网络中如果大多数是坏人,就能发动所谓的51%攻击,而这种动员,在中印等国家非常容易,每人每家一台电脑,组成全国性的集群,这个运算能力怎么样?一起干点什么不是很容易吗?上面一声令下即可。是吗?
  我的回答比较短,我说这样做没有意义,等于说玉石俱焚,区块链上的比特币将不再被信任,体系将会彻底被摧毁,谁也没收益,相反大家都会有损失。
  其实这就是为什么51%攻击迟迟不会发生的原因吧…

9.挖矿能力的集中

  本初,每个几点用CPU共享均等的挖矿能力,逐渐,挖矿能力开始拉开差距,从CPU挖矿到GPU,FPGA,再到专业的ASIC芯片,在利益的驱使下,本应该平摊的挖矿能力逐渐集中化。这是否跟社会主义贫富分化是一个道理呢?

10.如何快速验证交易单的数据完整性

  其实,区块中的比特币的交易单哈希并不是叠加在一起计算的,而是组织成了一棵树,叫做Merkle树,它的结构非常简单:

这里写图片描述

  这么做的目的在于可以快速进行完整性校验操作。校验从根部开始进行,按照二叉树的时间复杂度O(logn)进行,最终的校验失败会把出问题的交易单范围局限在某个子树上。在空间利用上,由于每一个节点实际上并不需要传输整个交易网和整个区块链,这种只校验HASH的方式也会减少数据的传输量,特别适合广播频繁的比特币P2P网络。

猜你喜欢

转载自blog.csdn.net/csdn_af/article/details/79129657