社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

什么是比特币与区块链

蓝狐笔记 • 8 年前 • 320 次点击  

前言:本文适合于没有技术基础的比特币和区块链初学者,作者Robert Simoes深入浅出的解释了比特币的基本运行原理,值得初学者关注。本文由蓝狐社群“Cipher李熙和”翻译,原文源于hackernoon。

 

如果区块链Cryptocurrency是一项能够改变世界的概念和技术,那么它会与我们每个人相关,我们可以向周围的人阐明它的基本原理。


什么是区块链?


交易是生活中必不可少的一环。B向A付款,A向C付款,或者C向D付款并以此买下一些花。

为了有一个稳定的支付系统,我们需要追踪被支付的钱去了哪,又被谁所持有。


而中本聪(比特币的创造者)所做的就是用“共识“来解决这个问题, 他创造了区块链来储存和组织这些数据(也可以被称作数据结构)。区块链通过收集一系列交易明细并将他们一起存入区块中。

把交易记录存储到一个区块

 

 然后我们需要做的是将这个区块指向之前的区块,之前的区块同样包含过去发送的交易。这样两个区块便被连接了起来。

区块指向之前的区块


 当我们不断的把一个区块连接到另一个区块的时候,便创造了一个区块构成的链,称作区块链。区块链最吸引人的地方在于,我们能通过它追踪到之前发生过的所有交易。另一个特点是,区块链中的数据一旦已经被记录并储存便不可更改,如果区块链中的任意一个区块中的数据被更改,连接在这个被更改的区块之后的所有区块中的数据都会变得无效,这一点使得我们可以信任追踪到的交易。

我们可以追溯交易记录

 

所以我们可以说:“在这个区块中包含了A向D汇款的交易明细,而在之前的区块中包含了这笔钱在A拿到之前是来自C的信息”。


从本质上来说区块链只是一种“数据结构”(比如一种用来储存数据的独特方式),这种数据结构能够告诉我们谁向哪里汇了多少钱,并且不需要任何人来管理。


恭喜你,我们已经理解了一半了,不过只是简单的一半。

 

比特币挖矿


更加复杂且令人感到困惑的一部分便是比特币的“计算”和“挖矿”,听起来简直就像变戏法似的。


我们可以用这种方式来解释:


不再需要一个中央实体来管理账户的账目,比如银行,公司,政府。所以需要用其他方式来管理。


实现这些,我们必须确保我们的账号和交易是不断被更新的,同时确保没有人制造虚假的交易。


因此,中本聪所做的就是引入“矿工的理念”。矿工实际上是一台运行着比特币软件的计算机。


不需要中央实体维护账本

 

而这个软件所做的一切就是不断求解复杂的数学问题。这些数学问题极其复杂,解决的方法只有靠猜。

因此我们所做的就是让一群计算机全部运行比特币软件,并让他们不断的猜着这些数学问题的答案。

Never give up! Just keep trying!

 

而最终必然有一台电脑会猜对,然后这台电脑会告诉所有人:“嘿,我知道答案了!”


这个行为被称为广播,他所做的是把正确答案广播给了运行着比特币软件的所有电脑,也就是所有矿工。

这些数学问题的最大特点之一是:虽然想要求解出其正确答案很难,但是一旦有人宣称其找到了正确答案,想要验证其答案是否正确却是非常简单的。


所以,当找到答案的计算机向所有矿工广播自己得到的答案时,其他的矿工可以很容易的检查答案是否正确。


比如其中一个矿工说:“答案是正确的”,另一个说:“我也这么觉得”,另一个说:“我看着也是对的”,直到所有矿工都获得共识,这个答案便被认为确实是正确的。

矿工们达成共识

 

一旦我们确认了答案确实是正确的,解决问题的矿工会拿到一串交易明细,将其存入区块,并加到区块链的末端。


而矿工不断计算并记录的动机在于:


通过这么做他们会得到奖励。每添加一个区块到区块链的末端,他们便能够将一笔固定数量的比特币加到任意地址。

这就解释了人们为什么要在电脑上运行比特币软件,矿工为什么要不断的求解数学问题。


他们必须非常努力的求解这些数学问题,基本上他们是通过消耗电力来重复机械的“猜答案”的行为。当有矿工得到正确答案时,这场游戏便从另一个数学问题重新开始。


这便是比特币的挖矿机制。


 

比特币减半


这便是系统的最后一部分了。


随着区块链中的交易记录不断增长,矿工所需要解决的数学问题会变得更难。


