美文网首页
区块基础知识

区块基础知识

作者: 歌白梨 | 来源:发表于2018-07-26 01:00 被阅读12次

哈希算法的本质:

哈希函数输入可以是任意长的字符串
函数输出是固定长度的
函数计算过程具有一定的效率

为保障哈希函数的安全性,区块链中的哈希函数的额外性质:

1.抗冲突性:collission-resistance:不同输入很难产生相同输出
2.信息隐藏:information hiding不可逆性:知道哈希函数的输出无法逆向推导出输入
3.谜题友好型:puzzle friendly:输入变化一位输出变化也很大

哈希算法的种类:

MD5:输入不定长度,输出128bits
SHA1:SHA家族第一代,用于TLS和SSL,已被攻破
SHA2:SHA家族第二代,支持更长的信息摘要输出。如SHA224,SHA256,SHA384,SHA512,数字后缀为哈希摘要结果的长度
SHA3:目前无明显弱点,如Keccak算法
RIPEMD-160:160输出的加密算法,旨在代替128位哈希函数MD4,MD5和RIPEMD128

merkle tree梅克尔树

梅克尔树在不同的区块链系统中有不同的细节,但本质相同

比特币中的梅克尔树又称二叉梅克尔树
每一个区块都有自己的梅克尔树

  • 将区块中的交易哈希值两两组队计算出新的哈希
  • 一颗倒挂生长的树

梅克尔树功能
用于检验区块数据的完整性
用于对SPV钱包进行支付验证

存储hash的树
起源于哈希列表 hash list,多层哈希列表点对点网络传输数据,不把数据集中于几台机器,而是从多个机器中下载数据
为检验完整性把大文件分割成小数据块,损坏了则下载该数据块即可

比如:BT。先下载可信hash列表的根hash,然后校验hash列表,再娇艳hash列表中的数据块

以太坊:梅克尔树-帕特里夏树

提高效率节点引入节点类型
常规类型:空节点,叶子结点
引入类型:扩展节点,分支节点


梅克尔树作用
1.验证交易完整性
2.SPV简单支付验证

  • 大部分是普通用户,只有比特币投资及消费支付需求
  • 不运行全节点也可以验证支付,只需要保存所有的区块头即可
  • SPV充分利用梅克尔树结构,在寻找交易时,只需下载区块头而不是整个区块
  • 过滤掉大量不相关的数据,减少客户端不必要的下载量

公开迷药算法,非对称加密算法
两把钥匙:公钥,私钥
公钥公开,私钥必须保密
1.加密,需要保护信息,公钥加密,私钥解密
2.数字签名,手写签名的计算机实现,私钥签名,公钥验证签名


常见算法:

1.RFA:最常见的公开秘钥算法
最流行的公开秘钥算法
公钥和私钥是一对质数
难度基于大质数分解的难度

缺点:
产生麻烦
秘钥长度较大,运算代价高,速度慢
已被成功破解

2.椭圆曲线 ECC
难度基于椭圆曲线离散对数问题

使用更小的迷药,存储空间小
更高的安全性,
常用语比特币中ECDSA(椭圆曲线数字签名)
比特币使用了Secp 256k1标准定义特殊曲线和系列参数

编码
Base64:基于64歌可打印字符表示二进制数据,2^6=64,所以每6隔比特为一个单元,对于一个可打印字符。
BAse58:Bitcoin使用,用于产生Bitcoin的钱包地址

p2p网络协议
1.发现节点,dnesseed,addr
2.打通局域网,nat,upnp协议
3.通信协议

共识算法
1.拜占庭将军问题
2.PBFT算法
RAFT算法
POW

密码学算法

私钥-》椭圆曲线算法-》公钥-》Base58-》比特币地址

UTXO

相关文章

  • 2020-12-03

    Filecoin区块链与区块的详细基础知识 Filecoin区块链是一个分布式虚拟机,在Filecoin协议中实现...

  • 全球视野圈

    构建一个基于区块链的全球视野圈,区块链对人类发展的的影响,区块链给社会带来的改革,区块链的基础知识,区块链给个人带...

  • 待学习总结

    区块链协议、加密技术、共识算法、智能合约等基础知识

  • 区块链的基础认识

    今天我会从七个方面给大家详细介绍区块链的基础知识 一、什么是区块链 二、区块链技术的特点 三、区块链的分类 四...

  • 币圈学习指南

    币圈学习指南 第一阶段:《比特币基础知识》《区块链投资的秘密》《精通区块链》《拜占庭共识算法》《区块链革命》《no...

  • 区块链学习 一

    基础知识 先了解一下区块链吧,参考区块链开发(六)区块链架构与应用PPT,讲得不能再好了; 比特币是典型应用,必须...

  • 区块基础知识

    哈希算法的本质: 哈希函数输入可以是任意长的字符串函数输出是固定长度的函数计算过程具有一定的效率 为保障哈希函数的...

  • 《区块链小白与老白》第02节:比特币可不可以伪造?

    用通俗易懂的文字科普比特币和区块链基础知识,让小白也能理解区块链。 本文由疯狂小强在微信公众号【区块链通俗演绎】原...

  • 不了解公钥、私钥的人,不配拥有比特币钱包!

    区块链观察网做了一系列区块链基础知识科普之后,才决定开始提供数字货币钱包方面的知识。如果不了解区块链,不知道公钥、...

  • 网易微专业区块链开发工程师 百度网盘分享

    0区块链工程师微专业系列直播课 1.区块链基础知识与关键技术解析 2.Hyperledger Fabric架构详解...

网友评论

      本文标题:区块基础知识

      本文链接:https://www.haomeiwen.com/subject/ackvmftx.html