区块链学习笔记(一)——比特币概念以及密码学相关的知识

这篇具有很好参考价值的文章主要介绍了区块链学习笔记(一)——比特币概念以及密码学相关的知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自己做一些让自己读得懂的笔记

1.Bitcoin History

In 2008, a person under the pseudonym Satoshi Nakamoto published a paper Bitcoin: A Peer-to-Peer Electronic Cash System. Bitcoin software was released in January 2009 and the mining of the Bitcoin cryptocurrentcy officially started. The genesis block included the
“The Times” headline: “Chancellor on brink of second bailout for banks”. The article was about the state of the British financial system following the 2007–2008 financial crisis, and many believe that this is a hint to the purpose of Bitcoin: to create a more stable financial system. Satoshi Nakamoto vanished from the digital space shortly after releasing the code
for Bitcoin, and it is unknown who this person (or possibly a group of people) is. The first known commercial transaction using bitcoin happened in 2010 - two pizzas were bought for 10000 bitcoin.

直接引用了一下教材,简单的解释就是:
比特币是一种加密货币,是一种数字资产,使用密码学来控制其创建和管理,而不是依靠中央机关。所以它具有去中心化。"比特币 "一词是在2008年10月31日发表的一份白皮书中定义的。
创立比特币的原因是为了创造一种不受政府或金融机构控制的数字货币。比特币被设计成一种点对点的货币,意味着它可以直接从一个用户发送到另一个用户,而不需要第三方中介。

1.1 一个关于bitcoin的时间线
  • 2008: Satoshi Nakamoto publishes the Bitcoin white paper.
  • 2009: The first Bitcoin block is mined.
  • 2010: The first known commercial transaction using Bitcoin takes place.
  • 2011: The Bitcoin price reaches $1 for the first time.
  • 2013: The Bitcoin price reaches $1,000 for the first time.
  • 2017: The Bitcoin price reaches $20,000 for the first time.
  • 2018: The Bitcoin price crashes to $3,000.
  • 2021: The Bitcoin price reaches $65,000 for the first time.

关于区块链要读的一些文献这里给个传送门:http://t.csdn.cn/5F64K
(后续如果我看了我也会做笔记写出来的)

关于区块链的学习
这里推荐b站肖臻老师的《区块链技术与应用》,下面是他讲的有关密码学方面的笔记,后面应该也会挑着密码学的部分做笔记

2. Crytography of the Blockchain

bitcoin is a crypto-currency(比特币是一种加密货币),但是其实区块链(blockchain) 上所有的数据都是公开的,转账的金额都是公开的。
区块链密码学知识上涉及的一个是哈希函数,另外一个是签名。

2.1 the Hash function
2.1.1 collision resistance

其他的说法是collision free不过他不是很喜欢

if x ! =y
then H(x) = H(y)

哈希碰撞是客观存在的,不能人为的去制造哈希碰撞,没有高效的方法
暴力遍历寻找,但是这种方法也不实际,考虑到输入空间比较大的情况
(brute-force)

用来对信息求摘要 (message->digest)
H(m) 用来检测对m的篡改

MD5( 淘汰,因为已经知道如何人为制造哈希碰撞)

2.1.2 Hiding

哈希函数是单向不可逆的
由前得到后,得到后推不到前
前提条件是:输入空间要足够大,分布要比较均匀
x -> H(x)

digital commitment / digital equivalent of a sealed envelope(数字等效的密封信封)

两个特性collision resistance 和 hiding 来实现
预测结果不能提前公开
可以把预测结果作为输入,算出一个哈希值
可以公布出哈希值,作为sealed envelope,第二天收盘之后在公布结果
但是这样输入的结果很有限,容易预测出结果,股票就那么点

常用的方法是输入后面拼接一个随机数,之后再一起取哈希
这里引入了nonce(在挖矿miner 后面也会出现)
H(x|| nonce) 保证了输入足够随机,分布均匀

2.1.3 puzzle friendly

哈希值的计算,事先是不可预测的,不能猜测出结果,如果你希望你的哈希值的落在某个范围内,只能一个一个输入去试。
比如你可以尝试得到下面这个proof:
前面20位都是0 (总共是256位)
H(x) -> 000000000(20个零)XXXXXX
(其实已经有点挖矿的概念了)
miner‘s task is to find a nonce
nonce 是你可以寻找的随机数,通过改变它进行哈希得到你想要的结果

比特币是区块链,区块链就是一个一个区块(block)组成的链表(chain),每个区块有一个块头(block header),块头里面有很多域(domain)
其实后面会知道的就是 (XX|| XX|| nonce)

挖矿的目的就是对这个块头求哈希,使得整个
H(block header)<= target‘s space
在目标的范围内,其实也就是proof of work,是你工作量的证明
区块链学习笔记(一)——比特币概念以及密码学相关的知识,区块链,区块链,学习,笔记
概念在这里:

Proof of Work (PoW) is a consensus mechanism used in blockchain networks, including Bitcoin. It is a computational puzzle that requires a significant amount of computational power to solve. The purpose of PoW is to ensure the security and integrity of the network by making it difficult and resource-intensive for malicious actors to manipulate the blockchain.
In PoW, miners compete to solve a complex mathematical problem, typically a cryptographic hash function, by repeatedly hashing different inputs until they find a solution that meets certain criteria. This solution is known as the "proof" and serves as evidence that the miner has expended a significant amount of computational effort.

