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. Luogu3214 HNOI2011 卡农 组合、DP

    传送门 火题qwq 我们需要求的是满足元素个数为\(M\).元素取值范围为\([1,2^n-1]\).元素异或和为\(0\)的集合的数量. 首先我们可以计算元素有序的方案数(即计算满足这些条件的序列的 ...

  2. Java 理论和实践: 了解泛型 识别和避免学习使用泛型过程中的陷阱

    Brian Goetz (brian@quiotix.com), 首席顾问, Quiotix 简介: JDK 5.0 中增加的泛型类型,是 Java 语言中类型安全的一次重要改进.但是,对于初次使用泛 ...

  3. Java线程同步类容器和并发容器(四)

    同步类容器都是线程安全的,在某些场景下,需要枷锁保护符合操作,最经典ConcurrentModifiicationException,原因是当容器迭代的过程中,被并发的修改了内容. for (Iter ...

  4. oracle数据库 部分函数的用法

    select * from tab; //获取当前用户的数据库的所有表名 select sys_guid(),UserName from TESTLIKUI; //获取guid select sys_ ...

  5. PHP敏感信息脱敏函数

    测试 $name = '王刚'; $mobile = '13817558198'; $name = desensitize($name,1,1); $mobile = desensitize($mob ...

  6. JAVA基础之XML相关

    个人理解: 知晓XML与HTML的不同,知道其的自由性和约束的方式(规范)!数据按Schema约束写到XML里,然后通过dom4j解析出所有的元素,再用反射创建对象接着调出其所有的方法!!!特别要熟练 ...

  7. 行内块inline-block元素之间出现空白间隙原因及解决办法

    首先,来看下具体的问题,下面是用inline-block布局实现的两边固定宽度,中间自适应的html代码: 1 2 3 4 5 6 7 8 9 <section class="layo ...

  8. SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

    刚刚过去的在巴塞罗那举行的2019 SAP TechEd,SAP照例向全球广大的SAP生态圈从业者们传达了一些重要的信息,其中一条为:Building Extensions for the Intel ...

  9. [LeetCode] 5. 最长回文子串 ☆☆☆(最长子串、动态规划)

    最长回文子串 (动态规划法.中心扩展算法) https://leetcode-cn.com/problems/longest-palindromic-substring/solution/xiang- ...

  10. mybatis中如何将多个表的查询结果,放入结果集中返回

    1.首先需要将resultMap进行改造,为了避免对其他sql的影响建议另外定义一个resultMapExtral,避免id相同, 2.然后在resultMapExtral中添加其它表的字段,若多个表 ...