0%

区块链学习笔记3:区块链的本质及特性

区块链的起源思想

  • 去中心化其实是弱中心化
  • P2P:peer-to-peer,person-to-person

区块链雏形

  • 中心化专人记账->轮流记账(仍然不安全)->共同记账(避免了中心化的问题,但是所有人都记效率低)->掷骰子记账(记账人获得报酬,区块链雏形)

    区块与区块链

  • 矿工必须依据前一个区块的数据才可以开始计算符合条件的随机数,保证挖矿的公平性
  • 区块的结构:区块头(上一个区块的哈希值,时间戳,Nonce——矿工要推导的随机数,梅克尔树根——也是一个哈希值,将所有的交易清单两两哈希生成最终的哈希值,版本,目标难度系数),将这六个信息拼接成一个字符串求出一个哈希值,而我们挖矿就是使用这个哈希值结合随机数判断和目标的大小,当我们随机生成的Nonce然后拼出来的哈希值小于目标哈希值的时候,就是我们挖到矿了,向全网广播并确认。然后全网验证(挖矿速度非常慢但是验证很快)后就计入账本,然后利用这个区块进行下一次计算。
  • 区块一旦篡改区块链就断了
  • 区块链形象地成为分布式共享账本
  • 区块链数据由所有节点共同维护,区块链也被称作制造信用的机器,具有机器信任
  • 通过时间戳和工作量证明机制解决了双花与拜占庭问题,节点可以保持一致性
  • 非对称加密机制——保证私钥安全性

    区块链核心技术

  • P2P网络:点对点交易,没有中间方
  • 分布式存储:所有节点信息统一,交易不可篡改
  • 加密算法:确保交易不被破快,保护用户隐私与交易记录
  • 共识算法(共识机制):实现自动网络共识
  • 智能合约:通过自动化脚本操作数据

    区块链模型(从下往上)

  • 数据层:基本算法
  • 网络层:P2P网络
  • 共识层:让分散在全世界不同地区的人对一件事情达成共识(比特币:POW共识——工作量共识)
  • 激励层:发行机制,分配机制等
  • 合约层:智能合约(比特币谈不上智能合约)
  • 应用层(开发人员):可编程货币,可编程金融,可编程社会

    编程语言

  • 比特币:C++
  • 以太坊:多语言接口(C++,GO,Python,Java)
  • 超级账本的Fabric:Go
  • DragonChain:Python
  • Wanchain:C++

    区块链分类(按准入机制分类)

  • 公有链
  • 联盟链:需要指定几个节点为记账人
  • 私有链:完全封闭,记录内部交易,由公司与个人共享

    区块链资产特点

  • 全球流通
  • 去中心化
  • 不可复制
  • 匿名性:基本匿名、高级匿名、极致匿名
  • 比特币是基本匿名,不知道比特币地址对应的是谁。但是一旦知道,就可以查到所有的相关转账记录
  • 达世币、门罗币是高级匿名,查不到转账信息
  • zcash是极致匿名,只有拥有私钥的人才可以查到所有的转账信息

    用区块链保存信息

  • 星际文件系统IPFS:对于大的附件使用星际文件系统保存

    国外区块链知名项目

  • EverLedger:珠宝一站式追踪鉴定平台,为钻石加上“数字指纹”,然后放在区块链数据库中将钻石信息上链。目前已经有200多万钻石
  • Monegraph:知识产权保护

    国内区块链知名项目

  • 迅雷链克:前身为“玩客币”
  • 人人坊
  • 网易招财猫
  • 蚂蚁金服旗下公益慈善

    区块链的不足

  • 效率低
  • 存储数据量少
  • 能耗。耗电量大
  • 淡化国家监管,带来非法产业
  • DApp缺点:1.更新和修bug困难,每个节点更新麻烦。2.无法验证用户身份。3.开发困难,生态圈小。