zoukankan      html  css  js  c++  java
  • 区块链技术探索

    什么是区块链

    区块链是去中心化的、不可篡改的分布式账本;

    区块是账本的一页,连接成链成为一本持续增长的账本;

    新的价值传递产生新的记账页,区块链记录了全网所有节点间价值转移的历史;

    连接成链和全网同步数据,保证了账本内容的不可篡改性;

    谁来记账,由全网节点通过共识机制共同来决定;

    转账/价值传递,可以通过双方签署的智能合约被自动执行;

    去中心化/分布式和基于共识的自治,是专治和垄断的掘墓人;

    不可篡改性,以技术手段解决了人类社会的诚信问题;

    智能合约的自动执行,会极大地提高人类经济活动的效率;

    如果说人工智能是对生产力的革命,那么区块链就是对生产关系的革命;

    共识机制

    所谓共识机制,是一个为全网所有节点所共同认可的算法;

    共识机制的作用,在于选举产生“记账员”来为人民服务;

    记账节点打包产出新的区块,得到交易手续费作为奖励;

    一个由相同的共识所组织起来的节点/社群,在业务上是自治的;

    共识机制+分布式全网数据同步,从技术上实现了去中心化;

    去中心化

    当前的所有生意都是中心化的;

    中心化的优势是结构简单效率高;

    但中心化存在着徇私舞弊、利益寻租、店大欺客、篡改数据、窃取隐私等种种无法根除的弊病;

    区块链通过共识机制+分布式同步的方式去除了数据中心;

    去中心化会在同等硬件环境下损失部分效率,但随着通信技术(5G)和算力的提高(量子计算机),这部分效率损失对用户体验的影响是不明显的;

    但其对中心化弊病的根除则是全人类共同的福祉;

    不可篡改

    为什么连接成链以后就无法篡改了呢?

    原因一:所有区块都是环环相扣的——每个区块的哈希(hash)都是由上一区块的哈希计算而来,环环相扣,对任何一个区块的数据做微小改动,都会直接改变其哈希,哈希一变它就不再是一页合法的账本了;

    原因二:账本是全网同步、共同见证的,要想篡改数据,你必须横向上操纵全网所有同步数据的节点,纵向上重新生成账本每一页的哈希值;

    区块信息部分

    在这里插入图片描述

    交易场景

    在这里插入图片描述
    在这里插入图片描述

    Etherscan

    Etherscan是以太坊区块链的领先BlockExplorer。BlockExplorer是一个搜索引擎,可让用户轻松查找,确认和验证以太坊区块链上发生的交易。

    Etherscan并非由以太坊基金会资助,运营或管理,而是作为一个独立实体存在。以太坊区块链有一个公共分类账(例如分散的数据库),Etherscan.io会对其进行索引,然后通过网站提供此信息。Etherscan的使命是通过以尽可能透明和可访问的方式对以太坊区块链上的所有交易进行索引和搜索,以促进区块链透明化。

    Etherscan不是钱包服务提供商,我们不存储您的私钥,并且我们无法控制以太坊网络中发生的交易。

    从发出交易到矿工打包需要几步

    当你发起一笔比特币转账的时候,你要将比特币交易广播至全网,挖矿节点接到这笔交易后,会先将其放入本地内存池进行一些基本验证,比如该笔交易花费的比特币是否是未被花费的比特币,如果验证成功,则会将其放入“未确认交易池”,等待被打包,如果验证失败,则该交易会被标记为“无效交易”,不会被打包,也就是说挖矿节点在比拼算力的同时还需要及时验证每笔交易更新自己的“未确认交易池”,强盗记账权后将会从自己的“未确认交易池”中抽取约近千笔“未确认交易”进行打包,有时候交易不能被及时打包,那是因为“未确认交易池”的交易笔数太多,而每个区块能记录的交易笔数有限,这时候会造成区块拥堵。

    比特币为什么只发行2100万枚

    高阶 语言 JavaScript 不开放低阶“浮点” 和“整数表示法”,只给程序员”数“的概念

    比特币特解

    挖矿是什么

    记账过程(争夺记账权)

    算法题从何而来

    由代码自动编程,全网公认

    非对称加密算法

    ”公钥“, “私钥”
    
    A  	转账	 B    
    
    通过数字摘要技术将该笔交易(信息)缩短成一串字符串,再由转账者(A)的私钥对摘要进行加密,形成数字签名,而该笔转账只有B使用自己的公钥才能解密
    
    矿工通过A的公钥验证该笔交易,查看其是否是由转账者本人发出的,是否被伪造,信息发送过程中是否被篡改过。
    

    数字签名

    假设已有数字签名信息 ,那么转账者会将该信息(数字签名)附原交易信息上 一起发送出去,接收者拿到后 ,一方面用转账者的公钥对该数字签名进行解密,得到一个摘要“H”,另一方面收到的信息本身用hash算法求出另一个摘要"H",再把H和’H‘相比较,看看两者是否相同,根据哈希函数的特性,可以通过简短的“摘要”代表其信息本身,如果两个摘要完全符合,证明信息完整,不符合,则信息被人篡改过。

  • 相关阅读:
    嵌套类型返回错误解决办法(如迭代器的设计)
    UITableView的多选删除模式
    UITableView的编辑模式
    指针和引用初理解
    strstr()函数实现
    一句话的单词倒置
    字符串过滤程
    strcpy函数
    二叉排序树(Binary Sort Tree)
    二叉树插入操作
  • 原文地址:https://www.cnblogs.com/meiwt/p/14241223.html
Copyright © 2011-2022 走看看