随着难度增长,比特币就会很自然地变得更加稀有,因为矿工必须使用更多的电力花费更多努力来解决数学问题(只是矿工花费同样的努力得到的比特币会变得更少,原有的比特币并不会受影响)。这是一个被设计好的比特币稀有度膨胀,即比特币稀有度随着区块链变得更长而增加。



为了是比特币保持稀有,在一定量的区块被生成之后,我们会经历一个被称为比特币奖励减半的机制。


倘若在最开始,一个矿工解出一个数学问题会被奖励50比特币(如之前所述,是能够将50比特币加到任意地址),再解决了几十万个数学问题之后(事实上这个数量是固定的),这个奖励会变成25,再变成12.5,以此类推。


这个减半机制每诞生几十万个区块就会发生一次,直到系统规定的最大数量,2100万个比特币全部产生。之后奖励机制将彻底消失,也就是说矿工之后解决数学问题添加新的区块将不再获得奖励。


也许会有人疑惑,在没有奖励之后矿工的工作动机将来自哪里呢?事实是除去为区块链加上新的区块的获得的系统奖励之外,矿工还能从比特币使用者之间的交易中获得一定数目的手续费。



总结


比特币及其区块链系统的大致情况就是如此。值得注意的是区块链是比特币的核心技术,但是比特币的区块链只是区块链形态的一种,有许多其他数字货币使用的区块链会和比特币的区块链略有不同。


这只是一个互联网货币的简单解释,一个为了能让互联网货币成为让你的亲戚朋友在茶余饭后都忍不住谈论的话题而作出的努力。虽然还有很多细节都被省略了,但是核心内容就是这些了!


风险警示:蓝狐所有文章都不构成投资推荐,投资有风险,建议对项目进行深入考察,慎重做好自己的投资决策。

本文得到币乎内容支持计划(bihu.com)奖励。


代币估值:流动性因素不可忽视

协议层的竞争与代币格局变化

去中心化交易所模式简析:路途还长

加密猫:史上第一个用户完全拥有且不会消失的区块链猫

加密猫距离成为区块链杀手级应用还有多远?

加密狗启示录:区块链游戏大规模爆发的前奏

Cardano:它能超越比特币成为未来的主流数字货币吗?(一)

GCS游戏公链:驱动区块链游戏走向主流的基础设施

IoTex:让区块链赋能物联网

Lunyr :  区块链时代的维基百科

Zenprotocol:金融资产流动引擎

Zipper:对标瑞波,优于瑞波?

Raiden雷电网络:会成为全球区块链支付的基础设施吗

雷电网络:可以解决加密猫拥堵问题吗

雷电网络RDN代币:到底有什么价值?

区块链世界中的IOTA:它是什么样的存在?

Power Ledger: 基于区块链的能源生态网络

Kcash:它会是区块链时代的支付宝吗

AWARE:催生区块链时代的伯克希尔?

Tokenclub:要超越的不仅仅是雪球社区

BCH的狂飙:载入史册的经典之战与区块链的西部世界

Neblio:下一代商用区块链解决方案

0X:基于以太坊区块链的去中心化交易所协议

Ripio Credit Network:基于区块链智能合约的全球信贷网络

Request:基于区块链的全球化支付网络

Mobius:打通区块链生态和现实世界数据的通用协议

Lisk:用JavaScript也能创建区块链应用

Request:基于区块链的全球化支付网络

SmartMesh:基于区块链的物联网底层协议,连接全球手机的P2P网络

Vibehub:基于区块链的虚拟现实交易市场

Saltleding:数字代币资产抵押平台,上线近3天估值2.45亿美元,挤进TOP30

Elix:借款方也能获得奖励的区块链借贷平台

IPFS:基于区块链的去中心化存储网络

LinkEye:它会是区块链时代的信用基石吗?

SelfSell:区块链时代的个人版“纳斯达克”?

简单理解区块链数据库

不靠谱的区块链ICO项目的五个迹象

靠谱的区块链ICO一般长什么样?

ICO回报率超过10倍的项目都有哪些?

区块链ICO项目回报率头牌stratis:为什么能够逆袭?

区块链投资的底层逻辑:是否看好它对生产关系的变革产生真正影响

史上第一妖币:chaincoin的逆市上涨超2万多倍


如果你对区块链价值投资感兴趣,欢迎加入“蓝狐-区块链价值投资”知识星球(原小密圈)加入链接:http://t.xiaomiquan.com/7Yjm6eq 也可扫描或长按下面的二维码加入:


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ZfxkmLRRb5
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/7603