主页 > imtoken转账手续费 > 对区块链的肤浅认识和理解

对区块链的肤浅认识和理解

imtoken转账手续费 2023-12-23 05:10:05

从比特币的暴涨浪潮,到人们意识到比特币泡沫。现在人们开始回归到比特币背后的技术支撑,而这种革命性的技术被称为区块链技术。为了更准确地理解区块链,我决定先从研究中本聪的论文()开始,然后运行一个节点来实践比特币,最后阅读了大量的文献来理解区块链。让我们从比特币开始,慢慢解释我对区块链的理解。

一、区块链概览

在我看来,有必要从浅层次去理解为什么它不能被篡改,为什么要浪费大量的资源来做工作量证明。” “奇葩”机制,以及如何解决双付问题等核心问题,首先要搞清楚区块链技术的业务架构图,从协议层入手,再分析应用层。让我们先从底部开始。

1.事务

交易是区块链的最小单位,也是电子现金系统最重要的一点。所有比特币的设计都是为了确保交易可以稳定地创建、存储和验证。所以先讨论一下电子现金的实现以及如何实现交易。

上面有提到(参考比特币白皮书中的电子现金)

“资金转移。如果 Alice(化名 K_A 的所有者)愿意

将 X 单位的钱转移给 Bob(化名 K_B 的所有者),她广播

由 K_A 签名的消息“我给 K_B X 个单位的钱”。在

广播这条消息,每个人都从K_A的账户中扣除X个单位和

按 X 个单位记入 K_B 的帐户,除非这会产生负面影响

K_A 帐户中的余额,在这种情况下,该消息将被忽略。”

图片

如上图,当 Owner1 与 Owner2 交易时。

使用 Owner1 的公钥,使用 Owner1 的私钥验证这笔钱是否属于 Owner1,并对之前交易的哈希值和 Owner2 的公钥进行数字签名。一个包含交易双方的加密货币地址、数量、时间戳和有效签名等信息(其中

timestamp由timestampserver提供),然后广播到全网。产生交易的节点和其他节点必须验证交易的正确性并写入区块链。

显然,这个实现的难点在于验证交易。我们必须更深入地研究如何验证交易。

1.2.交易验证

根据中本聪的论文,验证交易很简单,不用遍历Merkle树的所有节点就可以查询交易记录是否存在,如果存在,则表示该区块接受交易,交易验证为成功的。但是,论文并没有讨论事务测试的细节,这很混乱。 (原文如下)

无需运行完整的网络节点即可验证付款。用户只需要保留

最长工作量证明链的区块头副本,他可以通过查询获得

网络节点,直到他确信自己拥有最长的链,并获得 Merkle 分支

将交易链接到时间戳所在的区块。他无法检查交易

他自己,但是通过将它链接到链中的某个位置,他可以看到一个网络节点已经接受了它,

并在进一步确认网络已接受后添加块。

后来为了理解底层实现,我看了mastering bitcoin()的第128页

1.2.1.P2PKH(公共哈希)

P2PKH 是矿工用来验证交易是否正确的算法。为了保证稳定性,使用了图灵无状态设计语言。

()

假设 Alice 向 Bob 转账 100Bit,她在全网广播时需要携带三个关键信息,Bob 提供的公钥,Alice 提供的公钥 Hash,Bob 提供的公钥。

首先对Bob的公钥进行Hash运算,判断Bob公钥的Hash是否与Alice提供的Hash相同。检查 Bob 提供的签名是否授权 Bob 提供的当前已认证的公钥。如果 2 和 3 都成功,则验证成功。2.区块链

正如概述所说,先讨论交易后,再讨论区块和区块链。交易信息通过默克尔树集成到区块中,每个区块以链状结构相互连接。结构就是区块链,如下图所示。最好把有问题的区块链技术引入,把区块链要解决的主要问题带进来。

[图片上传失败...(image-a78d30-1519541860650)]

2.1.双重支付问题(double-pay)

问题当然是收款人无法验证其中一位所有者没有双花

硬币。一个常见的解决方案是引入一个受信任的中央机构或铸币厂,它会检查每一个

双花交易。每次交易后,硬币必须退回到造币厂

发行新硬币,只有直接从铸币厂发行的硬币才被信任不会被重复使用。

这个解决方案的问题在于,整个货币体系的命运取决于

经营铸币厂的公司,每笔交易都必须经过他们,就像银行一样

为了解决这个问题,中本聪提出了一个(Timestamp Server),用来对一组数据以块的形式进行随机散列并添加Timestamp,并广播其随机散列。而且我们需要建立一套去中心化的时间服务器,我们还需要引入工作量来防止作弊。 ()

因为最长的信任链,所以如果攻击者想要修改记录,他需要修改所有最长的链。但是计算每个区块的hash值需要大量的算力,而且最长的链越长,攻击者的成本就越高,难度越高,难度就越高。

2.2.工作量证明问题

如上所述,块挖掘使用计算能力来做成本可能会使攻击者付出代价。但是这种计算能力的作品数量控制也是一个问题。这就是比特币让矿工做的事情,比如:“计算一个不超过某个值的块头的哈希值。例如,如果哈希值最多为 2^256-1,你可以证明你计算的哈希值是小于 2^255 的哈希值最多组合两次”。这显然是一个 NP-Hard 问题。此外,比特币设置了一个线性概率,目标阈值越小,你需要尝试的哈希值就越多(平均而言)。

217.pic.jpg

为了控制币区出块的速度,比特币使用了一个常数Increased Nonce常数。公式如下。因为门槛越小,难度越大。因此,出块的难度会越来越大。


目标阈值 = 目标阈值 / Nonce常数 

