主页 > imtoken钱包官网登录 > 区块链介绍性笔记
区块链介绍性笔记
区块链介绍性笔记
区块链(BlockChain)是块(Block)和链(Chain)的直译。 每个区块存储指定时间段内的交易数据。 并通过密码学,形成一个不可篡改的分布,由所有成员共享。 形成分类帐。
区块链中的交易是一种去中心化的机制。 区块链的特点是:分布式存储、数据可追溯、不可篡改、去中心化。
哈希:将一串明文数据加密成一串密文,密文就是加密后的哈希。
(1)同一数据加密生成的HASH相同;
(2) 明文可以得到一个唯一的哈希值,但是哈希值不能反转明文; (非对称算法)
挖矿的过程就是哈希的过程。
什么是挖矿? 就是找到某个Nonce,使得生成的hash值前面有4个0,即满足系统给定的难度。 匹配Nonce的过程就是挖矿过程。
Block:存储当前时间的交易信息(交易地址、发送的比特币);
区块链:将区块一个一个串联起来,后面的区块存储前一个区块的哈希值。
创世区块:最后一个哈希值为0的第一个区块(没有前一个哈希,高度为0)。
POW:工作量证明
POS:权益证明
DPOS:委托权益证明
比特币简介:
比特币是新一代加密数字货币,通过计算(挖矿)产生
交易过程具有安全、隐私、可追溯、不可篡改等特点
比特币以区块链为底层技术实现了上述特性
比特币:完全去中心化,有一定数量(2100万枚),匿名记账
比特币区块:每个区块的大小限制为1M,每笔交易约250字节,因此每个区块最多可容纳4000笔交易。 由于每个批准区块的平均生成时间为 10 分钟,这意味着每秒只能处理 7 笔交易。
Merkle根节点:Merkle树
在重叠加密方式中,即使不知道所有的数据,只需要知道这样一个Merkle树根,就可以知道数据是否被篡改过。
比特币双花:
每笔交易都需要确认对应比特币之前的状态。 如果之前已经标记为花费,新的交易将被拒绝; 如果诈骗者使用网络延迟相同的金额在不同的计算机上花费两次。
如果下一个矿工选择在A的基础上继续记账,A分支会比B分支长。根据区块链的规则,最长的分支会被认可。
比特币缺陷和解决方案:
缺陷:交易效率低,交易确认时间长;
解决方案:
(区块链1.0时代)
(1) BCH比特币扩容;
(区块链2.0时代)
(2)ETH每挖一个ETH奖励5个以太币,平均每10S左右出一个块;
(区块链3.0时代)
(3) EOS每秒(10,000/s100,000/s) EOS将使用并发机制来扩展网络,可能达到每秒数百万笔交易。
缺陷:POW共识机制导致高能耗
解决方案:
(1) 股权证明(POS)
(2) 委托股权证明(DPOS)
缺陷:区块和区块链账本的容量问题
解决方案:
(1) SPV轻钱包
(2) 网络钱包
(3) 防止粉尘交易
缺陷:比特币不是图灵完备的
解决方案:
(1) V1.0:比特币点对点金融支付
(2) V2.0:引入智能合约,ETH为代码,主要结合“金融”领域
(3) V3.0:区块链与商业应用的结合,以EOS为代表
缺陷:安全问题、分散的问责制问题。
分布式账本->EVM虚拟机(用于分析智能合约)->solidity合约编程语言->truffle智能合约开发框架->web3.js工具->back-set工具
区块链开发:
V1.0:
2008 年中本聪比特币白皮书
2009 比特币创世块生成
2010 10,000 比特币换 1 个披萨
V2.0:2013~2014以太坊(图灵完备支持),2015 R3成立
V3.0:2018 EOS等
区块链技术:
(1) 区块链底层; (2)智能合约(超级账本、以太坊) (3)掌握区块链技术原理
区块链的分类:(1)公有链; (2) 私有链; (3) 联盟链;
解决的问题:(1)价值转移;
区块链架构模型:
区块链链结构:
区块头:
链式结构:
哈希函数:
(1) 确定性的; (2) 单向; (3) 隐身; (4) 防篡改; (5) 防碰撞
执行:MD系列; SHA系列:推荐使用SHA256、SHA3;
区块链核心技术:
密码学和数字签名用于身份地址识别
共识算法用于工作量证明,分布式存储技术用于存储交易记录和区块,分布式网络技术用于网络通信和节点发现。
区块链是分布式数据库、加密货币和智能合约的基础;
区块链是一个具有特定结构的数据库,一个有序的反向链表
块按插入顺序存储,每个块都连接到前一个块
快速获取链上最新区块,通过hash高效检索出块
工作量证明:
工作的结果作为数据加入区块成为区块;
完成这项工作的人也将获得奖励(即挖矿获得比特币);
整个“努力工作并证明”机制称为工作量证明。
为什么要哈希算法?
不可逆:无法从哈希值恢复原始数据,哈希不是加密
唯一性:对于一个特定的数据,只能有一个hash,这个hash是唯一的
防篡改:更改输入数据中的一个字节会导致完全不同的输出哈希
哈希算法特点:
正向传输,给定明文和哈希算法,在有限的时间和有限的资源内计算出哈希值
逆向难度:鉴于哈萨克斯坦的市值,在有限的时间内很难逆向明文
输入敏感:原来的输入信息修改了一点信息,生成的哈希值应该看起来很不一样
冲突避免:很难找到两个不同的明文使得它们的哈希值一致
交易机制:
区块链可以安全可靠地存储交易结果
在区块链中,交易一旦创建,任何人都无法修改或删除
交易由一些输入和输出组成
数字货币的地址和身份:
一些识别交易输出所有者的方法,称为身份
在比特币中,身份是一对(或多对)公钥和私钥
所谓地址无非是将公钥以人类可读的形式表达出来
公钥密码术使用一对密钥:公钥和私钥
公钥不是敏感信息,可以与他人共享。 但是比特币采用的加密,私钥永远不是真的,不能告诉别人; 只有拥有者才能知道私钥,能够识别、认证和证明拥有者身份的就是私钥。
总结:笔者在写这篇文章时正在研究区块链。 作为区块链圈的新人比特币采用的加密,我会持续记录相关技术和笔记。