[2024区块链开发入门指引] - 比特币与区块链诞生

一份为小白用户准备的免费区块链基础教程

工欲善其事,必先利其器

Web3开发中,各种工具、教程、社区、语言框架.。。。
种类繁多,是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役?

参见另一篇博文👉 2024最全面且有知识深度的web3开发工具、web3学习项目资源平台

在这里插入图片描述

区块链诞生之前

我们通常把比特币的发明看成是区块链诞生的标志性事件。但区块链就像很多技术一样,并不是凭空出现,通常都会有一些渊源。 1991年,比特币发明出来的17年前,斯图尔特·哈伯(Stuart Haber)和W.斯科特·斯托内塔(W. Scott Stornetta)就提出了区块链的前身。他们创造性地把一系列区块链接起来,最终保证了电子文档的时间戳不可篡改。一年之后,他们升级了这套系统,往其中加入默克尔(Merkle)树。得益于此,系统的效率大大提升,可以在一个区块中放入一组文档。 通过 Hash 链接在一起的区块、默克尔(Merkle)树,构成了比特币诞生的基础,这些最终都成为区块链技术的重要组成部分。

区块链的诞生标志 —— 比特币

2008年10月31日,一名叫中本聪(Satoshi Nakamoto)的用户在密码学的邮件组中发了一个链接,链接指向一篇叫作《比特币:点对点的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System)的论文,标志着比特币的诞生。

点对点的电子现金系统论文中详细介绍了如何使用点对点技术创建一种电子货币(数字货币)。
在这里插入图片描述

2009年1月3日,中本聪挖出了比特币的创世区块,标志着比特币网络正式上线。中本聪在挖出创世区块的过程中获得了50个比特币的矿工奖励,同时他在创世区块中留下了这句话: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘) 这句话是英国《泰晤士报》当天的头版文章标题。通过对头版头条的引用证明了比特币的实际上线时间。

早期数字货币探索

1983年,戴维·查姆(David Chaum)和史蒂芬·布兰德斯(Stefan
Brands)开发了ecash协议,基于ecash协议,不少人发明了多种电子现金系统。 1997年,亚当·巴克(Adam
Back)开发了hashcash协议,主要是为了解决垃圾邮件泛滥的问题,其中用到的技术就是后来被比特币使用的工作量证明算法(proof-of-work)。
1998年,戴伟(Wei Dai)发明了b-money,尼克·萨博(Nick Szabo)发明了bit
gold。两者被认为是最早的分布式加密货币。 这一切可以被认为是比特币的前身,它们都或多或少地影响了比特币的设计。 2008年8月18日,
bitcoin.org 域名注册,
2008年10月31日,密码学(cryptography)邮件列表中收到了一个叫中本聪的人发表论文《比特币:点对点的电子现金系统》。

比特币历史事件

2009年1月9日,知名代码托管网站SourceForge上发布了第一个开源版本的比特币客户端。
2009年1月9日,作为比特币的早期支持者和贡献者的程序员哈尔·芬尼(Hal
Finney)下载了比特币客户端,2009年1月12日,哈尔·芬尼(Hal Finney)收到了中本聪的 10
枚比特币的转账,这是比特币历史上的第一次转账。 2010年5月22日,程序员拉斯洛·汉耶兹(Laszlo
Hanyecz)用10000枚比特币购买了Papa John‘s的两份披萨。这是有记录的第一次在现实中发生的比特币交易行为。
2012年9月,比特币基金会成立,旨在通过开源的协议来加速比特币在全球范围内的增长。 2013年10月29日,加拿大公司发布第一个比特币
ATM,允许用户在咖啡馆里直接购买和出售比特币。 2017年8月1日,比特币发生共识分裂,分叉出 Bitcoin Cash (BCH) 链。
2017年11月28日,比特币价格首次突破1万美元。 2021年11月10日,比特币创下历史最高价达68928.9美元

比特币共识

