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. Hadoop2-认识Hadoop大数据处理架构-单机部署

    一.Hadoop原理介绍 1.请参考原理篇:Hadoop1-认识Hadoop大数据处理架构 二.centos7单机部署hadoop 前期准备 1.创建用户 [root@web3 ~]# useradd ...

  2. 使用 SetParent 跨进程设置父子窗口时的一些问题(小心卡死)

    原文:使用 SetParent 跨进程设置父子窗口时的一些问题(小心卡死) 在微软的官方文档中,说 SetParent 可以在进程内设置,也可以跨进程设置.当使用跨进程设置窗口的父子关系时,你需要注意 ...

  3. winform实现图片的滑动效果

    使用winform实现图片的滑动效果(类似网站首页图片滑动切换效果),结果实现了,但是效果其实不是很理想.也许有更好的方法.         Timer timerSlide = null; //当前 ...

  4. SQL Server修改表的模式schema

    use myDBgo create schema myschema --先建立go alter schema myschema transfer dbo.myTable --移动对象至建立的schem ...

  5. 【洛谷 P4052】 [JSOI2007]文本生成器(AC自动机,DP)

    题目链接 AC自动机上dp第一题嗷. 如果直接求可读文本的数量,显然要容斥,不好搞. 于是考虑求不可读文本的数量,再用\(26^m\)减去其即可. 建出AC自动机,如果一个节点为单词结尾或其fail链 ...

  6. npm 安装 react-devtools

    由于不能科学的上网.网上看资料装上了这个插件,装的过程有点坑.记录一下,希望能帮到和我一样的新手. 1.第一步,克隆下远程仓库的东西. 桌面右键,git-bash.然后输入: git clone ht ...

  7. 将Centos7的yum配置为阿里云的镜像(完美解决yum下载太慢的问题)

    2017-02-17 16:02:30 张老湿 阅读数 13768     http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0. ...

  8. Python学习日记(八) 函数

    函数的结构: 函数的返回值: 1.当函数执行时运到return关键字将不再往下执行 def func(): print("hello world!") print("he ...

  9. 【zookeeper】linux中编写脚本批量启动zookeeper

    实现功能:一键启动.关闭主从端3个节点上的zookeeper,附加查看启动状态 mkdir bin --新建文件夹 cd bin 跳转到bin文件夹里 touch zookeeperstart.sh ...

  10. Android笔记(四十三) Android中的数据存储——SQLite(五)delete

    SQLite通过delete()方法删除数据 delete()方法参数说明: delete()方法参数 对应sql部分 描述 table delte from table_name 要删除的表 whe ...