https://www.bilibili.com/video/av45247943

假如有ABCD四个比特币交易者,其中A交易给B者10个比特币(BTC),而这条信息要广播给其他所有的交易者知道.

假设这种交易一直在进行,而区块链的一个"块"大概有4000条这样的交易信息.(账单),大概大小为1M.

这个账单呢会将它打包,打包为一个区块.(为什么要去打包,谁来打包?) ,因为区块链的去中心化,不能像国家银行那样有统一中心化管理,所以为了获得这个打包的权利,会有一道"算法题"出现,哪个交易者破解了该题,就获取了打包的权利,并且获取了比特币设计的奖励(即比特币),俗称"挖矿成功"了. 所以矿工(交易者)去挖矿(赚取BTC)的源头在于打包权利获取的系统奖励和交易者扣除的手续费.

1. 以谁为准?(网络延迟造成每个交易者收到的广播顺序可能不是相同的,以谁的为准去记录区块呢?)

中本聪提出工作量证明(挖矿),每一个参与的用户都要去做一个很难的数学题,这个很难的数学题你把它做出来了,就获得了打包的权利.

你进了打包了,就会获得手续费以及打包奖励.

2. 为何要记账?(凭什么你广播给我,我就要收着呢,凭什么我要用自己的计算资源(电脑,GPU,矿机)去记录一个与我无关的账目呢?)

记账有奖励:

(1)手续费的收益. A支付给B,10个比特币,10要额外花费一些支付用于给打包者手续费.

(2)打包的奖励. 根据中本聪的设计,打包会提供50个比特币的奖励,并每四年减半,也就是总的比特币的数量为:

50个×6(一个小时有6个10分钟,因为打包为10分钟一次)×24小时×365天×4年×(1+1/2+(1/2)二次幂+(1/2)三次幂+........(因为减半)) ≈ 2100万 个 比特币

3. 如何防伪?(防止篡改的区块交易信息)

4. 如何防止双重支付?

5. 如何进行保密?(信息都是公开的,别人会知道你有多少钱了吗?)

6. 要怎样的工作量证明?

之所以需要矿机或者上万台的专业挖矿机去计算这个算法问题,是因为这个问题与密码破解是有一样的难度的,我也在想这是不是也有可能是有一部分黑客在挖矿的过程中,

同时利用这样的矿机进行了密码暴力破解同时制造了比特币勒索病毒.

(李永乐):假设求解的问题为某字符串解释为sha256后,规定的其前面的二进制的数位为0000000111,要确定每位去碰撞到那个数值,概率均为1/2,那么难度总系数为(1/2)^n.

(中本聪):需要每10分钟出一个块,怎么去保证呢,就是调整李永乐说的调整n的难度.让接入区块链的计算能力与n实现与规定时间的均衡.

假设世界上有1万台矿机,每个矿机的运算能力在14T/s,(即1秒钟执行14T次哈希运算),1T是10的12次方,即1.4×10^13/s

10分钟出现一个区块(根据中本聪设计), 10分钟为 600秒

计算次数 1.4×10^13(每台矿机1秒的计算能力) × 600s(10分钟,区块出现世界) × 10^4 (1万台矿机) = 8×10^19次 (假设全世界1万台矿机,在这个10分钟里计算的次数)

根据设定10分钟内"打包权利的计算题"的难度n,来调整总计算量与求解出的时间配置.

