前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >区块链安全如何保证?公有私有哪家强?

区块链安全如何保证?公有私有哪家强?

作者头像
静一
发布于 2018-03-27 07:52:29
发布于 2018-03-27 07:52:29
1.4K0
举报
文章被收录于专栏:云计算D1net云计算D1net

区块链,比特币背后的分布式账本技术,日后可能会被证明比它支持的货币更有价值,但这种价值必须建立在安全的基础上。当我们开始将该技术付诸实践时,一定要确保我们设置的初始条件不会在日后导致安全问题。要理解区块链技术中固有的安全风险,了解公有区块链和私有区块链之间的区别很重要。

比特币依赖于公有区块链,一个允许任何人读写事务的事务记录系统。任何人都可以聚合和发布事务,只要他们可以努力解开加密。节点网络确认先前已验证的事务记录,其验证新事务的过程被称为共识协议。在比特币系统中,因为没有用户被隐式信任来验证交易,所有用户遵循通过提交软件和硬件资源,解决密码谜题来验证交易的算法。

这种分散和相对自由的访问导致了一些意想不到的后果:因为任何人都可以读写交易,比特币交易促进了黑市交易活动的繁荣。由于共识协议需要能源消耗,大多数用户选择在廉价电力的国家运营,导致了网络集中化和串通的可能性,并且使得网络容易受到电力补贴政策变化的影响。这两种趋势都导致人们对私有区块链的兴趣增加。

私有区块链主要用于金融领域,他们的运营商能够控制管理员角色权限,比如谁可以读取已验证交易的分类帐,谁可以提交交易,谁可以验证。私有区块链可应用于多领域市场,尤以多方希望同时参与,但又无法完全相互信任的场景居多。例如,支持土地和有形资产登记,私人商业交易和私人股本分配的私人区块链系统都在测试中。随着这些系统的发展,它们也可能会遇到意想不到的后果,其中一些将对系统的安全及其管理或存储的资产产生影响。在软件和产品开发中,考虑到早期的安全性可以缓解对产品进行根本性改变的难度,以解决后续的安全漏洞。

区块链安全始于网络架构

在建立私有区块链时第一个要考虑的因素是系统的网络架构。区块链在分类帐,已验证交易列表,通过通信并且通信需要写入和认可新的交易这几方面达成共识。此通信发生在节点之间,每个节点维护分类帐的副本并且通知其他节点新的信息:新提交或新验证的交易。私有区块链运营商可以控制用户权限,决定谁可以操作节点,以及这些节点是如何连接的;具有更多连接的节点可以更快地接收信息。同样,节点可能需要维持特定数量的连接才被认为是活动的。限制信息传输或传输不正确信息的节点必须可识别和可规避,以保持系统的完整性。基础商品交易的私有区块链可以在网络中向已建立的贸易伙伴授予更多中心位置,并且可能需要新节点作为安全措施来维持与中央节点的连接,以确保其如预期那样运行。

在建立网络架构中的另一个安全问题是如何处理非通信或间歇性活动节点。节点可能由于无害的原因离线,但是网络必须被结构化以在没有离线节点的情况下起作用(以获得对先前验证的事务共识并且正确地验证新事务),并且如果返回,必须能够快速地将这些节点恢复。

公有与私有区块链中的共识协议和访问权限

用于获得共识(通过解决问题来验证交易)的过程被有意设计为需要一段时间,目前约10分钟。交易被完全验证大约需要一到两个小时。这种延迟正是系统的脆弱性所在,因为最初被验证的交易可能稍后会失去该状态,并且对于使用基于比特币的系统来进行快节奏交易(例如金融交易)时,这是一个重大障碍。

相比之下,在私有区块链中,运营商可以选择仅允许某些节点执行验证过程,并且这些可信方将负责将新验证的事务传送到网络的其余部分。

公有与私有区块链中的事务可逆性和资产安全

区块链交易可用于存储数据,比特币交易的主要动机是比特币本身的交换;该货币的汇率在其短暂的生命周期内会有波动,但在过去两年中增加了五倍以上的价值。每次比特币交易都有与正在交换的比特币相关联的唯一文本字符串,类似地,区块链系统记录交易中涉及的资产或股份的所有权。在比特币系统中,通过使用与支付相关联的私钥(由被设计为提供随机和唯一输出算法产生的长数字)来证明所有权,尽管这些密钥就像数据一样,可能被盗或丢失。

