【扫盲】数字货币科普对于完全不了解啥叫比特币的小伙伴需要的聊天谈资
很多人并不清楚,我们时常听说的比特币,以太坊币,等等这些东西到底是一场骗局还是一场货币革命? 下面就围绕这数字货币的历史以及一些应用场景开始分析这个问题。
一、 开端
一切从2008年中本聪(Satoshi Nakamoto)的一篇论文《比特币:一种点对点的电子现金系统》开始。

在并不长的论文里,中本聪实现了一种不依靠信任的去中心化电子交易系统,这在当时 (甚至是现在) 都是很反常识的一种思想。传统上,人们因为各种目的而产生的交易行为,都必须由一个强有力的中心化系统来做保障,比如中国人民银行,我们所有的电子交易都由它统一管理,存储以及在产生纠纷的时候做出仲裁。一个最简单的例子,A转账100元给B,在没有中心化机构介入的情况下,如何能证明A确实是转了100元给B?那么,假设有一种交易系统,其交易记录有着不能篡改、不可伪造这两个特性,那么问题不就解决了吗? 中本聪在这篇论文里就是通过P2P分布式网络、区块链、SHA256哈希算法以及椭圆公私钥加密算法等等实现了这两个目标,具体细节这里不做延申解读,有兴趣的朋友可以翻阅我另一篇博文。
二、比特币 (Bitcoin)
当中本聪发表了他那篇著名的论文后,比特币就是基于其之上的第一个应用,这是2008年的事情。

总体而言,比特币是一种的区块链应用,因此伴随着它还有一个称之为“公链”的东西, 比特币的公链名字就叫“BTC”(Bitcoin),公链就像一个巨型账本,他将大大小小所有产生于这个账本上的记录以链式模式存储起来,且一旦记录后就完全无法篡改了,相应的,也不能无中生有伪造一条记录。
三、以太坊 (Ethereum)
尽管比特币作为世界上规模最大的数字货币,但除了其自身的支付属性外,并没有其他应用场景,因此比特币也被人称作是 “数字黄金” 以及 “信仰币” 等等。
由于比特币缺乏应用场景,于是一帮原比特币粉丝开始思考:这玩意儿除了用来当钱使之外,还能做什么? 如何利用它来打造一个应用生态? 于是在2013年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,启动了项目。经过多年的发展以太坊是迄今为止继比特币之后最受欢迎的区块链网络,以太坊与比特币最大的不同就是其不仅仅是一种数字货币,还是一个生态,下面就来说说这个“生态”究竟意味着什么?
以太坊提出了一种称之为“智能合约”的新事物,相较于比特币公链只能存储交易信息,以太坊更进一步,除了存储交易信息外,还可存储譬如说房屋租赁合同这一类合约性质的内容,让这些内容同样享有了不可篡改、不可伪造的特性。

以太坊也有自己的公链,称为ERC20,这条链也被称为以太坊主网。与比特币不同的是,ERC20这条公链上并不只有以太坊币这一种数字货币。 注意,“以太坊”和“以太坊币”不是一回事,严格来说,以太坊代表着整个以太坊生态,包括ERC20公链以及跑在这条公链上的各种智能合约以及其他的数字货币等。而以太坊币(ETH)则是ERC20上的创始货币,也是规模最大的货币,尽管很不政治正确,但大概你可以把它理解为以太坊的“官方货币”。

前面说到以太坊主链上除了以太坊币之外,还存在其他数字货币,以太坊白皮书规定,任何符合ERC-20规范的数字货币都可以运行在以太坊主链上,这与比特币的主链只能运行比特币一种货币而言产生了巨大的区别。
那么问题来了,既然人人都有权利去凭空发币,那么且问,这些币又有何价值?现在,话题终于扯到我们前面说到的“生态”上来了。
尽管在以太坊上发行任何币都是允许的,包括初始发行量,如何进行交易等等,都可以通过智能合约来完成。比如说你可以发行10亿枚“小猫币”,可问题是,有谁会觉得这个“小猫币”有任何价值吗? 显然,如果你仅仅是发行一种币而不做其他事情,那么它就是一文不值的。

