主页 > imtoken国内下载 > 什么是比特币?

什么是比特币?

imtoken国内下载 2023-01-17 04:20:31

看完你就知道了~

一、比特币的由来

比特币由化名中本聪(Satoshi Nakamoto)于 2008 年创建,是人们提出的一种数字货币。目前一枚比特币的价格约为 10,000 美元(2018 年 2 月 27 日),比特币总市值约为 1750 亿美元。 (“朋克”提醒朋友,比特币的最小单位是0.00000001,所以不要以为一定要一个一个买比特币)。

二、如何理解数字货币?

简单来说,数字货币是一种既不需要纸币也不需要金银铜的货币。所有货币都以数字形式在线存储。这乍一看似乎很难理解,但仔细想想,现在有多少人在定期使用纸币?相信大部分小伙伴小额使用支付宝和微信,大额使用银行转账。所以从某种意义上说bch的由来,每个人的银行存款只是一串数字。

那么比特币(和区块链中的其他数字货币)和这种数字银行存款最大的区别是什么?

银行系统是一个中心化的机构,拥有一个中心化的分类账,它控制着所有的交易和记录。比特币是一种没有中心化机构的支付系统。那么你可能会想,这种情况下,谁来记账,谁来保证交易的正确性呢?

三、分布式账本

如果没有中心化账本怎么办?

这个问题很容易解决。如果没有中心化的组织来记账,那么每个人都会一起记账。大家一起记账,用去中心化的账本代替中心化的账本,由于账本是公开的,每个人都可以记录和验证,所以账本的可靠性得到了保证。这就是分布式记账的概念。

bch的由来

四、早期分布式账本面临的问题

谁来领导这个系统的记账(交易的记录和确认)?这个问题实际上困扰了分布式账本的发展多年。按照民主的概念,大家的第一反应似乎是,有什么问题?可以轮流(或随机)记账。如果会计有差异,少数服从多数不是更好吗?无论如何,账本都是公开透明的。

乍一看,似乎是这样。但是,网上有句名言“隔着电脑没人知道你是狗”,参与区块链记账的是电脑(节点)。分布式记账可以实现节点之间的平等,但不能实现所有人的平等。因为一个人可以制作几乎无限数量的节点。按照轮流账的原则,坏人太容易把账搞砸了。

例如,假设有 10 个人,其中 9 个好人,1 个坏人。 9个好人各有1个节点,1个坏人偷偷注册10个节点(因为这是在网上,注册一个节点的成本大约等于0),所以一共是19个节点。如果你按照最简单的轮流(或随机)记账,坏人有超过50%的概率获得记账权,如果剩下的9个好人节点对记账有疑问,因为坏人控制了10个节点,超过节点总数的一半,那么他可以强行记录有问题的账户,让其他人不得不接受该账户。

每个人都应该明白这一点,因为在互联网上创建节点的成本几乎为零。 ,所以坏人(攻击者)可以以几乎零成本创建大量节点,并且可以拥有整个系统的话语权(这也就是俗称的“女巫攻击”)。

如果使用轮换(或者说核心问题是:创建节点的成本近似为零→赢得大量记账权的成本近似为零→攻击系统的成本近似为零。非常容易产生攻击!!!

这个问题一直困扰着分布式账本的发展多年……

...直到中本聪出生!

五、工作量证明(Proof of Work)工作,挖矿)

中本聪的想法很简单,就是不能以旋转(或随机)的方式记录,而是每个节点都必须做一定的工作才能赢得记账,这就是所谓的工作量证明(Proof of Work)简称 PoW)。这样一来,攻击整个系统的成本就会从基本的零成本变成非常高的成本(因为需要做一定的工作量)。

比如比特币的机制会不断的向所有节点发布数学问题(SHA256加密)。解决整个数学问题的唯一方法是枚举法。每当一个节点找到正确的解决方案,就会赢得记账权。同时,系统会产生新的问题。当新节点解决新问题时,记账权会从前一个节点转移到新节点。

bch的由来

整个过程会不断重复,每个新节点开始记录一个新的账本,也就是比特币中的区块,账本与账本之间的联系就是区块与区块之间的联系,也就形成了一个区块链。 (比特币的机制会自动调整解决问题的难度,从而保证出块与出块的间隔在10分钟左右,这就是比特币的出块速度。)在整个过程中,主要取决于算力。计算能力越强,可以同时检查越多的解,从而更快地找到正确的解。这样,要攻击这个系统,就需要非常强的算力(一般认为需要整个系统51%以上的算力),所以比特币系统的安全性非常高。

为了鼓励大家记账,一方面赢记账节点可以获得一定数量的比特币的一次性奖励,也可以获得记账的交易手续费。这也称为挖矿。

六、保护个人财产

那么说完账本和记账的问题,对于个人来说,比特币是如何保护个人财产的呢?

中本聪使用公钥密码术解决了这个问题。公钥密码学的原理可以用这个简单的类比来说明:小朋克一开始有两个不同的密码和一个账户(地址),分别称为公钥(public key)和私钥(private key)。公用密码可以从私用密码推导出来,账户地址可以从公用密码推导出来,但是反过来不能推导出来。

每个人(节点)都可以看到这个公共密码,而私人密码只有小朋克知道。每当 Little Punk 想要发送交易时,都必须使用私人密码来控制账户并发送交易。其他人都可以通过公开密码验证交易。

从数学的角度来看,小朋克通过私人密码对信息进行加密,然后将公共密码和加密后的信息公布在互联网上。大家可以通过公用密码解密信息来确认信息一定是小朋克发送的,而且由于公用密码不能用来加密信息,所以任何人都不能冒充小明科发送可以被小朋克解密的信息。公开密码。

