区块链学习笔记1--比特币

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

从狭义上来说:区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学的方式保证的不可篡改和不可伪造的分布式账本。

意思就是:一条链,上面有很多区块,区块里面的数据不能改动。

区块链技术:比特币和以太坊。

比特币解决的问题:

高度自治

无国界贸易

不可篡改

隐私安全

去中心化模型:

比特币引用了一个去中心化模型

账本隐私和快速对账:

hash算法能够提取事物的特征。

hash算法作用:隐私和对账

比特币系统利用hash算法对交易信息(账户、交易内容)进行加密,保护隐私。

比特币系统利用hash值进行对账。

账本一致性

比特币系统规则:最长链为可信任的链条

比特币中的矿工:创造区块,使得链增长

比特币的分叉


软分叉可以合并,比如篡改数据。

比特币系统总结:

比特币不是一种货币而是一个分布式账务系统。账本的同步和对账。账本记录交易过程,由节点广播到网络,保持其余节点数据一致。

比特币系统采用去中心化的方式。去中心化并不是没有中心,而是中心不停的变化,每一次的中心都是由节点竞争得出。 挖矿的计算机就是中心。

比特币系统中节点的通信采用的是点对点的通信方式。

去中心化的账本存在一些弊端,比特币系统都进行了解决。(账本隐私:hash算法加密个人信息,确保隐私不泄露。hash算法不可逆,不能够通过hash字符串反推原文。快速对账:比对hash值,判断账本的一致性。确保账本的正确性:在比特币系统中,伪造的账本想要称为主链就要和其余的比拼算力,只有长时间的算力优先,才有伪造账本的可能,但保持长时间的算力难度巨大,有可能维护算力优先的成本都高于伪造账本的获利,比特币就是通过这一手段保证了账本的正确性。)

相关推荐
Warren982 分钟前
软件测试-Selenium学习笔记
java·javascript·笔记·学习·selenium·测试工具·安全
MicroTech202518 分钟前
微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
区块链
在路上`2 小时前
前端学习之后端小白java的一些理论知识(框架)
java·学习
练习时长两年半的Java练习生(升级中)2 小时前
从0开始学习Java+AI知识点总结-18.web基础知识(Java操作数据库)
java·学习·web
Jayyih2 小时前
嵌入式系统学习Day19(数据结构)
数据结构·学习
xy_recording3 小时前
Day08 Go语言学习
开发语言·学习·golang
山烛4 小时前
矿物分类系统开发笔记(二):模型训练[删除空缺行]
人工智能·笔记·python·机器学习·分类·数据挖掘
黑客影儿4 小时前
黑客哲学之学习笔记系列(三)
笔记·学习·程序人生·安全·职场和发展·网络攻击模型·学习方法
Starry_hello world6 小时前
MySql 表的约束
数据库·笔记·mysql·有问必答
余_弦6 小时前
区块链钱包开发(二十一)—— 一次交易的全流程分析
区块链·以太坊