比特币是一种基于分布式网络的数字货币,与传统的货币不同,比特币不是在任何政府的支持下发行的货币,也不依赖中心化的银行来记录相应的账本。

如何让比特币的分布式网络中的所有节点,按照一个统一的规则行动,以便最终形成一个所有人都认可的公共账本?

工作量证明

在分布式系统中,如何多台计算机如何同时运行同一个任务,一直是一个“难题”,在比特币系统中,需要如何保持各个节点的账本数据(通常称为“状态”)一致呢。 这就需要各节点达成一个“共识”,所有节点按统一的规则行事。

比特币网络中的所有节点都会接收到一组交易记录(记录作为一个区块保存),然后把这个区块更新到本地的账本记录中。如果节点都随意增加记录,那么整个比特币网络中的记录就无法保持一致。为了保持记录一致,那么必须确认哪个区块被优先写入,也就是需要以某一个节点的操作为准。但如果人为规定以某个节点为准,就意味着这个节点比其他节点更权威,相当于变成了一个中心节点,那么去中心化的优势就荡然无存。

比特币使用的共识算法叫做PoW共识机制,全称是Proof of Work(“工作量证明”),率先完成工作量证明的节点,拥有区块写入权,其他的节点以此区块的基础上(在最长链的基础上)进行后续交易记录的工作量证明。

工作量证明中最重要的是计算一个数学难题,解此难题唯一的方式是不断的尝试,直到试出“答案”,率先完成解答的节点可以获取一笔奖励,最初奖励是每个区块50个比特币,之后每大约4年减半,当前为每区块 6.25 比特币。由于完成工作量证明有一定的随机性,通常这个过程也称为“挖矿”,参与挖矿的节点,则称为“矿工”。

矿工的收益不仅仅包含出块奖励,同时还有交易手续费收益,根据中本聪的设想,当出块奖励越来越小后,矿工的收益将主要来自于交易手续费。

比特币发行量小知识

比特币发行量都来自于比特币的出块奖励,按共识规则初始出块奖励是 50
比特币,之后每隔21万个区块奖励减半,每个区块的生成时间大概是10分钟,因此大致是4年减半一次,大约到 2140
年,比特币的出块奖励就趋于零,此时产出的所有比特币数量将非常接近 2100 万枚。

在下一节,我们会介绍更多比特币如何交易的细节。

比特币有什么价值

比特币具有的“货币”的特性,如:可流通性,可交易性,可存储性,可分割性,同时对比法币,有更好的稀缺性。

但比特币价值并不是由中央权力机构赋予或物理特性(贵重金额)决定,而是由广泛的共识来决定。

由于比特币与黄金有很多的相似性,如:稀缺性、价值存储工具,加上比特币的数字特性,有很多人把比特币称为“数字黄金”, 很多机构购置一部分比特币作为储备来对冲美元风险。一些受美元制裁的国家也在加大比特币的采用率。

比特币特点

从比特币的特点上来看,比特币是去中心化的,主要特点如下:

比特币不需要任何权威机构的背书。 比特币是点对点网络,没有中心化的服务器存在。 比特币的账本数据存储在区块链中,而区块链本身存储在千千万万的节点中,没有一个中心化的存储设备。 比特币账本数据面向所有人公开,任何人都可以把它存储到自己的机器中。 比特币网络没有管理员,比特币网络中的所有节点共同管理比特币网络,维持比特币网络的运行。 任何人都可以成为比特币网络的一个节点,从而具备和别人同等的管理权。 比特币网络中任何节点都是同等地位,它们都可能获得下一个区块的记账权。 由于比特币可能由任意节点凭空产生,所以比特币的供应也是去中心化的。 和传统银行不同,任何人都可以生成任意数量的比特币账户,不需要任何中心化机构的审批。 任何人都可以在比特币网络中发起转账,不需要任何中心化机构的审批。