2.3.无知识交易验证

上面讨论交易的时候说过,但是用户需要查看区块记录来判断交易是否成功;但是为了防止用户获取区块内容,可以快速判断用户是否对应用户的Hash值。比特币使用默克尔树,默克尔支持零知识证明。构建Merkle树并发布N0、N1、N4、Root、D0 拥有者可以很容易地检测到D0的存在,但不知道其他任何事情。

2.4. 一致性问题,共识机制(解决拜占庭问题)

在分布式系统中,一致性(早期也称为协议)是指对于系统中的多个服务节点,给定一系列操作,在协议的保护下(通常通过某种共识算法),尝试使他们在处理结果上达到一定程度的一致。

工作量证明是矿工在处理交易数据的同时不断地进行哈希计算(数据也被哈希),得到一个前23位为0的哈希值,这个值成为nonce黄金数。当全网矿工对nonce进行hash时,会发布自己打包的区块。其他节点收到区块验证区块后,会同意该区块已经连接到区块链上,然后继续进行下一个区块的打包和散列。在这个过程中,中本聪通过算力的竞争牺牲了部分最终一致性(因为会有分叉),需要等待多次确认,但这种简单暴力的方式保证了整个区块。将链系统的合法性,以及区块链系统的健壮性提升到极致。即使全网只有一个节点运行,区块链系统也会继续运行。最后,POW 还全面提高了区块链系统的安全性。依靠51%攻击理论来破坏区块链系统,是只有政府或疯子才能采取的方法。

二、区块链前景

这是互联网一直需要但从未拥有的分布式信任网络。 ---来自“区块链革命”

p>

比特币实现的本质是分布式可信网络。在区块链出现之前,两个或多个参与者之间从来没有直接的可信交易。总的来说,区块链技术的特点是分布式的、加密的、公开的分布式账本。

想了很久,也接触过一些区块链产品。毫无疑问,这是一项革命性的技术。酷炫的后比特币繁荣让我们更加关注技术本身的含义。我个人认为区块链技术可以创造第二代互联网。我们可以在区块链上为软件、服务、商业模式、市场、机构甚至政府事务创建原则。基于区块链的应用产品具有以下优势:

网络完整性分布式电力价值作为激励安全隐私权保护包容性/HP

但显然还处于萌芽阶段,无论是国家还是社会,都不知道如何用好区块链,或者说从中心化到去中心化的阶段不仅是由技术决定的,而且这个时期存在很多困难。但尽管如此,我还是非常看好这项技术。

这段时间,我也关注了以下比较区块链产品。

以太坊

白皮书:%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4 %B9%A6

官网:

技术特点:

开发的 Solidity 合约语言

教程:

与传统的编程语言不同,Solidity 非常简单。我们可以基于以太坊轻松编写自己的智能合约。这是我最喜欢的特定技术。

常见应用:

1.ICO 众筹

没有第三方平台阐述你对比特币的认识,多信任,少跑。但我觉得很多人仍然在赚钱。我最近了解到中大陈伟丽博士的CCFA论文“Detecting Ponzi Schemes on Ethereum: Towards Healthier Blockchain Technology”。就是用机器学习的方法来识别庞氏骗局。我和陈博士取得了联系,交换了意见。我们都看好以太坊智能合约。但是很多还是不成熟的,赚钱的方式也很多。

2.创建民主自治组织

对此我了解不多,所以引用官方的一句话:

“在区块链上,没人知道你是冰箱”

这是一个绝对平等的组织,没有任何阶级歧视,机器人和人类一视同仁。个人觉得这个概念不错,感觉会在社区里先发展起来。区块链最大的推动力是社区的力量。也很乐观。

3.构建去中心化应用程序

在金融、保险等行业可能率先进入去中心化和降低信任成本的革命。但是,仍然存在许多障碍,因此请继续关注。主要看国家和高管的态度。

1.NAS(星云币)

Nebula 是一个去中心化的搜索引擎。老实说,我还不太明白。技术介绍()。从技术层面可以看出,NAS是一个很厉害很厉害的东西。其中,自我进化的能力,我不解。据说可以避免硬分叉(以太坊是从以太坊硬分叉的)。

但据我所知,NAS的Merkle树是非常先进的,NAS解决拜占庭问题是另一种不像比特币那样基于算力的方法。

如果我没记错应该是用dBFT:小蚂蚁区块链(委托BFT,授权拜占庭容错机制)

优点:

专业流线型记账可以容忍多人做任何类型的错误记账,每个区块都是最终的,算法的可靠性不会分叉。有严格的数学证明

应用落地我对它了解不多,但我对这项技术相当看好。

2.SMT

我更关注SMT,概念很棒!但官网和白皮书都丑陋不堪,难怪难以开发。我不懂包装。 ()

SmartMesh:基于区块链的物联网底层协议,一个连接全球手机的P2P网络。事实上,物联网需要区块链来助力一场革命。 SmartMesh 是物联网的底层协议。它允许网络设备在没有网络的情况下相互连接。同时内置区块链轻节点,可实现无网络通信、无网络支付、无网络游戏。 (注意没有网络!!没有网络!!!)

其实在偏远地区,有近20亿人口(有些人好像算过),网络条件很差,无法进行网上支付。如果这项技术得到实施,将直接促进整个地球的生产力。

至于其他人,没有太大的顾虑。非常看好以太坊。其实重点远不止于此,但限于篇幅,就先到这里吧。总的来说,区块链技术确实具有与AI、VR等未来技术探讨的价值。相对而言阐述你对比特币的认识,研究人员需要具备较高的开发能力和学习能力,前景十分广阔。