| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 区块链的一些知识 -> 正文阅读 |
|
[区块链]区块链的一些知识 |
目录 01-在行业立足需要哪些能力过硬的专业知识和本领 善于与他人沟通表达 团队协作 自我学习的能力 02-区块链、比特币的关系区块链是比特币的底层技术,比特币相当于区块链技术的第一个应用。形象点理解,区块链技术相当于水,比特币相当于水里长出的一种鱼。 03-区块链的组成公有链 私有链 联盟链 04-区块链交易与传统银行有何区别开户方式的不同 交易方式的不同 05-区块链如何保证安全与数据结构特点有关:前一块Hash作用:1.溯源 2.防篡改 3.储存hash,看有前面的区块没有篡改 区块编号:字面意思,给区块进行编号 随机数:随机数在隐私技术和密码学中发挥着重要作用。令人惊艳的是,通过生成一个随机数来对一条消息进行异或运算(XOR),提供了一种简单但十分强大的加密方案。即使是双方之间最简单的私人通信形式(即双方提前共享密钥的对称加密方案)也要求共享的密钥是随机的。如果此共享密钥不是随机的,则加密就毫无用处,因为任何知道密钥生成算法的人都可以确定密钥然后解密该条消息任何知道密钥生成算法的人都可以确定密钥然后解密该条消息。 (猜大小例子) 假如一个游戏需要三个人,一个为裁判,两个人充当玩家,裁判在一张纸写下大或者小,裁判不允许泄密,让两个玩家猜完大小然后告诉裁判,裁判宣布结果。 结果是随机的,具有随机性。但这个游戏必须这两个玩家都同意裁判的判决才可以进行(即双方提前共享密钥的对称加密方案),否则就无效,而裁判的判决就是秘钥,而且游戏结束后俩个玩家都知道裁判的判决(即任何知道密钥生成算法的人都可以确定密钥然后解密该条消息) 区块体:储存交易记录 交易失败的原因: gas不足或者太少(旷工会根据gas的多少从高到低打包区块) 合约权限不够 区块链挖矿挖矿/Mining挖矿是指利用电脑硬件计算、记录和验证被称为区块链的数字记录信息的过程。矿工通过挖矿求解数学难题从而获得创建新区块的记账权以及区块的比特币奖励,由于其工作原理与矿物开采十分相似,故称之为挖矿。目前最常见的方式是通过PoW工作量证明共识机制,第一个解决复杂数学问题的计算机将得到一个新的可记录区块链上信息的块,同时得到新的比特币。 通俗一点,比特币挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程,由于需要竞争记账权,利用计算机去计算 Hash 数值,随机碰撞解题,这个过程就是挖矿。 矿工/Miner在区块链网络中,矿工是指通过不断进行哈希运算来求解数学难题并产生工作量证明的各网络节点,通过算力来验证、确认交易井防止双重支付。 矿场/挖矿基地/Mining Farm?矿场与矿池是两个区分概念,矿场是指地理上集中的矿机分布形式。基于比特币全网的算力水平不断上升,单个设备难以获得比特币的区块奖励,因此通过大规模挖矿、商业化运作的模式,将大量的矿机集中到挖矿成本较低的地方进行的规模化挖矿。矿场的主要成本来自于硬件成本以及电力成本。 共识机制: 区块链共识算法:PoW通过比较算力的快慢? 现在越来越不用了? 原因:浪费资源--电力,相比之前,做了许多无用功,争夺记账权 比特币就是用共识算法 pos抢到记账权还要验证,验证很容易哦,只需要看符不符合 Hash 数值。 DPoSPoSTPoW的升级版,也是比算力? 也可以说是比能力,挖矿的能力越强,挖矿时间长度越大成为节点的概率也会更大,而且这也可以通过经济手段约束恶意行为,因为算力大的人为了争夺记账权肯定不会搬起石头砸自己的脚,而其他人想进行破坏就很难很难了,因为他们抢夺记账权的概率远远小于这些算力大的人,这也是PosT巧妙的的地方。 PBFT?拜占庭问题:通过多次通信交互来区分恶意节点 。 拜占庭将军问题,主要为了解决在已知有成员不可靠的情况下,其余忠诚的将军需要在不受叛徒或间谍的影响下达成一致的协议的问题。 假如有九个国家,商量攻打某座城池,九个国家各个派信使给其他八个国家,信使带回 区块链分叉(挖矿产生的分叉):长链原则,只承认主链,因为区块链是一个去中心化的数据结构,区块链的不同副本不是时刻都能保持完全一致的。区块在不同节点间的到达时间会存在差异,因而不同的节点可能拥有不完全一样的区块链视图。为了解决这个问题,每个节点总是选择并尝试延长代表了最大工作量证明的区块链,即最长的链条或者最大累积难度的链条。通过汇总记录在链上的每个区块的难度值,节点可以计算出创建这个链所耗费的工作量证明总额。只要所有节点都选择最大累积难度的链条,全局比特币网络最终将调整到一致状态。分叉是不同版本的区块链间暂时的不一致现象,当更多区块被加入其中某一个分支时,最终收敛将解决这一问题。 ?扩展:软件分叉01-软分叉:是指区块链网络系统版本或协议升级后,旧的节点并不会意识到比特币代码发生改变,并继续接受由新节点创造的区块,新老节点始终还是在同一条链上工作。 02-硬分叉:是指比特币区块格式或交易格式(共识机制)发生改变时,未升级的节点拒绝验证已经升级的节点产生的区块,然后大家各自延续自己认为正确的链,所以分成两条链。 软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码,比如说Windows 10可以运行Windows XP的应用。而软分叉还可以"向前兼容"。向前兼容是指旧软件接受由新软件所产生的数据以及代码,比如你用Word 2013保存的文档,假如仍然可以用Word 2011打开,就是一种“向前兼容”。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:21:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |