概述
目前的理解是保证安全的数据库(记账本),没有中心服务器,只有联网的大多数服务器都承认改变才能改变数据。
密码加密方面主要是哈希跟签名
哈希: 哈希特点:单向无法反推 签名: 哈希存在问题:哈希碰撞(输入不同,但是经过哈希运算结果相同)
工作量证明
挖矿没有捷径,是一个一个尝试输入,结果落入指定范围才算成功。
比特币账户每个人都能开,只要有自己的公钥私钥就行
数据结构
区块链是将哈希指针代替普通指针,每个数据块里面都有哈希值,后一个块是根据前一个算出来的,某一个块的改变会导致后面所有块改变。用户只保存最后一个块就能知道整个链表是否发生改变。 使用哈希指针(保存地址块地址和哈希值). Binary tree 二进制树结构 merkle tree 默克尔树 此树保存一个区域内多块交易流
交易时导致哈希值改变,两个交易量维护一个哈希块,只要记住根哈希值就能监控一个区的交易改变。 该树可以用于校验下载文档是否正确:服务器提供下载的文档以及这些文档形成的默克尔树,在用户下载之后根据下载的文档重新构造默克尔书-树,对比这两个树(从上往下比较哈希值)就能发现文档是否出错。
默克尔树跟区块链的联系:每个链中都存储默克尔树
|