因此,私有区块链运营商必须决定如何解决和识别凭证丢失的问题,特别是对于管理实物资产的系统。即使没有人能证明一桶石油的所有权,桶也需要在某个特定的地方。比特币目前没有为那些丢失私钥的人提供追索权;类似地,被盗的比特币几乎不可能恢复,因为使用被盗密钥提交的事务对于验证节点而言似乎不能与合法事务区分开。

私有区块链所有者必须决定是否以及在什么情况下撤消已验证的交易,特别是如果该交易可能被视为盗窃。事务逆转可能破坏系统的公平性和公正性,但是由于系统允许漏洞被利用可能会损失大量的用户。最近的DAO(分散自治组织)案例说明了这种情况,该组织是一个基于代码的风险资本基金,设计用于基于公有区块链平台的以太坊。运行DAO的代码中的安全漏洞导致了财务损失,需要以太坊的开发人员更改Ethereum协议本身,即使DAO的漏洞不是以太坊协议的错误。作出这些改变的决定是有争议的,但也提醒了公有和私有区块链开发商,未来他们可能会面临类似的状况。

私有区块链的优势是更快的事务验证和网络通信,修复错误和逆转事务的能力,以及限制访问和减少外部攻击的能力。那些致力于维护公有区块链系统(比如比特币)的开发者仍然依赖于个人用户采取他们提出的建议,而私有区块链的运营商可以选择单方面部署一些改变,即便用户不同意。

虽然在公有区块链上建立金融市场或其他基础设施的风险可能会让新手望而却步,但私有区块链提供了对参与者行为和交易验证过程一定程度的控制。需要快速事务的系统使用私有区块链,事务反转的可能性和事务验证的中央控制将更好,而受益于广泛参与,透明度和第三方验证的公司将会在公有区块链上蓬勃发展。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云计算D1net 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【FFmpeg】ffmpeg 命令行参数 ④ ( ffmpeg 视频参数解析 | 设置视频帧数 | 设置视频码率 | 设置视频帧率 | 设置视频宽高 | 设置视频宽高比 | 设置视频滤镜 )
在 ffmpeg 命令中 , -vframes 参数 的 作用是 指定要输出的视频帧数 , 通过该参数 可以 控制 视频处理的长度 , 即 : 在输出多少帧后 停止处理 视频流 ;
韩曙亮
2024/03/05
8.6K0
【FFmpeg】ffmpeg 命令行参数 ④ ( ffmpeg 视频参数解析 | 设置视频帧数 | 设置视频码率 | 设置视频帧率 | 设置视频宽高 | 设置视频宽高比 | 设置视频滤镜 )
FFmpeg libswscale源码分析3-scale滤镜源码分析
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/14355017.html
叶余
2021/02/04
6510
FFmpeg原始帧处理-滤镜API用法详解
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10429145.html
叶余
2019/04/02
4.5K0
FFmpeg原始帧处理-滤镜API用法详解
FFmpeg libswscale源码分析1-API介绍
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/14349382.html
叶余
2021/02/04
6550
ffmpeg过滤器filter理论与实战
ffmpeg 过滤器,当然也有人称为 ffmpeg 滤镜。(用滤镜听起来好像是给 video 用的,所以不太好,因为 audio 也可以用),ffmpeg 目录下,有个文件夹叫 libavfilter,它可以单独编译为一个库。干嘛用的呢?用于音视频过滤。 比如,我有一个 mp4,想把它缩小一半,输出一个新的 mp4,那么,做缩小动作的,就是 libavfilter。
Gnep@97
2023/12/12
9230
ffmpeg过滤器filter理论与实战
FFmpeg使用手册 - FFmpeg 的基本组成
1 FFmpeg 的基本组成 FFmpeg 的基本组成包含Format、Codec、Filter、Devices、Utils等,结构如图:
用户3765803
2019/03/05
2.9K0
FFmpeg使用手册 - FFmpeg 的基本组成
FFmpeg常用命令行讲解及实战一
上图红框内为编译选项,编译选项支持编解码的格式、封装的格式及网络协议等等第三方包。其中比较常用的:
Gnep@97
2023/11/21
1.8K0
FFmpeg常用命令行讲解及实战一
ffmpeg libswscale实现YUV转RGB
这种复杂的方法可以配置一些sws_getContext()配置不了的参数。比如说设置图像的YUV像素的取值范围是JPEG标准(Y、U、V取值范围都是0-255)还是MPEG标准(Y取值范围是16-235,U、V的取值范围是16-240)
曾大稳
2018/09/11
3.8K0
FFmpeg从入门到精通-云享读书会
FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被来自各行各业的不同公司所广泛使用。
DS小龙哥
2022/10/06
5.5K0
FFmpeg从入门到精通-云享读书会
2020 FFmpeg 滤镜详解
在多媒体处理中,术语滤镜(filter)指的是修改未编码的原始音视频数据帧的一种软件工具。
jerrypxiao
2020/09/09
7.3K0
2020 FFmpeg 滤镜详解
FFmpeg命令也就这几类了吧
FFmpeg作为多媒体处理领域的强大开源工具,提供了丰富的音视频处理命令,广泛用于视频转换、格式处理、流媒体传输等。FFmpeg操作基于命令行,灵活而高效,涵盖多种应用场景。本文将为您提供最全的FFmpeg命令讲解,从基础命令结构到各类详细应用示例,帮助您轻松掌握FFmpeg的实用技巧。
程序员的园
2024/11/14
2940
FFmpeg命令也就这几类了吧
FFmpeg 滤镜相关
FFmpeg 除了具有强大的封装/解封装、编/解码功能外,还包含了一个非常强大的组建—滤镜avfilter。avfilter组建经常用于进行多媒体的处理与编辑,FFmpeg中包含多种滤镜。
码客说
2019/10/21
2.8K0
FFmpeg学习笔记汇总
FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。 FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等;FFmpeg框架提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等。
天天Lotay
2022/11/14
1.3K0
FFmpeg学习笔记汇总
FFmpeg从入门到精通笔记之四[通俗易懂]
介绍在FFmpeg环境下使用libx264进行H.264(AVC)软编码的操作,H.265(HEVC)的编码操作使用的是libx265,但是参数基本类似。
全栈程序员站长
2022/09/13
2.5K0
ffmpeg对pal8进行scale时丢失透明通道问题分析
通过 ffmpeg 对pal8格式的 png 图片进行缩放时,原始图像的透明通道丢失了,被替换为黑色底。
xiaoxia
2024/11/29
2500
【FFmpeg】ffmpeg 命令行参数 ② ( Windows 环境中 ffmpeg 命令行输出文本搜索 -findstr 用法 | -findstr 搜索文本字符串用法 | 输出命令行到文件中 )
在 Windows 命令行中 , 执行 ffmpeg 命令 , 有可能 在命令行中输出大量信息 ;
韩曙亮
2024/02/23
5690
【FFmpeg】ffmpeg 命令行参数 ② ( Windows 环境中 ffmpeg 命令行输出文本搜索 -findstr 用法 | -findstr 搜索文本字符串用法 | 输出命令行到文件中 )
ffmpeg常用命令集锦
     在实际工作中,通常需要ffmpeg作为工具来验证一个问题,比如播放一个视频,提取一个码流,转码视频,转封格式等,用的时候才发现忘记了相关命令,Google一番花老大的力气才找到自己需要的命令行。本文总结常用的命令,并演示如何通过命令行的help用法去构建新的命令。