但是,如果现在你开发了一个宠物猫社区的APP,里面有许多关于围绕猫咪喂养的功能,也有一些用户参与的比如打卡,社区互助等等活动。或者这个APP还兼着卖点商品,比如猫粮猫砂之类。随着这个APP项目的成长,用户量开始猛增,用户确实从中获取了价值,这包括相对便宜的商品或者更加便利的服务,等等。 好了,现在你宣布,所有本APP的商品和服务都以“小猫币”来支付。这个时候,越多人看好你这个项目,那么与之捆绑的小猫币币价就会上升,你也会更努力地去运营这个项目,形成良性循环。于是这个凭空创造出来的币就开始变得有价值了,或者说被赋能了。
总体而言,以太坊通过智能合约与允许自行发币等特点,打通了数字货币与现实世界的屏障。2018年之后出现的各种新生事物比如说NFT、DeFi、DAO以及元宇宙等,都是建立在以太坊生态系统上的应用。
四、交易所

交易所一开始的功能,是将法币(譬如人民币、美元)与数字货币进行互换并且入场交易。比如说,你现在要炒币,就必须到交易所将法币(真钱)换成数字货币,当你出场的时候,也可以通过交易所将数字货币换成普通法币。当然,现在的交易所已经不仅仅是简单的兑换和基础交易功能了,基本上你在传统金融领域里能看到的所有玩法这里都能找到。
五、稳定币

