为数字资产交易设计安全的钱包架构
作为一名加密货币爱好者和区块链行业建设者的一员,我将尽我最大的努力来更好地构建加密货币生态系统。在这篇文章中,我将分享我的经验,如何为数字资产交易设计一个安全的加密货币钱包。希望对建立基于区块链和加密货币经济的业务基础有所帮助。
数字资产管理是至关重要的,尤其是对于那些建立在区块链基础上的机构。一个典型的使用案例是加密货币交易所或场外交易平台(OTC),使成千上万的交易者在不受时间和空间限制的情况下提取或剥离他们的数字资产,银行级别的安全性和高可用架构是这类创业公司要获取的基本要求。
热钱包,暖钱包和冷钱包
关于钱包的常识不会在文章中介绍,但是我们应该学习三种钱包之间的交易业务系统。
· 热钱包:仅用于从系统发送交易,应保留足够但不太多的资金来服务取款。它应该有严格的政策限制硬币的数量,也就是说,小额取款应该尽可能自动化,但大额提款应该在提款前得到行政部门的批准。
· 暖钱包:用于所有存款到系统,请求一个地址发送资金到新用户加入时。客户充值到暖钱包的资金应自动或定时提取到冷钱包。
· 冷钱包:用于系统大部分资金的存储,我想至少是7/10,用于暖钱包的充值。冷钱包也被称为离线钱包,因为它打算在不连接任何网络的设备上运行。
因此,在讨论加密货币钱包系统体系结构的设计思想时,需要考虑安全存储私钥、智能风险控制取款系统和存款链确认三个关键问题。如果我们必须优先考虑这些安全因素的发展,这些密钥的重要性逐步减少,因为最重要的是私钥存储。
基于实际用例的体系结构
持有自己的私钥是采用加密货币的主要原因。传统的金融方式,尤其是跨境汇款,使得货币的转移十分繁琐。在使用数字资产钱包时,个人或机构之间的业务逻辑存在许多差异。
如何设计数字资产钱包取决于您存储的私钥的位置。主要有三种模式:在手机中存储私钥、区块链全节点或安全的网络程序环境。
分散式移动应用钱包持有密钥并签署原始交易。当手机app创建钱包时,pubkic key注册到网络程序(主要是webservices)。网络程序与p2p网络交互,从区块链台账中获取信息(维护UTXO,查询以太坊账户余额, nonce值,交易历史等),并广播新的交易。这些链能够钱包满足大多数人使用。
带钱包的区块链节点提供全方位服务,直接在网络环境中创建和签署原始交易。与全服务节点的系统集成通过JSON-RPC与区块链全服务节点交互来管理钱包。钱包私钥与区块链分类账一起存储,同时暴露在不太安全的开放网络环境中。有许多黑客入侵案件引起的json - rpc连接。我认为使用区块链节点实现的原始钱包是不好的做法。有人建议比特币内核应该将节点和钱包从功能中分离出来
为了提高安全性,可以通过在更安全的环境中运行的一个单独的钱包程序生成私钥,我们称之为签名程序。全服务的另一部分是网络程序,它构造原始交易和广播签名交易。整个过程是,网络程序创建未签名的交易,并以成功的方式将未签名的交易转移到签名程序(然后签名程序将签名后的交易返回给网络程序,最后由网络程序将签名的交易广播到对等网络。
签名程序和网络程序
钱包全方位服务包括四个部分。
· 首先是钱包管理,私钥由wallet-core(签名程序)程序生成,并由levelDB存储 · 第二是外部端点,取款流程和钱包生成,wallet-gateway(网络程序)构建原始交易,为业务系统提供外部端点,使用wallet-core和wallet-gateway组件之间的gRPC协议传输数据。 · 第三个是ledger-monitor程序,它订阅最佳块事件并推送到MQ(RabbitMQ)。 · 最后一个是ledger-consumer,它与两个MQ消费者相结合,一个是为我们的系统钱包维护UTXO区块链,另一个是处理消费者(用户通知)的存款。
为数字资产交易设计安全的钱包架构相关推荐
- linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...
点击上方蓝字关注我吧! 为什么内推更靠谱?内推是基于人脉关系链的推荐,其背后有一定的信用背书,靠谱的人推荐的人相对也会比较靠谱,所以企业一般职位都是从内部开始分享的,相较于自己海投简历,内推的效率和成 ...
- 常见数字IC设计、FPGA工程师面试题
转载自:常见数字IC设计.FPGA工程师面试题 我怕弄丢了,找不到了,所以转载过来吧,回答的还挺具有参考意义. 借个位置,顺便把另外一篇好文的地址附上:FPGA中的亚稳态 1:什么是同步逻辑和异步逻辑 ...
- verilog hdl数字集成电路设计原理与应用_数字IC设计经典书籍推荐
数字IC设计流程很复杂,从前端到后端,也有很多职位.在这里整理了个数字IC各个环节的经典必读书籍.市面上的书籍种类纷繁复杂,这里每种只推荐两本左右,如果需要,建议知识类的书籍还是购买正版,尊重作者,也 ...
- 数字IC设计经典书籍
1 <Verilog HDL高级数字设计> 中文版和原著.这本书本人以为是讲Verilog方面的最好的一本书,看完此书后,相信大家的code水平会有很大提高.书中例子及其丰富,涵盖了RIS ...
- 数字IC设计流程总结
IC设计是一个很复杂漫长的过程,笔者以下图进行总结,其中后端总结的很模糊,后续了解学习后再进行补充.笔者会根据自己的理解,一步步的分享自己理解的设计流程.其中难免有问题错误,望同学老师指出,感谢!哔哩 ...
- 数字ic设计_总结复习
文章目录 前言 一.数字集成设计.EDA工具使用 1. 同步/异步电路 2.时序设计的本质就是让每一个触发器的建立时间和保持时间满足要求 3.时序约束 4.FPGA 和CPLD的区别 5.IC设计:从 ...
- 数字逻辑计算机组成,数字逻辑设计与计算机组成pdf
数字逻辑设计与计算机组成 内容简介 本书从简单的数字逻辑电路设计基础开始,由浅入深,讲解组合逻辑和时序逻辑电路的设计技术.计算机组成的基本原理和计算机体系结构的相关概念,后深入探讨了现代计算机系统如何 ...
- 新书预告:Xilix FPGA数字信号处理设计——基础版
掌握FPGA数字信号处理设计需满足三个条件:熟悉FPGA设计方法.理解数字信号处理理论.掌握理论的工程实现方法.对初学者来讲,每个条件看似都难以逾越.杜勇老师完美融合课程教学与工程设计的需求特点,以独 ...
- 数字IC设计工程师笔试面试经典100题
1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来 ...
最新文章
- vue-cli eslint 规则
- layui移动端适配_移动端适配方案
- 停止Hadoop或HBase集群的脚本
- php中的html元素
- 几大经典算法c语言cnds,浮点数据有损压缩算法 附完整C代码
- 冰点文库下载器,免积分下载百度文库文档
- matlab数字信号处理程序,MATLAB数字信号处理 85个案例分析 全书程序
- pdf压缩文件怎么压缩到最小?简单快速压缩的pdf的方法?
- 白盒测试技术—逻辑覆盖方法
- OpenGL学习小结
- 实验matlab滤波器心得,数字滤波器实验总结
- 如何查美国公司的年报
- python数据分析做什么作业好_知识星球 | 说说我为什么要做『python数据分析』社群...
- UINavigationController导航控制器详解
- 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
- C++Builder 资料库
- 【学习方法】如何快速地进行阅读?如何在阅读的时候快速理解其中的内容?
- Simple Yet Effective Graph Contrastive Learning for Recommendation
- android P lightservice 移植调试增加状态指示灯 保存状态到设置开关 --驱动 hal lib HIDL service framework settingsprovide
- 产品经理的年度KPI