但是,在现实中,比特币也有一些中心化的倾向,由于奖励机制是凭空生成的比特币,所以比特币网络中的节点争夺记账权的欲望通常比较强大,结果造成了大量的节点联合起来,共同去争夺记账权。当联盟中的任意节点获得记账权,就会把得到的比特币和联盟中的其他节点分享。因此,这种联盟造成了比特币网络节点某种程度上的中心化。这种联盟就是我们经常听说的比特币矿场。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/313926.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打造完备数据生态,「开放互信、合作共赢」: 拓数派亮相2023龙蜥操作系统大会

拓数派始终持「开放互信,合作共赢」的理念,通过积极建立合作伙伴生态网络、构建生态工具、打造活跃的技术和用户社区等方式,构筑更加完善的数据生态体系,为用户带来更加便捷的使用体验。2023年12月17-18日,由开放原子开…

2024年原创深度学习算法项目分享

原创深度学习算法项目分享,包括以下领域: 图像视频、文本分析、知识图谱、推荐系统、问答系统、强化学习、机器学习、多模态、系统界面、爬虫、增量学习等领域… 有需要的话,评论区私聊

【心得】PHP反序列化高级利用(phar|session)个人笔记

目录 ①phar反序列化 ②session反序列化 ①phar反序列化 phar 认为是java的jar包 calc.exe phar能干什么 多个php合并为独立压缩包,不解压就能执行里面的php文件,支持web服务器和命令行 phar协议 phar://xxx.phar $phar->setmetadata($h); m…

堆的应用:堆排序和TOP-K问题

上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…

蓝桥杯一维前缀和 | 算法基础

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

《MySQL系列-InnoDB引擎01》MySQL体系结构和存储引擎

文章目录 第一章 MySQL体系结构和存储引擎1 数据库和实例2 MySQL配置文件3 MySQL数据库路径4 MySQL体系结构5 MySQL存储引擎5.1 InnoDB存储引擎5.2 MyISAM存储引擎5.3 NDB存储引擎5.4 Memory存储引擎5.5 Archive存储引擎5.6 Federated存储引擎 6 连接MySQL6.1 TCP/IP6.2 命名管…

数据统计的一些专业术语学习

数据统计的一些专业术语学习 1. 极差2. 方差3. 标准差4. 均值绝对差 1. 极差 数据统计的极差,又称全距,是指一组数据中最大值和最小值之差。 举个例子,如果我们有一组数据:1,2,3,4&#xff0c…

Visual Transformer (ViT)模型详解

1 Vit简介 1.1 Vit的由来 ViT是2020年Google团队提出的将Transformer应用在图像分类的模型,虽然不是第一篇将transformer应用在视觉任务的论文,但是因为其模型“简单”且效果好,可扩展性强(scalable,模型越大效果越好…

Windows系统历史版本简介详细版

学习目标: 目录 学习目标: 学习内容: 学习产出: Windows 11的全新用户界面设计:学习新的任务栏、开始菜单、窗口管理等界面元素的使用与操作。 Windows 11的新功能和特点:学习新的虚拟桌面、Microsoft Team…

07-2-接口文档管理工具-swagger注解使用__ev

swagger参考demo package com.example.swagger2.controller;import com.example.swagger2.exception.SwaggerException; import com.example.swagger2.model.User; import io.swagger.annotations.*; import org.springframework.web.bind.annotation.*;import java.util.Has…

多模态大模型的前世今生

1 引言 前段时间 ChatGPT 进行了一轮重大更新:多模态上线,能说话,会看图!微软发了一篇长达 166 页的 GPT-4V 测评论文,一时间又带起了一阵多模态的热议,随后像是 LLaVA-1.5、CogVLM、MiniGPT-5 等研究工作…

HTTP协议编程实战(二)实战二

使用析构函数主要是在里面关闭套接字(socket); waitForReadyRead()里面参数是毫秒,失败返回false; \r\n表示请求头部已经结束了,HTTP/1.1是版本号,200 ok表示请求响应成功 关闭的话就在前面加/