如何在网络上,挖出一枚币?
发布于 1 个月前 作者 赞比社区 162 次浏览 来自 比特币

比特币的核心思路:如果我不需要一个中心的角色,不需要采用中心化的方式来组织网络上的所有交易,那么我们要怎么做?

基于信任的模型当中,所有的交易都要通过一个中心的节点,这个节点保存了所有人的所有状态,它来确定哪一笔交易是有效的,哪一笔交易是无效的,它来做所有的事情,它说了算,现在我们要把这个中心节点干掉,要把这个角色去掉,那么就有一个问题,之前它是保留了大家所有的交易情况,保留了哪一笔钱是有效的,哪一笔钱是无效的; 如果你把这个角色去掉,谁来保存所有的交易;

比特币的思路:所有人都来保存交易信息;

一、去中心化问题——数据管理和数据的同步?

所有人都保存所有的交易信息;怎么保证所有人的交易信息同步?(如果有人修改交易信息,怎么保证交易信息的正确性;)

数据库的概念:类似巨大无比的excel表格,存有所有人的交易信息数据;每个人都存一份,

数据库内容大,网上传输容易出问题:所以把数据库拆开分解成一个个小的数据块,每一个数据块称为:区块;然后把每个数据块编号后按顺序组装来保证数据库的完整性。 即:大的数据库,分散成小的数据块,分发传输,再组合成一个完整数据库;(类似淘宝上购买书架,拆分成零件方便运输到你手里,然后按说明书编号顺序组装。)

但是就有一个问题:数据库:一旦分散开来,可能发生错误;

解决办法:运用密码学的技术:密码学的技术将一个一个数据块,前后按顺序咬合在一起,形成一个不可更改的链,来保证数据库的正确。

去中心化分散保存的优点:①便于传输;②每个节点可以随意来去,小数据块周转速度比较快,每个节点都可以贡献力量。

维护数据块之间的相互顺序:保障不可篡改的安全性,需要通过密码学技术进行区块链的构造,加密和哈希的技术,后续课程会提到。

区块链的本质:是一个分布式的数据库,把数据放在一个地方形成数据库:可以理解为账本

分布式存储——公开透明

把数据放在所有人的手里,所有人都可以看到数据库,就需要公开透明。

好处:避免了信息不对称的问题,所有参与到比特币的网络节点都能看到全网的所有交易的情况;

公开透明的特征:特别用于大家都需要互相提防对方有没有动手脚的情况—运用区块链的技术,大家都不能篡改数据。

区块链的本质:把一个核心的数据库拆散成一个个小的数据块(区块),分散分发给大家,然后大家把所有的区块凑起来才能还原成跟原来一样的数据库。

数据库里存的内容:数据的仓库,可以存各种东西;音频、文字、视频等等

比特币区块里究竟存了什么样的信息?

现实中收到的钱:我们并不知道上一笔的交易信息。现金:每次流通没有被完全追溯。

比特币的数据库:只存最简单的交易信息((1)输入:钱从哪来 (2)输出:钱给谁 (3)金额:多少钱)

输出:钱给谁:用比特币地址来决定,类似账号、银行卡号,地址是经过编码的随机字符。

比特币钱包:一个APP,从区块链的数据库当中去查找关于你的信息,类似阅读器的功能。 比特币里每一笔钱都可以往上追溯,最早的一笔钱是怎么来的?

币是怎么来的?

去中心化的维护,希望大家都来存储数据库的数据块,组装、验证、打包,需要激励机制,即给钱;

比特币就是一种钱:比特币的发行和产生,用来奖励那些参与和维护分布式数据库的人;

当很多人认可比特币,很多人认可这些奖励,这些钱(币)就有了共识,这些钱就可以花了,类似早期货币发展历史中的金银;

认可比特币的人会增加它被接受的程度:越来越多的人参与维护比特币的数据库,大家都得到奖励,相互之间是互相认可的,形成共识;

人们认可这件事情会增加它被接受的程度;而且因为有了共识,不认可的人因为币能花,也参与进来,就形成了更大的共识。

打包整理数据得到奖励;币的本质:是奖励那些参与到比特币网络的维护、贡献和建设当中的人。

当大家发现比特币可以拿来花、炒、可以拉盘,即可以获得利益,就会有很多人参与其中;

矿工和挖矿

区块链中的每一个区块:有一个矿工相对应;

矿工:对应到区块的发现者,谁先完成这个数据块的分装打包整理工作,谁就是这个区块的拥有者,谁就得到这笔奖励,比特币的网络系统就把这笔钱发给这个矿工对应的账号地址。

这笔钱是凭空印出来的,因为产生了一个新的区块,新的数据来源。(后续课程细讲)

矿工竞争:比特币刚开始不是特别火的时候,大家都很容易可以拿到这样一笔钱,做的人多了,就有竞争,有竞争就没有那么容易获得币。

UTXO 比特币的交易信息不包括用户余额的概念,比特币里没有一个字段来存储余额,是通过算出来你有多少钱。

用户余额:有人给你一笔钱,转到那你的账户里,你没有把它转出去,就形成了你的余额。

你有多少钱是在数据库里查到的,比特币里没有专门的地方来存储你的余额,它是通过算出来你有多少钱的。

UTXO:如果一笔钱只进不出,形成一笔未花费的交易,你未花出去的钱( unspend );本质就是你手里没有花出去的钱;可以理解为你的零钱;

逻辑:①你花的钱:来自上一个人未花的钱——你现在花的钱,是因为上一个人把他没有花的钱给你了,所以你才能得到钱;如果上一个人这笔钱已经花了,它不在你的手里,你也拿不到。

②你手里的钱:本质是来源于上一个人他手里的零钱;你花出去的钱:输入侧,是来自于上一个UTXO,然后这笔钱,当你花出去以后,它再转给别人,形成一个新的UTXO。

UTXO:钱包里的零钱。

你用钱的时候,把钱包里的钱拿出来,给对方,你给的多,对方要找零;

UTXO里有5块钱,如果要付3块钱;给对方5块钱,然后对方再给我2块钱。

给钱这个动作实际上是包含了一个收钱的动作,收多出来的钱;有一个找零的动作;规定动作一定要做到位; 一个UTXO是不能拆分的,类似钱包里面额固定的钞票;一来一去,两个方向组合起来,可以实现任何数目的交易,不用单独针对某个数目的钱,设计专门的转账机制。 比特币:设计原理:形成一次交易,一定是有给有收的,一来一去的;

比特币钱包管理自己的财产,本质就是再区块链里去找属于你的地址里的没有花出去的钱,去找属于你的UTXO。

为什么是UTXO?

① 去中心化和匿名是大前提,比特币的地址可以自己生成,理论上你可以有无穷多个地址;

如果用传统的数据库去存,你每次都要同步一遍数据库,你要把所有的地址都要查一遍,看有没有钱,交易就会很慢;

②采取了UTXO的模式,你可以通过检索UTXO,只要在UTXO里,就可以检索出来;

传统交易需要排队

而使用UTXO可以同时处理多笔交易;交易相互独立且可并行。

回到顶部