了解区块链&比特币的更多相关文章

  1. 许式伟看 Facebook 发币(上): 区块链, 比特币与 Libra 币

    你好,我是七牛云许式伟. Facebook(脸书)于6月18日发布了其加密数字货币项目白皮书.该数字货币被命名为 Libra(天秤座),象征着平衡与公正.此前,BBC 报道说这个数字货币叫 Globa ...

  2. 大话区块链【Blockchain】

    最近这几天区块链又粉墨登场了,新闻媒体也一直在大量报道,宣称可能要在金融界掀起一番浪潮.甚至有人说很久之前中国就出现了区块链的产物——麻将.那么区块链到底是什么,麻将和区块链又有什么关系呢? 笔者这两 ...

  3. 区块链 - 默克尔树(Merkle Tree)

    章节 区块链 – 介绍 区块链 – 发展历史 区块链 – 比特币 区块链 – 应用发展阶段 区块链 – 非对称加密 区块链 – 哈希(Hash) 区块链 – 挖矿 区块链 – 链接区块 区块链 – 工 ...

  4. 区块链 - 哈希(Hash)

    章节 区块链 – 介绍 区块链 – 发展历史 区块链 – 比特币 区块链 – 应用发展阶段 区块链 – 非对称加密 区块链 – 哈希(Hash) 区块链 – 挖矿 区块链 – 链接区块 区块链 – 工 ...

  5. 区块链是伟大的,比特币则不然。《FinTech,金融科技时代的来临》。3星。

    本书讲技术给金融业带来的变革和可能的趋势.作者认为区块链是伟大的发明,因为他可以让金融交易免费且实时地进行.比特币则可能会被其他区块链技术取代.书中有至少一半的内容涉及到了区块链和比特币.总体评价3星 ...

  6. iFace安全专家揭秘:存放在区块链钱包中的比特币,其实已经早就不属于你……

    自MoreToken钱包跑路之后,2019年3月以来陆续多个钱包.交易所跑路,造成了大量用户账户被盗,仅MoreToken钱包用户损失总价值就达12.2亿人民币,用户损失惨重.为什么这么多钱包.交易所 ...

  7. 在区块链上表白——使用C#将一句话放入比特币的区块链上

    最近在看区块链和比特币的知识,顺便简单研究了一下BitCoin的脚本语言,发现OP_RETURN这个命令可以在后面放入自己想说的内容,很多侧链啊,公证之类就是利用了这个特性,可以把一句话,或者一个哈希 ...

  8. 如何将Bitcoin比特币区块链数据导入关系数据库

    在接触了比特币和区块链后,我一直有一个想法,就是把所有比特币的区块链数据放入到关系数据库(比如SQL Server)中,然后当成一个数据仓库,做做比特币交易数据的各种分析.想法已经很久了,但是一直没有 ...

  9. 区块链教程(二):比特币、区块链、以太坊、Hyperledger的关系

    不知道大家喜不喜欢音乐! 朋克音乐:诞生于七十年代中期,一种源于六十年代车库摇滚和前朋克摇滚的简单摇滚乐.它由一个简单悦耳的主旋律和三个和弦组成,经过演变,朋克已经逐渐脱离摇滚,成为一种独立的音乐,朋 ...

随机推荐

  1. logrus 剖析之 hook

    logrus 通过实现 Hook接口扩展 hook 机制,可以根据需求将日志分发到任意的存储介质, 比如 es, mq 或者监控报警系统,及时获取异常日志.可以说极大的提高了日志系统的可扩展性. ho ...

  2. centos7 设置静态ip , 并开机联网

    修改 /etc/sysconfig/network-scripts 下的文件 我的是ens32 (不同系统这个文件名字不一样) 内容如下 TYPE=Ethernet PROXY_METHOD=none ...

  3. Codeforces 1239B. The World Is Just a Programming Task (Hard Version)

    传送门 这一题好妙啊 首先把括号序列转化成平面直角坐标系 $xOy$ 上的折线,初始时折线从坐标系原点 $(0,0)$ 出发 如果第 $i$ 个位置是 '(' 那么折线就往上走一步($y+1$),否则 ...

  4. tsql获取sqlserver某个库下所有表

    ) declare my_cursor cursor for (select [name] from SysObjects where XType='U') open my_cursor fetch ...

  5. C#解压、压缩高级用法

    压缩:(可以吧要排除的文件去掉) /// <summary> /// 压缩文件夹 /// </summary> /// <param name="folder& ...

  6. 编译基于obs-studio的阿里巴巴直播工具tblive的过程和常见问题解决

    tblive 简介 tblive开源项目对应的产品是千牛主播,是一个独立的PC端主播工具,基于开源软件OBS Studio来修改定制. 项目说明 tblive是一款优秀的基于obs-studio的直播 ...

  7. 让table中的td不会被过长的文字撑开,并且自动出现省略号

    <style type="text/css"> table {width:600px;table-layout:fixed;} td {white-space:nowr ...

  8. thinkPHP中session()方法用法详解

    本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 ? ...

  9. android AlertDialog控件使用

    1.先创建activity_alert_dialog.xml <?xml version="1.0" encoding="utf-8"?> < ...

  10. 获取项目中所有URL--获取swagger上展示的接口信息

    有时我们需要接口的一些基本信息,比如接口请求路径,接口请求方式等,我们用这些信息来做判断,或者入库. 我在开发接口权限的时候就遇到了这个问题,之前写的接口很多,现在需要将这些接口信息存到数据库中, 用 ...