第一段是proof of work的概念,第二段是矿工们的工作以及通过这个指标来进行工作量的证明。

“difficult to solve, but easy to verify”
虽然找到一个合适的nonce需要很大的工作量,但是一旦找到之后发布(broadcast)出去,其他人要验证(validate its valid)是不是符合要求是很容易的,只需要算一次哈希值来判断。

比特币中用的哈希函数叫做 SHA-256 (secure hash algorithm)

2.2 Signature

因为比特币是去中心化的,它没有第三方进行管理,是P2P结构,所以在比特币中如果你要注册,就只需要个人开户,创立公钥和私钥一对
(public key and private key)
这就代表了一个账户,比特币的信息
Bitcoin: local generate public(address) privacy(password)

  • 不理解的自己可以去了解非对称加密算法(加密用的是公钥,解密用的是私钥(但是这样不能保证identification 身份认证))

比特币是反过来,先用私钥进行签名 verifiied key,验证签名用的是这个人的公钥,因为我要明白的是这个人给我转钱

  • 公私钥对产生的相同怎么办?
    实际当中不可行,位数为256,为什么要做这种暴力拆解的事情
    他说比地球爆炸的概率还要小。

前提是有一个好的随机源
a good source of randomness

每一次签名都需要好的随机源,防止泄露私钥文章来源地址https://www.toymoban.com/news/detail-615641.html

到了这里,关于区块链学习笔记(一)——比特币概念以及密码学相关的知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《现代密码学》学习笔记——第三章 分组密码 [二] AES

    版本 密钥长度 分组长度 迭代轮数 AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 (1)字节代换(SubByte) (2)行移位(ShiftRow) (3)列混合(MixColumn) (4)密钥加(AddRoundKey) 1.字节代换   字节代换是非线性变换,独立地对状态的每个字节进行。代换表(S-Box)是可逆的。   将

    2024年02月05日
    浏览(96)
  • 【密码学基础】半/全同态加密算法基础学习笔记

    定义:只支持乘法或加法中的一种的同态加密。同态加密指的是允许直接对密文进行计算,密文计算结果解密后与明文直接计算结果相同。 Paillier加解密过程 Paillier的同态性 明文加法 = 密文乘法 明文乘法 = 密文指数幂 Paillier的安全性 基于大整数分解困难问题 相比Paillier,

    2024年02月13日
    浏览(51)
  • 区块链--密码学复习概括

    目录 一、密码学需要实现的功能与目标 二、从发展历史角度 三、古典密码学 四、现代密码学 五、密码体制分类 六、密码技术基础 七、非对称密码体制 八、基于证书的公钥分发机制 九、对称与非对称加密体制特性对比 十、RSA算法 十一、数字签名 十二、ECDSA签名算法 十三

    2024年02月03日
    浏览(47)
  • 密码学基本概念

    密码学的安全目标至少包含三个方面: (1)保密性(Confidentiality):信息仅被合法用户访问(浏览、阅读、打印等),不被泄露给非授权的用户、实体或过程。 提高保密性的手段有:防侦察、防辐射、数据加密、物理保密等。 (2)完整性(Integrity):资源只有授权方或以授

    2024年02月22日
    浏览(44)
  • 密码学 | 多重签名:基本概念

    目录 摘要 1  什么是多重签名? 2  多重签名的作用 2.1  联名账户 2.2  提高安全性 2.3  秘钥备份 3  比特币的多重签名 3.1  对比一 3.2  对比二 3.2.1  线性性 3.2.2  不可延展性 3.2.3  安全性证明 3.2.4  效率高、占用空间少 ⚠️ 原文: 多重签名:Schnorr 协议与 ECDSA 协议 - 知乎

    2024年04月25日
    浏览(41)
  • 密码学的100个基本概念

    密码学作为信息安全的基础,极为重要,本文分为上下两部分,总计10个章节,回顾了密码学的100个基本概念,供小伙伴们学习参考。本文将先介绍前五个章节的内容。 一、密码学历史 二、密码学基础 三、分组密码 四、序列密码 五、哈希函数 1.密码学 密码学(cryptography)源

    2024年01月24日
    浏览(38)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(64)
  • java 实现区块链的密码学

    java 实现区块链的密码学今天分享,首先区块链行业相关的密码学有几个思路,比如对称加解密、非对称加解密、数字签名算法、散列hash相关的SHA-256加解密、Merkle树相关算法等等。今天我们主要采用java语言分享非对称加密和数字签名。 1、相关jar等配置,配置JDK1.8版本加上下

    2024年02月11日
    浏览(57)
  • 区块链基础之密码学及安全技术

    1.2 密码学及安全技术 1.2.1 密码学知识 1.2.1.1 Hash函数 Hash(哈希) 哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为 固定长度的输出值,并且是不可逆的。其输出值称为哈希值,也称为散列值。 哈希算法的应用: 消息认证:确保收到的消息和发送

    2024年02月11日
    浏览(44)
  • 一、区块链技术与应用-密码学原理

            加密货币(crypto-currency)         密码学中所用的哈希函数被称为cryptographic hash function 它有两个重要的性质:          1.      collisiion resistance(哈希碰撞)           两个不同的输入 哈希函数结果却相同 哈希碰撞是不可避免的 因为输入空间远远大于输出空间

    2023年04月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包