IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> Distributed System 基础(二)比特币(Bitcoin) -> 正文阅读

[区块链]Distributed System 基础(二)比特币(Bitcoin)

1 简介

Bitcoin发明与2009年,由Satoshi Nakamoto(大概率是个假的名字)创建,它的特征有:

  1. No central authority
  2. Anonymous
  3. Only 21 million bitcoins and 18 millions of them are already generated
比特币从本质上来说还是一个分布式系统

2 简单的加密(crypto)知识

hash function:hash 函数是指一个函数h: A → B?使得
  1. h易于计算
  2. A是有限的,B是无限的
  3. h^{-1}难以计算
  4. 给了x和h(x)难以找到y,使得h(y)=h(x)

3 Bitcion 和共识问题

一个比特币可以看成是一个有写入信息的文件。比特币的拥有者可以由一个公钥表示。如果你想将你的比特币交易给某人,你可以将新的拥有者写入文件,并签上签名。从某种角度说,我们是创造了一个新的比特币文件。这个过程被称为 事务(transaction).问题是,有可能有人会把比特别复制很多份,然后签给多人,这个被称为 重复付款(double spending)为了避免这种事情发生我们必须知道什么样的事务是能做的,什么是不能做的。因为比特币是一个去中心化的系统,所以涉及共识问题。
在比特币系统中,我们每个节点必须要对是否批准有相同的知识,为了实现这一点,我们通常会在一批事务中开启一个共识协议,这个也称为 block(即:区块)共识协议的使得每个人都同意区块中的事务是被批准的事务。每一个区块都由自己本区块的hash,上一个区块的hash和很多的事务组成,于是根据hash值,一个一个区块就像是被穿了起来,即区块链。
如果出现重复付款问题,接受者会在区块链中发现相同的事务。

4 Bitcoin 和 miner

一个区块存储事务,前一个块的哈希,它自己的哈希,然后保留一些空间( nonce),这是一个任意的数字。块的哈希必须将最后一个k位设置为零才能有效,但我们不能保证它会是这样的。因此,矿工(miner)可以改变nonce,重新做散列,并希望它能匹配最后k位为0的特点。世界上生成一个新块的时间是10分钟。例如,使用k=32,平均你必须做 2^{32}次哈希,实际上是k>32。一旦你找到了nonce,你就可以发送新块,每个人都在链中加入新块。
问:当两个矿工同时找到一个好的区块时会发生什么?
答:两个矿工都向每个人发送信息,有可能一个区块被一部分矿工接受,另一个区块被另一部分接受。我们相当于创建了区块链的两个分支,矿工们在两个部分分别试图扩展。通常发生的情况是,只有一个区块“获胜”,于是每个人都停止在另一个分支扩展,使它成为一个死分支。如果一个交易是在一个死分支上,它将不会被批准。如何才能确定我们的交易是在一个好的分支上进行的呢?有一个“规则”表示我们必须等待至少6个block才能确保我们的交易将得到批准。
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:57:50  更:2022-01-28 11:57:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:44:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码