区块链与比特币简述
比特币:
一种电子货币 基于密码学
于2008年左右被中本聪所创建推行 人民对银行等金融机构失去信心 政府不再可信 中本聪认为不需要一个集中化中心化的记账系统
比特币的创建 是为了创建一个去中心化的交易系统
简单的说 比特币是想要创建一个不被单一机构或人员约束的记账系统
该系统由货币使用者记账 我们将比特币的使用者抽象为一个比特币网络 在这个网络中
发生交易时交易者记账 记账后需要将交易信息广播 让每个节点都收到交易信息 而这个交易信息打包后我们就称之为区块
这个区块由区块头和区块体构成 生成区块头的过程 即为打包区块的过程 在成功打包区块后 交易者需要奖励比特币给打包者 这一过程称之为工作量证明
挖矿
我们常说的挖矿 即为工作量证明 通过已知的区块信息 时间戳 难度值 这三种信息 哈希运算后 得出一个值与期望值符合时 视为挖矿成功
其中难度值为哈希后前几位0的个数 0越多 越难以破解
哈希运算是一种单向摘要算法 比如 lnx+sinx+tanx=y 这样一个函数 知道x求y是很简单的 但如果要通过y来求取x 可以说是比较难的 而哈希算法比这样一个函数还要复杂 所以说哈希是难以逆向的
不断地穷举 拼接 然后运算 重复这个过程 这个过程称之为挖矿
身份认证
在支付时 很有能存在用户伪造账单 而伪造账单如何防御 主要是通过电子签名 在非对称加密体系中 一般是使用对端的公钥加密自己的数据 或者使用自己的私钥钥加密自己的数据
前者起到了加密传输的作用 后者起到了身份认证的功能 证书的制作就是由第三方可信机构签名的
异常支付
- 伪造交易:检查余额 通过账单记录 来检查用户比特币余额 通过追溯的方式查询余额 在此过程中 如果对方的支付行为异常 则不会被记录到账单中
- 双重支付:只有打包账单到区块后 则认为该交易信息有效
- 防止篡改:最长区块链原则 当出现区块链出现分支时 会选择长的一条做主分支 伪造的代价是很高的 除非你的计算力高于区块链的百分之五十 能让分支超越原有链的长度