0

0

区块链有哪四大核心技术

青灯夜游

青灯夜游

发布时间:2021-06-25 15:23:21

|

64234人浏览过

|

来源于php中文网

原创

区块链的四大核心技术:1、分布式账本,在区块链中起到了数据的存储作用;2、共识机制,在区块链中起到了统筹节点的行为,明确数据处理的作用;3、密码学,可以保证数据安全,验证数据归属;4、智能合约,在区块链中起到了数据执行与应用的功能。

区块链有哪四大核心技术

本教程操作环境:windows10系统、Dell G3电脑。

其实十年来区块链在原有基础上已经有了很大的变化和进展,截止现阶段经过丰富之后的区块链的四大核心技术——分布式账本,共识机制,密码学以及智能合约,它们在区块链中分别起到了数据的存储,数据的处理,数据的安全,以及数据的应用作用。总的来说,四大核心技术要区块链中各有各的作用,它们共同构建了区块链的基础。

一,分布式账本——储存作用

首先,分布式账本构建了区块链的框架,它本质是一个分布式数据库,当一笔数据产生后,经大家处理,就会储存在这个数据库里面,所以分布式账本在区块链中起到了数据存储的作用;

区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构,节点间数据交换通过数字签名技术进行验证,无需人为式的互相信任,只要按照既定的规则进行。节点间也无法欺骗其他节点。因为整个网络都是去中心化的,每个人都是参与者,每个人都有话语权。

二,共识机制——统筹节点,数据处理

其次,因为分布式账本去中心化的特点,决定了区块链网络是一个分布式的结构,每个人都可以自由的加入其中,共同参与数据的记录,但与此同时,就衍生出来令人头疼的“拜占庭将军”问题,即网络中参与的人数越多,全网就越难以达成统一,于是就需要另一套机制来协调全节点账目保持一致,共识机制就制定了一套规则,明确每个人处理数据的途径,并通过争夺记账权的方式来完成节点间的意见统一,最后谁取得记账权,全网就用谁处理的数据。所以共识机制在区块链中起到了统筹节点的行为,明确数据处理的作用。

任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一个完整的数据库,节点间都有一套共识机制,通过竞争,计算,共同维护整个区块链,任一节点失效,其余节点仍能正常工作。相当于认可你的游戏规则,比特币有比特币的共识机制,全球认可就可以参与比特币挖矿,因为你认可了它的共识机制,也可理解为认可它的游戏规则。比特币的规则就是进行庞大的运算,谁先算出来就给谁奖励POW。

备注:共识机制跟PoW、PoS、DPoS这些相比,优缺点是什么?

PoW即工作量证明,这是一种非常巧妙的方法,它的优点是:

  • 算法简单,容易实现;

  • 节点间无需交换额外的信息即可达成共识;

  • 破坏系统需要投入极大的成本;

它的缺点也非常明显:

  • 浪费能源;

  • 区块的确认时间难以缩短;

  • 新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;

  • 容易产生分叉,需要等待多个确认;

  • 永远没有最终性,需要检查点机制来弥补最终性

PoS即权益证明,它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。这种机制的优点是不像Pow那么费电,但是也有不少缺点:

  • 没有专业化,拥有权益的参与者未必希望参与记账;

  • 容易产生分叉,需要等待多个确认;

  • 永远没有最终性,需要检查点机制来弥补最终性;

DPoS在PoS的基础上,将记账人的角色专业化,先通过权益来选出记账人,然后记账人之间再轮流记账。这种方式依然没有解决最终性问题。

DBFT(delegated BFT)是一种通用的共识机制模块,提出了一种改进的拜占庭容错算法,使其能够适用于区块链系统。

DBFT是基于区块链技术的一种协议。用户可以将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。小蚁上可以发行中国《合同法》、《公司法》认可的公司股权,不仅是数字货币圈,还包括主流互联网金融。小蚁可以被用于股权众筹、P2P网贷、数字资产管理、智能合约等。

这种共识机制是在Castro 和 Liskov提出的“实用拜占庭容错算法”(Practical Byzantine Fault Tolerance)的基础上,经过改进后使其能够适用于 区块链系统。拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。dBFT主要做了以下改进:

  • 将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;

  • 将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;

  • 为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

  • 在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题

为什么最终采用一种这样的方案?

企业黄页-大众投资指南整站 asp.net 2.0
企业黄页-大众投资指南整站 asp.net 2.0

大众投资指南是基于Asp.Net(2.0)+C#+Access(sql2000)的企业黄页类程序,是基于web2.0 模式的网站。 贴吧和黄页都有采集功能 主程序包括分类信息和商家黄页两大模块。分类信息支持二级分类,商家黄页支持二级地区分类及二级行业分类。程序采用了伪静态(url重写)技术,可选生成纯静态首页。 一、分类信息仿百度贴吧编写,可以分别对游客及会员设置不同的审核条件。会员发布信息

下载

答:区块链作为一种分布式账本系统,其内部的经济模型决定了,每一位参与者都可以无需信任其他的参与者,即所谓的去信任。拜占庭将军问题正是描述了参与者之间如何在去信任的情况下达成共识,而拜占庭容错技术正是解决此类问题的方法。此外,区块链的网络环境非常复杂,会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题,还有各式各样的恶意节点,而拜占庭容错技术正是可以容忍这些错误的方案。

dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识,这种方式的优点是:

  • 专业化的记账人;

  • 可以容忍任何类型的错误;

  • 记账由多人协同完成,每一个区块都有最终性,不会分叉;

  • 算法的可靠性有严格的数学证明

缺点:

  • 当有1/3或以上记账人停止工作后,系统将无法提供服务;

  • 当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;

