1 / 16
文档名称:

基于区块链的数字资产安全发行及管理技术实现.doc

格式:doc   大小:21KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于区块链的数字资产安全发行及管理技术实现.doc

上传人:学习一点新东西 2022/6/25 文件大小:21 KB

下载得到文件列表

基于区块链的数字资产安全发行及管理技术实现.doc

相关文档

文档介绍

文档介绍:基于区块链的数字资产安全发行及管理技术实现
摘 要:区块链具有去中心化、全局账本、不可篡改和安全可信等特点,在数字资产发行和管理方面都具有极为独特的优势和特点。文章提出了基于以太坊区块链技术的数字资产发行及管理方法,设计实系统》一文[2],从此奠定了区块链技术和加密数字货币发明的基础。区块链技术具有去中心化、不易篡改和验证节点共同维护等特点,为数字资产创造了新的安全模式下的管理方式。随着区块链技术的不断发展,越来越多的人对区块链进行开发和研究,但这同时也暴露了区块链技术存在的弊端。2018损失六十亿的美链漏洞为全世界区块链的安全问题敲响了警钟。因此,采用合理的通用化技术来支撑基于区块链的数字资产有极其重要的意义。
2 以太坊区块链体系架构
以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供的去中心化以太坊虚拟机EVM(Ethereum Virtual Machine)来处理点对点合约。
以太坊的架构可大致分为两层,分别是应用层和基础设施层,如图1所示。
应用层有DApp(Decentralized Application,分布式应用)和以太坊钱包等多种衍生应用,是目前开发者最为活跃的一层。 基础设施层包含了区块链的基础功能如账户管理、区块链管理、智能合约等。它为访问应用层提供了接口,封装了区块链的操作细节。其中,智能合约运行在以太坊虚拟机EVM中。智能合约系统将合约代码化,由特定的事件驱动触发执行。以太坊系统中有PoW和PoS两种共识算法。HTTP、RPC、Whipser等协议为以太坊提供供系统各模块相互调用的协议支持。
以太坊数字签名算法
以太坊的数字签名算法采用的是椭圆曲线数字签名算法(ECDSA),它是利用椭圆曲线加密技术进行的数字签名方法。假设发送者需要发送消息给接收者,首先需要定义椭圆曲线加密所用的参数,将这组参数表示为()。其中,CURVE表示椭圆曲线点域和几何方程,G是所有点倍积运算的基点,n是该椭圆曲线的可倍积阶数,且。
以太坊共识机制
工作量证明机制PoW(Proof of Work)是以太坊目前的共识机制,PoW是对算力的证明,是产生新区块时必须满足的要求。在以太坊网络中,节点通过计算随机的哈希值来争夺记账权,求得正确解的能力既是节点算力的体现。PoW机制要求每个节点基于自身算力去求解SHA256计算难题,即寻找一个随机数Nonce,使得区块头部元数据的SHA256哈希值小于区块头中设定的目标难度[3]:
其中,H为SHA256哈希函数;n为随机数Nonce;h为区块头部数据;t为目标难度最先求得正确解的节点即算力最强的节点,即可获得新区块的记账权。
工作量证明机制的主要特性是计算的不对称性,即工作方需要消耗大量的算力来得到一个结果,而验证方却很容易通过结果来验证其准确性。
以太坊智能合约
20 世纪末,Nick Szabo将智能合约定义为:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”[4] 智能合约一旦部署成功便不可再更改。
智能合约为数字资产提供了一种基础协议,使得所有加入到这个区块链的网络节点都被强制遵守此协议,因此可以有序的执行智能合约的规定从而完成数字资产的确权。
P2P网络
以太坊采用全分布式结构化的P2P网络,主要采用了Kademlia(简称Kad)算法实现,Kad是一种分布式哈希表(Distributed Hash Table, DHT)技术。在Kad网络中,各节点通过哈希算法散列为256位ID,任何接入P2P网络的节点都具有唯一的一个节点ID。
EVM以太坊虚拟机
EVM本质上是一个堆栈机器,它最直接的功能是執行智能合约。以太坊通过EVM支持智能合约的调用和执行,调用时根据合约地址获取代码,生成具体的执行环境,然后将代码加载到EVM虚拟机中运行。目前,开发智能合约最常用的高级语言为solidity[5],在使用solidity实现智能合约逻辑后,通过编译器编译成元数据,最后发布到以太坊上。
以太坊数据结构
Merkle树
Merkle树是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构。Merkle树的叶子节点代表区块的各个交易,每个叶子节点都有一个哈希值。
以太坊区块结构
以太坊的区块由一个包含元数据的区块头(Block Header)和紧跟其后构成区块主体(Block)