热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3.04账户体系与安全设计

EOS账户依赖于ECC加密算法虚拟机管理智能合约与EOS账户体系有交叉1.账户、权限管理EOS权限管理2.钱包(Wallet)存储密钥Lock和
  • EOS账户依赖于ECC加密算法
  • 虚拟机管理智能合约与EOS账户体系有交叉

1.账户、权限管理
在这里插入图片描述

  • EOS权限管理
    在这里插入图片描述

2.钱包(Wallet)

  • 存储密钥
  • Lock和Unlock状态,需要密码去解锁
  • 签名授权,转账时实际上就是做一个签名

3.账户(Account)

  • 可读名字(12字符),被个人或组织(多人)拥有
  • 多权限管理、支持多签名、支持自定义权限
  • 可定义Action和Handler

4.Action和Handler

  • Action和Handler的区别
    在这里插入图片描述

5.权限管理举例

  • 默认账户配置
  • 单一签名:有一个key,就拥有所有权限,是不安全的
    在这里插入图片描述
  • 多签名和自定义权限控制
  • Owner有两个账户,权重都是1,加入想用Owner去变更数据,bob账户自己是做不了的,他权重是1,但Owner要求阈值为2,也就是大于等于2才可以
    在这里插入图片描述

6.被盗账户恢复

  • 账户A预先指定一个恢复账户B
  • 若账户A私钥被盗,账户A最近30天活跃的任何一个owner key与账户B一起,可以重置账户A的owner key,恢复对账户A的控制权

7.EOS虚拟机环境介绍

  • EOS虚拟机类似以太坊的EVM,是一个沙盒的环境,与本机是隔离的、安全的执行环境,是EOS中运行智能合约的容器,从设计上与EOS.IO是分离的
  • LLVM是一系列分模块、可重用的编译工具链,提供了一种代码编写良好的中间表示,可以作为多种语言的后端,还可以提供与变成语言无关的优化和针对多种cpu的代码生成功能
  • 传统的静态编译器(如gcc)通常将编译为三个阶段,分别由三个组件来完成具体工作,分别为前端、优化器和后端,如图
  • 前端接收源码,后端产生机器代码,也就是可执行文件,比如C语言编译过程如图下面
    在这里插入图片描述
  • LLVM架构的主要组成部分,与gcc类似,也分3个阶段,不过比gcc复杂的多
  • 前端:获取源代码,可选择不同的编译器来作为LLVM的前端,如gcc,clang
  • 优化器:优化代码
  • 后端:生成实际的机器码
    在这里插入图片描述
    在这里插入图片描述

8.WebAssembly

  • 是一个虚拟化的汇编语言
  • 也就是WASM最终执行的形式
  • 它允许用诸如C、C++这种编程语言编写运行在web浏览器中的程序
  • demo网址:https://webassembly.org/demo/
  • 最终编译为.wasm文件,WebAssembly支持最好的编译器工具链是LLVM,当前端语言变为LLVM IR,也就是中间代码时,说明LLVM已经理解了代码,它会对代码自动做一些优化
  • WebAssembly格式最终会产生两种文件,wasm和wast
  • wasm是二进制格式
  • wast是可读的文本格式
  • C++写的智能合约会生成wasm文件
  • eos的虚拟机环境:WAVM(WebAssembly Virtual Machine)支持wasm和wast

9.ECC加密算法

  • 椭圆曲线加密算法(ECC)的应用很广泛,TLS、PGP、SSH都在使用它,包括比特币、以太坊和EOS
  • ECC应用了离散数学中的有限循环群,构成了一个单向函数Q=nP,构成了一对密钥
    在这里插入图片描述

10.ECDH算法

  • EC是elliptic curves的意思,DH是Diffie-Hellman的意思,是密钥协商算法,不是加解密算法
  • 应用场景:两端(Alice和Bob)想要安全交换信息,并且第三方不能获取到信息,需要约定一个对称加密密钥

11.ECC与RSA对比

  • ECC算法单位安全强度高于RSA算法,ECC更难被破解
  • ECC算法计算速度更快

学院Go语言视频主页
https://edu.csdn.net/lecturer/1928

[清华团队带你实战区块链开发]
(https://ke.qq.com/course/344443?tuin=3d17195d)
扫码获取海量视频及源码 QQ群:
721929980
在这里插入图片描述


推荐阅读
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
author-avatar
冠凯雅友9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有