以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。比如我们哥伦布的共识机制DPOS+DBFT的共识机制。如果我们整个节点其中一个人或者一个设备关闭了,那么其他节点仍在正常工作,不会影响整个网络体系。但是如果腾讯的服务器关闭了,那所有人的微信打不开的,因为你没有调取数据的地方了,这就是中心化网络服务器与区块链网络服务器的一个区别。

三,密码学——数据的安全,验证了数据的归属,不可篡改可追溯

此外数据进入分布式数据库中,也不是单纯的打包进来就没事了,底层的数据构架则是由区块链密码学来决定的,打包好的数据块,会通过密码学中哈希函数处理成一个链式的结构,后一个区块包含前一个区块的哈希值,因为哈希算法具有单向性,抗篡改等特点,所以只在区块链网络中,数据一旦上链就不可篡改,且可追溯,另外你的账户也会通过非对称加密的方式进行加密,进而保证了数据的安全,验证了数据的归属。

单个或多个数据库的修改无法影响其他数据库了。除了超过整个网络51%的数据同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方式与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。这里就是区块链的数据结构,区块头和区块体。密码学 哈希值,时间戳,通过时间戳来决定它的顺序,不会打乱。

这个原理运作到我们的商业体系里边,包括商品体系,我们所说的溯源,可以查询到商品在哪里生产的,生产原材料是什么,从后往前一步一步查找到,因为我们在每做一步动作的同时把信息数据写到区块链的体系里,通过这个体系我就可以查找到是不是使用的这个原材料,是不是用这个工艺生产出来的。通过这样一个数据的结构存储达到我们共同相信它,这商品的确是这样生产出来的,相信这是真的。

另外数据无法修改,如果想要修改要达到51%的人才可以,从股权上理解,拥有公司51%的股权在这个公司就有话语权。这只是一个可能性而已。为什么用区块链技术比互联网技术更历害、更安全呢,因为他分布开了,如果你想要去修改里面的数据,作为黑客要找到所有记这个账的计算机,每台计算机都要修改,也许能很快找到其中一台把它改掉,但很难把所有的改掉。

区块链里所有的交易信息都是公开的,因此每一笔交易都对所有节点可见,由于节点与节点间是去中心化的,所以节点间无需公开身份,每个节点都是匿名的。比如每台算能机启动后,每台算能机谁启动谁没启动,我们相互间是不知道的,你可以在你家里开启,这里有个多劳多得的问题。

四,智能合约——执行 应用

最后,可以在分布式账本的基础上,搭建应用层面的智能合约。当我们想要解决一些信任问题,可以通过智能合约,将用户间的约定用代码的形式,将条件罗列清楚,并通过程序来执行,而区块链中的数据,则可以通过智能合约进行调用,所以智通合约在区块链中起到了数据执行与应用的功能。

智能合约可帮助您以透明、无冲突的方式交换金钱、财产、股份或任何有价值的物品,同时避免中间商的服务,甚至说智能合约将在未来取代律师这个职务。通过智能合约方式,资产或货币被转移到程序中,程序运行此代码,并在某个时间点自动验证一个条件,它会自动确定资产是应该去一个人还是回到另一个人,或者应该立即退还给发送它的人或其组合。(自动强制执行,赖不了账)与此同时,分散账本也是存储和复制文件,使其具有一定的安全性和不变性。

智能合约的特色

  • 自治——取消中间人和第三方,你是达成协议的人; 没有必要依赖经纪人,律师或其他中间人来确认。顺便提一句,这也消除了第三方操纵的危险,因为执行是由网络自动管理的,而不是由一个或多个可能有偏见的个人可能犯错。

  • 信任——您的文件在共享账本上加密。有人无法说他们失去了它。

  • 备份——想象一下,如果你的银行失去了你的储蓄账户。在区块链上,你的每一个朋友都有你的背影。您的文档被重复多次。

  • 安全——密码学,网站加密,保证您的文件安全。没有黑客攻击。事实上,这需要一个非常聪明的黑客来破解代码并渗透。

  • 速度——您通常不得不花费大量的时间和文书工作来手动处理文档。智能合约使用软件代码来自动执行任务,从而缩短了一系列业务流程的时间。

  • 储蓄节省成本——智能合约可以节省您的资金,因为他们淘汰了中间人。举例来说,你必须付公证人见证你的交易。

  • 准确性——自动化合同不仅更快,更便宜,而且还避免了手工填写表格所产生的错误。

描述智能合约的最佳方式是将该技术与自动售货机进行比较。通常,你会去找律师或公证人,付钱给他们,等你拿到文件。通过智能合约,您只需将一个比特币放入自动售货机(例如分类账),并将您的托管,驾驶执照或任何东西放入您的账户。更重要的是,智能合约不仅以与传统合同相同的方式定义协议的规则和处罚,还自动执行这些义务。

智能合约与区块链

区块链最好的一点是,因为它是一个分散的系统,存在于所有允许的当事方之间,所以不需要支付中间人(中间人),它可以节省您的时间和冲突。区块链存在问题,但与传统系统相比,它们的评级,无可否认,速度更快,更便宜,更安全,这也是银行和政府转向它们的原因。而利用区块链技术的特性而应用于智能合约,将可以更便捷的提高工作生活中的各种合约。

更多相关知识,请访问常见问题栏目!

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

325

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

231

2023.10.07

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

534

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

14

2026.01.06

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

400

2023.08.14

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

345

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2074

2023.08.14

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

go语言基础与基本函数
go语言基础与基本函数

共17课时 | 3.1万人学习

Css3入门视频教程
Css3入门视频教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号