首先要确定,稳定币也是一种数字货币,但是它的锚定价格是某种法币。比如最出名的稳定币称为USDT,它的价格总是以美金产生1:1的关系。其作用主要是为了方便,因为法币很难在区块链上流通,因此需要稳定币作为桥梁。
通过USDT与各种数字货币组成所谓的“交易币对”,比如USDT对BTC(比特币) 或者 USDT对ETC(以太坊) 等等。
后记
事实上任何一种物品都可以充当“货币”的角色,远的如古老的贝壳,以及今天的纸币等等。关键是,这种标的物是否能够为使用它的人建立信心。比如说黄金因其天然稀缺性,法币则通过政府的信用背书等等。那么,现在有一种存在于网络上的东西,它不可能篡改,不可伪造甚至也无法被消灭。即:“数据就是金钱本身,存在就是事实本身”,仔细思考一下,那么,现在你是否认为数字货币也可以被视为一种货币呢?
相关文章:
【扫盲】数字货币科普对于完全不了解啥叫比特币的小伙伴需要的聊天谈资
很多人并不清楚,我们时常听说的比特币,以太坊币,等等这些东西到底是一场骗局还是一场货币革命? 下面就围绕这数字货币的历史以及一些应用场景开始分析这个问题。 一、 开端 一切从2008年中本聪(Satoshi Nakamoto&…...
算法学习笔记:双指针
前言: 用于记录总结刷题过程中遇到的同类型问题 双指针问题及用法总结 1. 总结 双指针常用于遍历连序性对象(如数组、链表等)时,使用两个或多个指针进行单向遍历及相应的操作。避免多层循环,降低算法的时间复杂度。 …...
C++类的静态成员总结
tags: C OOP 引子: 类为什么需要静态成员 有时候类需要与它的一些成员与类本身直接相关, 而不是与类的各个对象都保持关联, 这就减少了成员与每一个类的实例对象的联系, 从而降低资源占用. 另一方面, 如果每次都需要重新更新该成员, 使得对象使用新的值, 这时候只需要修改一份…...
二、并发编程的三大特性
文章目录并发编程的三大特性1、原子性什么是并发编程的原子性?保证并发编程的原子性synchronizedCASLock锁ThreadLocal2、可见性什么是可见性?解决可见性的方式volatilesynchronizedLockfinal3、有序性什么是有序性?as-if-serialhappens-beforevolatile并发编程的…...
Ubuntu 22.04.2 LTS安装Apollo8.0
本人硬件环境: CPU:Intel Core i7 6700 显卡(GPU):NVIDIA GTX 3080 10G 内存:SAMSUNG DDR4 32GB 硬盘:双SSD系统盘 2T,双系统(windows,ubuntu) 一、安装Ubuntu 22.04…...
提高转化率的 3 个客户引导最佳实践
如果您的试用客户没有转化为付费客户,或者您总体上正在努力解决试用到付费转化率,那么您来对地方了。本文的最终目标是向您展示一些可用于提高自己的激活率和整体试用到付费转化的最佳客户引导实践。SaaS公司目前生活在一个以产品为主导的增长时代。换句…...
【消费战略】解读100个食品品牌丨元气森林 6年百亿的饮品黑马成功之道
元气森林成立于2016年,短短六年时间取得了近百亿营收的奇迹,成为让可口可乐、百事、娃哈哈、农夫山泉等消费巨头都无法忽视的对手。六年的成长堪比行业前辈20多年的积累,从这个角度而言,塔望咨询认为元气森林是成功的,…...
b2b b2c o2o分布式电子商务平台源码 mybatis+spring cloud
鸿鹄云商大型企业分布式互联网电子商务平台,推出PC微信APP云服务的云商平台系统,其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台。 分布式、微服务、云架构电子商务平台 java b2b2c o2o 技术解决方案 开发语言: java、j2ee 数据库&am…...
LeetCode104_104. 二叉树的最大深度
LeetCode104_104. 二叉树的最大深度 一、描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3/ \9 …...
浏览器跨域问题
跨域问题什么是跨域问题如何解决跨域问题JSONPCORS方式解决跨域使用 Nginx 反向代理使用 WebSocket跨源请求是否能携带Cookie什么是跨域问题 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为…...
面向对象的三特性
继承Java中通过继承,子类可以获取父类的属性和方法,不需要自己去定义即可获取,可以提高代码的复用性;同时,子类如果对继承的方法不满意,可以自己重写方法,进行个性化定制。好处:提高…...
管理者如何给员工沟通绩效
目录 1.沟通基础 2.聊绩效第一部分,心理预期管理 3.聊绩效第二部分,分人沟通 3.1 高绩效者 3.2 中绩效者 3.3 低绩效者 4.注意 1.沟通基础 无论在哪里工作,每个员工都不免会遇到绩效沟通的事情。作为管理层,通过每年的绩效…...
使用Python启动appium
import osimport subprocessimport multiprocessingimport timeimport pytestfrom appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom time import sleep# 关于appium的启动# 1、桌面版(咱们现在用的):…...
活动回顾丨研发效能度量线下沙龙圆满举办
2月18日,由跬智信息(Kyligence)联合甄知科技主办的研发效能度量线下沙龙圆满举办。本次沙龙在 Kyligence 上海总部举办,Kyligence 联合创始人兼 CTO 李扬、腾讯 Tech Lead 茹炳晟,以及甄知科技创始人兼 CTO 张礼军在现…...
问题解决篇 | Win11网络连接上了但是无法上网(修改DNS弹出框框“出现问题”,如何通过网络检测确定并修复网络问题)
目录 问题 网络诊断 Win i 打开设置 搜索“查找并修复网络问题”并点击 "远程计算机或设备将不接受连接" 解决办法: Win R,输入 inetcpl.cpl ,点击确定,打开Internet选项 选择“连接” 点击“局域网设置” 三个…...
Go语言进阶与依赖管理-学习笔记
1 语言进阶 1.1 Goroutine 线程:内核态,栈MB级别 协程:用户态,轻量级线程,栈KB级 1.2 CSP 提倡通信实现共享内存 1.3 Channel 创建方法 make(chan 元素类型,缓冲区大小) 无缓冲通道&#x…...
【Mybatis源码分析】datasource配置${}表达式时是如何被解析的?
核心配置中${}表达式配置的解析一、核心配置主体二、核心配置文件中properties是如何被解析的?三、${} 表达式的解析四、总结前提: 核心配置文件是被XMLConfigBuilder 对象进行解析的,configuration 对象是由它父类BaseBuider继承下来的属性…...
网络基础概述
1.计算机网络背景 计算机刚刚发展的时候,是没有网络的,每一台计算机都是相互独立的。后来,人们有了多人协作的需求,人们就想办法把多台计算机用“线”连接起来,实现数据共享。后来,连接到一起的电脑越来…...
微搭使用笔记(四) 通过循环展示组件+json配置生成表单及数据获取
背景及整体思路 上篇文章我们通过微搭提供的数据模型完成了问卷表单页面的创建和数据采集,相对来说除了数据模型配置略显复杂外其他的倒还算方便。 本文我们通过for循环加上json文件配置的方式实现一个通用表单页面,如果更换了表单只需要替换掉json配置…...
做测试5年,靠业务熟悉吃老本,技术短板暴露,30岁被无情辞退...
朋友跟我诉苦,最近他被公司无情辞退了。测试几年,月薪10k,如今已经30了,接下来不知道该怎么办,让我帮他想想办法... 几年下来,也算是公司的骨干成员,不说有功,但一定无过。公司业务…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