用户4148957
2022/06/14
3930
ffmpeg常用命令集锦
刘歧:FFmpeg Filter深度应用
本文来自OnVideo视频创作云平台联合创始人刘歧在LiveVideoStackCon的讲师热身分享,刘歧分享了FFmpeg的基本原理、使用方法及开发方法。在10月19-20日的LiveVideo
LiveVideoStack
2021/09/01
6530
【FFmpeg】ffmpeg 命令行参数 ⑥ ( 使用 FFmpeg 提取 YUV 像素格式数据 | 使用 FFmpeg 提取 RGB 像素格式数据 | RGB 与 YUV 之间的格式转换 )
FFmpeg 是一个非常强大的多媒体处理工具 , 可以用来 处理 / 转换 / 播放 各种音视频格式的数据 , 因此 使用 FFmpeg 自然也可以提取 YUV 像素格式的数据 ;
韩曙亮
2024/03/28
1.4K0
【FFmpeg】ffmpeg 命令行参数 ⑥ ( 使用 FFmpeg 提取 YUV 像素格式数据 | 使用 FFmpeg 提取 RGB 像素格式数据 | RGB 与 YUV 之间的格式转换 )
1. 视频转换
下载:ffmpeg-20200831-4a11a6f-win64-static.zip
jamesjiang
2022/11/20
1.1K0
1. 视频转换
推荐阅读
相关推荐
【FFmpeg】ffmpeg 命令行参数 ④ ( ffmpeg 视频参数解析 | 设置视频帧数 | 设置视频码率 | 设置视频帧率 | 设置视频宽高 | 设置视频宽高比 | 设置视频滤镜 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档