0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

区块链对于嵌入式系统命令和控制

星星科技指导员 来源:嵌入式计算设计 作者:RUSSELL DOTY 2022-11-11 16:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在许多情况下,嵌入式系统的“控制”部分是直接连接的执行器的一系列命令。其中一些系统,例如飞行控制,可能对性能敏感 - 实际上是延迟敏感的。其他情况,例如设置地下水修复的化学注入速率,可能会每小时或每天更改一次。控制器的常见要求是能够验证和验证命令,以及维护可验证的命令历史记录。

考虑自主无人机的情况。向无人机发出的关键命令将包括目的地以及是否在到达目的地时释放有效载荷。有效负载可以是检测或其他高价值项。

为了确保无人机执行有效的任务,应该有多个授权。授权任务的缔约方可能包括科学小组、供资或治理小组以及行动小组。在这种情况下,将有一个系统,在无人机接受之前,所有这三个组都必须批准和授权一个位置。该系统需要防伪或防欺骗,理想情况下维护所有命令的安全历史记录。

区块链可以通过验证(包括验证服务器和验证策略)提供这种保证。验证服务器通过对建议的事务进行加密签名来工作。在自主无人机示例中,将无人机发送到特定任务的命令将被视为事务。

最简单的情况是单个验证服务器对每个事务进行签名。验证策略可以创建更复杂的授权,如示例中所示,该示例将调用三个验证服务器,每个服务器在事务生效之前对事务进行签名(批准)。更复杂的情况也是可能的:例如,弹性系统可能有 20 个验证服务器,并且需要由大多数服务器(11 个服务器)签名,或者在另一种情况下,相同的 20 个验证服务器只需要 5 个验证服务器签名即可进行有效事务。不同的系统可能有一个必须签名的主验证服务器,以及五个辅助服务器中的任何两个进行签名。

称为拜占庭容错的验证策略即使在验证服务器出现故障以及存在受损或恶意验证服务器的情况下也能正常工作。使用拜占庭容错破坏系统需要破坏一半以上的验证服务器,即使存在系统故障和恶意破坏,这种方法也很可靠。拜占庭容错的细节有点太晦涩难懂,无法在这里讨论,但它仍然是区块链强大和灵活性的一个例子。

验证服务器通过对事务进行加密签名来工作。这是使用私钥/公钥对完成的,私钥/公钥对在每个验证服务器上都不同。此加密签名可以在软件中完成,利用主机系统的性能。也可以使用硬件安全模块 (HSM) 来完成此操作,该模块是专用于安全操作的特殊强化模块。HSM 可以是高性能/高成本模块或低性能/低成本单元,例如受信任的平台模块 (TPM) 甚至智能卡。