在比特币系统中,私钥是资产所有权的唯一证明。从某种意义上说,比特币真正通过密码学原理实现了人们对其资产的完全控制。

七、硬币机制

bch的由来

比特币总量有上限,共计2100万比特币。每个区块奖励给矿工的比特币数量大约每 4 年减半,从最初的 50 比特币到 25 比特币,再到现在的 12.5 比特币。以后会降到6.25,3.125……预计到2140年,比特币全部挖完,出块没有奖励,矿工收益全部来自交易费用。

比特币归根结底是一种非通胀的数字货币(当然还是有轻微的通胀,因为还是有块奖励的),并且由于不可避免的密钥丢失或者操作失误使得比特币无可挽回,成为一种温和的通缩货币。

这可能会导致由于币值上涨缓慢,人们更愿意持有币而不是消费币的现象,降低了比特币的流动性。当然bch的由来,这是要到 2140 年才需要考虑的事情,而通胀到现在都将保持温和。

八、智能合约

智能合约是区块链世界中一个非常重要的机制。智能合约,通俗的讲,就是用代码写一个合约(contract),保证合约按照约定的条件执行。

这也是一种颠覆性的进步。交易双方的信任问题可以通过智能合约完美解决。

我们信任的代码!

代码是最受信任的合约!

而且适用范围不仅限于简单的合约。比特币支持编程并且可以运行去中心化应用程序。想象一下所有程序都在区块链上运行的未来,因此您不必担心信任问题。

听起来不错!

bch的由来

但是,比特币作为最早的可编程数字货币,在实际应用过程中,一方面是因为比特币的智能合约不是图灵完备的(注:图灵完备是指这种计算机语言理论上可以编写任何程序),所以它只能支持非常基本的操作;另一方面,由于比特币的出块速度较慢,合约的执行和交互至少以10分钟为单位,所以比特币采用智能合约。内部应用并不广泛,但在以太坊上大放异彩(“朋克”将在下一篇文章中详细介绍)。

九、分叉和解决方案

您可能有一个疑问,如果两个节点接近同时找到正确的解决方案,那是谁?做会计?

在这种情况下,两个节点都会进行记账,这也会导致分叉。在这种情况下,其他节点将遵循最长链原则,即无论哪条链有新的区块使其链变长,都会在更长的链上继续记录。被遗弃的区块通常被称为孤儿区块。

上述情况虽然会造成分叉,但最终会在最长的链上继续,最终只有一条链长期存在。

但在某些情况下,会发生硬分叉,即永久形成两条链,后续链完全独立。

这种情况发生在一些节点修改共识规则时,这些节点产生的新区块会被老节点判断为非法,但这些节点自己会继续在新区块上发展,这样会产生硬分叉例如,当比特币现金(BCH)从比特币(BTC)分叉时,区块限制从1M增加到8M,那么老节点认为BCH节点新生成的区块是非法的,BCH不识别BTC由节点形成的块,从而导致硬分叉。此外,当部分节点与其他原始节点之间的网络(主动或被动)完全中断时,也可能导致硬分叉。

十、恶意攻击及解决方案

那么比特币什么时候会出现安全问题?

bch的由来

首先要注意的是

即使恶意节点获得记账权,也不能发送错误的交易!

否则,其他节点将不承认其记账权,而是继续计算并争夺本区块的记账权。

因此,恶意节点可以做的就是通过分叉的机制,拒绝区块中已确认的交易。一般来说,我们认为如果我们能够控制比特币 51% 以上的算力,我们就有这种能力拒绝已经打包成块的交易。

假设恶意节点A控制了51%的算力,想要拒绝第N个区块的一笔交易,它修改了自己的比特币节点,拒绝识别这个区块,从N-1个开始挖的区块重新开始,并且有意不打包交易,从而迫使分叉开始。因为 A 的算力比网络剩余的算力多,所以 A 的分叉出块速度会比主链快。比特币的共识是区块高度最高的链是主链,所以A拒绝他人交易的链会成为主链。这样,之前已经被区块确认的交易也可以被否定。

但是,需要强调的是,恶意节点不能只修改链中间的一个块而不更改后续块。例如,如果已经有 5 个块,则高度分别为 1、2、3、4 和 5。如果恶意节点想要修改高度为 3 的区块中的交易,则必须重新启动区块 3 之后的所有区块,而不是仅仅替换区块 3。

这也被称为区块链的不可变属性。这是因为每个块头都有一段数据,它是根据前一个块头的信息(如块高度、生成时间等)加密而成的。只要其中一个块发生变化,所有后续块的头部中包含的前一个块的加密信息将不匹配。因此,如果要进行恶意攻击,则必须重新挖掘所有后续区块。

基于这种不可篡改的特性,恶意攻击也不是无法防范的,主要是通过更多的节点确认。 假设当前区块高度为M,恶意节点要修改的交易为N,M-N越大(M-N的值也称为交易的确认数),恶意分叉成功的时间越长,因为诚实节点挖矿在 M 高度进行,恶意分叉需要从 N 高度重新挖矿,中间需要赶上 M-N 高度。这也是为什么很多交易所需要6次确认才能显示余额的原因,因为6次确认后,占算力51%的恶意拒绝交易理论上需要20多天才能成功分叉,这会给整个社区足够的时间采取对策。

所以,即使你拥有网络的绝大部分计算能力,也不意味着你可以为所欲为。