使用软件签名时,私钥存在于系统上,可能会被泄露。使用 HSM,私钥包含在硬件模块中,不会泄露。(虽然这种说法并不完全正确,但现代 HSM 被认为对国家级参与者以外的任何内容都是安全的。

无人机示例中区块链的美妙之处在于,无人机验证其收到的命令的有效性,验证命令是否已由批准的机构发出和验证,并确认它们已按正确的顺序接收。这些步骤避免了与修改传输中的命令相关的风险,甚至避免了将命令输入无人机的人更改命令的风险。除了无人机之外,区块链生态系统中的其他所有人都可以验证命令的顺序以及谁授权和批准它们。

请注意,实际的命令内容不必对每个人都可见。区块链有效负载可以加密,以便只有授权实体才能实际读取内容。此操作将生成一个非常强大的系统,每个人都可以验证所有命令的顺序和权限,但只有需要实现特定命令的实体才能确定该命令是什么。

关于指挥和控制系统的一个主要问题是在通信系统中断和退化的情况下运行的能力。区块链的一个关键优势是它对重传的容忍度极高:用户可以发送(和接收)一千次区块,最终得到一个命令或交易,而不是一千个。一个块可以有多个部分传输,然后被重建为单个可验证的块;区块可能会乱序,因为无论您以什么顺序接收区块,区块链都使区块能够以正确的顺序组装。

这种属性组合使区块链成为构建强大、安全、高信任系统的强大工具。除了支持低性能的应用程序,如前面示例中的无人机目标目的地,区块链还可以支持高性能应用程序。这一切的关键是什么?足够的计算能力、充足的网络带宽和足够低的延迟来支持所需的性能。

区块链是构建无懈可击系统的完美技术吗?是和不是。..如果您关注媒体,您就会知道使用区块链的加密货币系统经常受到损害。但是,如果您深入研究故障,您会发现这些故障是由于人为错误和错误的实施造成的。实际的区块链算法和协议令人惊讶地强大。这很像加密的其他应用:算法是健壮的,但使用它们的人员、软件和系统不一定是健壮的。

这些例子展示了区块链技术如何用于构建更强大、更安全的分布式系统,包括那些提供可验证变化历史的系统。密码学是一个强大的工具,具有许多实际应用。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190256
  • 嵌入式
    +关注

    关注

    5186

    文章

    20146

    浏览量

    328826
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用xmake+zig更优雅的进行嵌入式系统开发

    引言在嵌入式系统开发领域,构建工具的稳定性与可维护性对项目长期发展至关重要。嵌入式项目通常需要针对不同硬件平台进行交叉编译,每个平台都需要依赖特定的构建工具,环境搭建复杂。随着LLV
    的头像 发表于 11-30 10:04 3263次阅读
    使用xmake+zig更优雅的进行<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>开发

    嵌入式和FPGA的区别

    开发中做出更明智的技术选择。 基本概念解析 嵌入式系统(Embedded System)是一种专用计算机系统,通常包含微处理器/微控制器、存储器和专用外围设备,被设计用于执行特定功
    发表于 11-19 06:55

    嵌入式系统的定义和应用领域

    嵌入式系统,简而言之,就是一种专为特定设备或装置设计的计算机系统。它们通常配备一个嵌入式处理器,其控制程序被存储在ROM中。这些
    发表于 11-17 06:49

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统
    发表于 11-13 06:30

    入行嵌入式应该怎么准备?

    想入行嵌入式该怎么准备。很能理解大家对于嵌入式的关注,嵌入式系统是当今科技领域中的重要组成部分,它存在于我们生活的方方面面,各行各业。智能化
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在
    发表于 06-20 09:46

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微
    发表于 05-15 09:29

    嵌入式去哪个城市好?

    对于嵌入式技术从业者来说,选择哪个城市发展是一个重要的决策。以下是一些建议: 一线城市 北京作为中国的首都和科技中心,北京拥有众多顶尖的高校和研究机构,以及大量的高科技企业,为嵌入式开发和应用提供了
    发表于 04-02 10:12

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 在许多嵌入式系统中,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署在资源受限的设备(如微控制
    的头像 发表于 01-25 17:05 1210次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件开发环境

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着
    的头像 发表于 01-13 16:30 1184次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    哪些专业适合学习嵌入式开发?

    :涉及传感器技术、网络通信等,是物联网领域的关键技术领域,适合转行到物联网和嵌入式领域。 3)自动化专业:自动化专业的知识对于嵌入式系统的设计和控制
    发表于 01-03 13:44

    嵌入式开发必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令(上)关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式</b>开发必备-RK3562演示Linux常用<b class='flag-5'>系统</b>查询<b class='flag-5'>命令</b>(上)触觉智能出品

    新手怎么学嵌入式?

    操作系统示例。 学习嵌入式技术是一个充满挑战但又极具乐趣的过程。对于新手来说,只要有耐心和恒心,按照上述步骤逐步学习,从基础知识到编程语言,从硬件知识到实践操作,再到嵌入式操作
    发表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统嵌入到其他设备或
    的头像 发表于 12-11 09:23 1519次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所
    的头像 发表于 12-09 09:38 1467次阅读