自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 【论文阅读】GraphFormers: GNN-nested Transformers for Representation Learning on Textual Graph

在文本图上的表示学习是基于单个的文本特征和邻域信息为节点生成低维嵌入。最近在预训练语言模型和GNN上的突破推动了相应技术的发展。现有的工作主要依赖于级联模型体系结构:1)节点的文本特征由语言模型独立编码;2)将文本嵌入通过GNN进行聚合。但是,由于对文本特性的独立建模,上述体系结构受到了限制。

2024-04-15 13:05:11 1445

原创 【论文阅读】TransGNN

本文主要是在推荐系统中对GNN的改进。在协同过滤中,主要是对用户-项目交互图进行建模。但是基于GNN的方法遇到了有限的接受域和嘈杂的“兴趣无关”连接的挑战。相比之下,基于Transformer的方法擅长于自适应地和全局地聚合信息但是在大规模交互图中的应用由于捕获复杂的纠缠结构信息的固有复杂性和挑战而受到阻碍。

2024-04-15 10:22:20 1041 1

原创 【论文阅读】Smart Contract Vulnerability Detection Using Graph Neural Networks

的调用,这些函数对于检测特定漏洞非常重要。例如,对于重入漏洞,主节点对传递函数或内置。

2024-04-09 19:58:18 1266

原创 【论文阅读】基于多特征融合的智能合约缺陷检测方法

摘要:1、预处理:颜色标记、词汇提取、字符转换、合约之间的继承关系的提取2、 使用融合模型进行特征提取(BERT、CNN、BiLSTM)3、使用node2vec随机游走算法,将合约之间的继承关系作为输入得到合约关系的特征向量。4、使用特征向量进行缺陷分类。

2024-03-21 16:29:53 1411 1

原创 【源码阅读】EVMⅢ

参考[link](https://blog.csdn.net/weixin_43563956/article/details/127725385大致流程如下:编写合约 > 生成abi > 解析abi得出指令集 > 指令通过opcode来映射成操作码集 > 生成一个operation以太坊虚拟机的工作流程:由solidity语言编写的智能合约,通过编译器编译成bytecode,之后发到以太坊上,以太坊底层通过evm模块支持合约的执行和调用,调用时根据合约获取代码,即合约的字节码,生成环境后载入到 EVM

2024-03-19 18:26:46 1052

原创 【源码阅读】evmⅡ

参数介绍:input:caller是调用者地址addr是被调用的合约的地址input是数据gas是执行调用的初始gas费用value是转账金额output:ret是返回数据leftOverGas是执行结束之后剩余的gas值err是过程中出现的错误所以在调用合约的时候,一个文件里面可以有多个合约。做过一个部署智能合约的实验,在编写一个文件1.sol之后编译运行,会生成合约1的地址和字节。如果在此基础上对其修改,仍然保存为1.sol,再编译运行会生成合约2的地址和字节。

2024-03-19 16:40:40 1060

原创 【源码阅读】evmⅠ

代码位置如下:参考以太坊中有一个很重要的用途是智能合约,而其中evm模块是实现了执行智能合约的虚拟机。evm可以逐条解析执行智能合约的指令。evm中的核心对象是EVM,代表一个以太坊虚拟机。其内部主要依赖:解释器Interoreter(循环解释执行给定的合约指令,直接遇到退出指令)、配置和状态数据库StateDB(用来提供数据的永久存储和查询)

2024-03-18 22:12:04 1047 1

原创 【论文阅读】Ethereum Blockchain Smart Contract Vulnerability Detection Using Deep Learning

静态分析器用于在开发过程中发现智能联系人中的漏洞,但非常耗时。文章提出了一种基于机器学习的方法来检测智能合约中的重入漏洞,系统由三个组件组成:数据准备、Op2Vec 和 LSTM 模型。(1)收集了 30,000 个智能合约,将它们分成两组,每组 15,000 个,分别用于 Op2Vec 生成和 LSTM 训练。(2)使用 Skip-Gram 算法将操作码关键字映射到向量表示,Op2Vec。(3)使用 Slither 静态分析器进行标记。(4)双向LSTM模型。link。

2024-03-18 20:17:40 868 2

原创 【论文阅读】A Performance Measurement and Optimization Mechanism for Blockchain Mining Pool System

区块链矿池系统的性能测度与优化机制矿池机制可以提高获得正确区块的概率,并稳定矿工的奖励,但是目前由于节点之间的算例差异较大、共识算法等因素,面临着越来越多的性能挑战。在对矿池架构分析的基础上,提出了一种数值模型MENM(Miner Efficiency Numerical Model)来衡量矿机的计算效率,并提出了一种性能调优机制DDCT(动态难度计算和调优),用于根据MENM值调整矿池中单个矿工的难度,以提高矿池的效率。所提出的调优机制还针对一个小型实验性PoW矿池进行了测试,以验证其效果。

2024-03-18 19:49:46 1016 2

原创 【论文阅读】ReChecker

近十年来,智能合约安全问题导致的巨大损失引起了工业界和学术界越来越多的关注。为了在智能合约漏洞检测任务中取得令人鼓舞的效果,研究人员开始尝试使用逻辑规则、符号分析和形式分析等方法。然而,现有的检测工具远不能令人满意。在本文中,我们尝试使用基于深度学习的方法,即带有注意力机制的双向长短期记忆( BLSTM-ATT ),旨在精确地检测重入错误。此外,我们提出了面向智能合约的合约片段表示,这有助于捕获必要的语义信息和控制流依赖。

2024-03-05 15:12:44 61 3

原创 【论文阅读】关于智能合约的漏洞检测

两篇论文,都是关于智能合约漏洞检测的综述文章[1]崔展齐,杨慧文,陈翔等.智能合约安全漏洞检测研究进展[J/OL].软件学报:1-33[2024-03-05].https://doi.org/10.13328/j.cnki.jos.007046.[2]王丹,黄松,王兴亚.以太坊智能合约测试研究综述[J].信息技术与信息化,2023(10):52-58.两篇文章中主要内容都是总结了13种常见的漏洞类型并进行简单介绍、几类测试方法以及未来的工作和展望。

2024-03-05 14:04:14 1530 2

原创 【源码阅读】blockchain Ⅲ

writeKnownBlock使用已知块更新头块标志并在必要时引入链式重组。

2024-01-18 16:06:38 970

原创 【源码阅读】blockchainⅡ

该函数是对新的区块的数据处理,payload是一个字节切片,表示新块的数据;peer是一个peer.ID类型的变量,表示发送新块数据的对等节点。

2024-01-18 14:27:46 994

原创 【源码阅读】blockchainⅠ

这是一个名为BlockChain的结构体,它包含了区块链的各种属性和方法。

2024-01-16 21:13:20 557

原创 【源码阅读】事件订阅包v2

Feed 实现一对多订阅,其中事件的载体是通道。发送到 Feed 的值会同时传送到所有订阅的通道。与Typemux的对比链接:TypeMux是一个同步的事件框架,当有一个被订阅的事件发生的时候,会遍历该事件对应的订阅者通道,通知其中的订阅者,但是当订阅者1没有接受该消息的时候,发送进程会被阻塞,会影响对订阅者2的发送。所以Feed作为流式事件框架,是否是异步的取决于是否有缓存通道,当设计有缓存通道的时候是异步的,否则就是同步的。字段是用来确保init只会执行一次sendLock。

2024-01-12 17:00:13 859

原创 【源码阅读】交易池txs_fetcher&txs_noncer

txs_noncer。

2024-01-10 18:24:08 870

原创 【源码阅读】交易池txs_list

accountSet 只是一组用于检查是否存在的地址,以及一个能够从交易中派生地址的签名者。

2024-01-10 17:41:05 1314

原创 【源码阅读】交易池txs_pool

重要接口:ITxsPool的实现:1、Has根据输入的hash值判断交易池中是否有该交易,返回bool值input:hashoutput:bool函数遍历所有当前可处理的交易,按原始帐户分组并按随机数排序。input:enforceTips 参数可用于对挂起的交易进行额外的过滤,只返回那些在下一个挂起的执行环境中有效提示足够大的交易。return pending;返回的交易集是一个副本,可以通过调用代码自由修改。input:enforceTipsoutput:pending(账户+交易

2024-01-10 11:26:33 968

原创 【RPC】基础

RPC是一个计算机通信协议,允许运行在一台计算机的程序调用另一台计算机的子程序,允许调用远程服务,是一个C/S模式。下图是百度百科的信息,可以看到,它的作用就是我想用到的。普通参数的传递是简单的,但是如果是引用参数,比如指针,由于不同的存储,可能引用会失效,这样就需要将参数的副本也传送过去,传递一个指向服务器函数的指针,然后将对象发送回客户端,复制它的引用。:类似客户进程,客户端是无法区分的,将参数打包成消息,然后调用本地操作系统,来将消息发送给服务器操作系统。:也就是所说的调用方,发起调用。

2023-12-01 13:43:23 279

原创 【论文阅读】1 SkyChain:一个深度强化学习的动态区块链分片系统

1.1 文献标题1.2 作者中山大学系统科学与工程学院,广州中国数据与计算机学院香港理工大学计算学系,中山大学数字生活国家工程研究中心1.3 年份:2020年8月1.4 期刊:ICPPDRL努力根据当前区块链环境和给定的奖励,从过去的经验中研究通用的分片策略,这使得它能够适应复杂和动态的区块链环境。考虑到动作空间的连续,使用深度确定性策略梯度(DDPG)算法来训练我们的模型。文章提出了一种自适应账本协议,根据动态分片的结果,保证账本的有效合并或拆分,并且不会产生冲突。

2023-11-30 21:47:16 1144

原创 【RPC】前传

服务器里面的代码是放在gotest文件夹里面的,而每一次运行都需要cd gotest,没有办法记录,每次执行一条命令都会创建一条session,而一条session默认只能执行一条命令,并且两条命令不可以分开写。test.py里面只有一个变量a,并且数值是固定的,只是需要输出而已,里面的username和pwd还有Ip是自己的信息。1、主要是使用ssh依赖进行连接,但是大概率是需要手动添加的,自动添加一直在报错。但是可以看到仅仅是一个加法,花费的时间是很长的,数据来回的传输是很耗时的。

2023-11-09 16:04:07 562

原创 【密码学】六、公钥密码

密钥对(pk,sk),pk是公钥,sk是私钥。使用公钥进行加密,使用私钥进行解密。①产生密钥对的计算是容易的;加解密的计算是容易的;②不能通过pk计算出sk;不能通过密文和公钥恢复出明文;③加解密的次序可换。

2023-08-04 10:22:07 1318

原创 【密码学】五、序列密码

采用一个短的种子密钥来控制某种算法获得长的密钥序列的办法,用以提供加解密,这个种子密钥的长度较短,存储、分配都比较容易。察罕俄国密钥序列的密钥发生器就是序列密码的关键。分组密码与序列密码的区别在于有无记忆性,分组密码无记忆性,序列密码又记忆性,里面有一个记忆元件。

2023-07-31 16:56:58 801

原创 【密码学】四、SM4分组密码算法

SM4分组密码算法是一种迭代分组密码算法,采用非平衡Feistel结构,分组长度为128bit,①Z2e表示e-比特的向量集,Z232中的元素称为字,Z28中的元素称为字节②S盒为固定的8bit输入8bit输出的置换,记为Sbox()③⊕表示2bit异或;<<<i表示32bit循环左移i位④密钥及密钥参量加密密钥长度位128bit,表示MK=(MK0,MK1,MK2,MK3),分别是字。轮密钥rk是由加密密钥生成。FK是系统参数,CK是固定参数,用于密钥扩展算法。

2023-07-28 15:01:00 1457

原创 【密码学】三、分组密码的工作模式

电子密码本ECB、密码分组链接模式CBC、密码反馈模式CFB和输出反馈模式OFB、计数器模式CTR。

2023-07-28 10:18:13 710

原创 【密码学】三、AES

密钥的转换是以字节为单位的矩阵,通过密钥编排程序,该密钥矩阵被扩展成一个由44个字(32bit)组成的序列w[0],w[1]…②若元素下标是4的倍数,则w[i]=w[i-4]异或T(w[i-1]);轮常量Rcon[i]是一个32Bit的字,这个字的右边3个字节总为0。AES在加密和解密算法中使用了一个由种子密钥字节数组生成地密钥调度表,称为密钥扩展,从一个原始密钥中生成多重密钥以代替使用单个密钥,大大增加了比特位的扩散。①若元素下标不是4的倍数,则只进行简单的异或:w[i]=w[i-1]异或w[i-4]

2023-07-27 19:21:13 1066

原创 【密码学】三、DES

美国正式公布实施的DES是一个众所周知的分组密码,其。

2023-07-22 12:31:58 1328

原创 【密码学】三、分组密码概述

分组密码是一种单钥或对称密码算法,通信双方使用相同的密钥加密和解密。在分组密码中,要将明文分为长度为n的分组,用同样的密钥k对每一个组进行加密,解密的时候同样的。设加密之后的密文长度为m,则如果m>n,则是有数据扩展的分组密码;如果m<n,则是有数据压缩的分组密码。

2023-07-21 16:56:58 776

原创 【密码学】二、古典密码

本章介绍了置换密码,列举了列置换密码、周期置换密码两种典型的古典密码,简要概括了古典密码的特征和分类;介绍了代换密码,包括单表代换密码和多表代换密码;以Enigma为例,介绍了轮转密码;介绍了古典密码的分类;最后介绍了古典密码的统计分析。

2023-07-21 12:48:55 1651

原创 【密码学】一、概述

初步:(无线电报的发展和使用)加密主要原理是字母的替换和移位,加密和解密的手段采用了机械和手工操作,破译则使用简单的词频分析,以及基于经验和想象的试探方法。后期:大量的数学和统计知识被应用到,加密原理从传统的单表替换发展到复杂度大大提高的多表替换,基于机械和电器原理的加密和解密装置全面取代以往的手工密码。应用密码技术是保障网络与信息安全最有效、最可靠、最经济的手段,可以实现信息的机密性、信息的真实性、数据的完整性和行为的不可否认性。又称为单钥体制,是加解密的密钥相同的密码算法。

2023-07-19 16:32:47 946 1

原创 【区块链】复习十二之权益证明

权益证明1、工作量证明缺点2、权益证明3、股份权益证明1、工作量证明缺点浪费资源(如电费消耗、能源消耗)挖矿中心化(比特币网络中大部分算力集中于少数几个矿池中)51%攻击2、权益证明权益证明使用伪随机数的方式指定持有货币的人为交易的验证者,并创造新的区块。思想:从算力投票变为权益投票。参与者只需要投资系统的代币并在特定时间内验证自己是否为下移区块创建者,就可以完成下一区块的创建。验证者被选中为下一区块创造者的概率与其所拥有的系统中代币的数量成正比。权益证明要求证明人提供一定数量加密

2022-04-23 19:47:24 5304

原创 【区块链】复习之十一以太坊&智能合约

以太坊挖矿1、背景知识2、以太坊挖矿算法3、以太坊挖矿难度3.1难度调整3.2自适应难度调整3.3自适应难度调整系数3.4难度炸弹4、智能合约1、背景知识比特币中,收益和算力是相关的,矿工的挖矿设备不断更新,门槛越来越高,导致矿工数量的下降,大多数的收益集中于少部分矿工,这种节点的集中和区块链的去中心化是相违背的。Ethash的计算过程中增加的对内存的要求而抵抗ASIC矿机的优势。所以以太坊的共识算法,期望达到两个目的:抗ASIC性:为算法创建专用硬件的优势也尽可能小。轻节点可验证性:一个区块链

2022-04-23 19:29:33 56

原创 【区块链】复习十之GHOST协议

GHOST协议1、以太坊出块时间2、GHOST协议2.1叔父区块奖励2.2GHOST协议分析1、以太坊出块时间平均时间是15s.出块时间短的好处:①交易更快捷,更快被写进区块链②系统响应时间更快缺点:①分叉情况更频繁,不利于区块链的安全(算力分散了)②加剧对个体矿工的不公平,造成挖矿集中化现象2、GHOST协议为了解决出块时间短带来的挑战,以太坊采用修正后的GHOST协议(贪婪最重可见子树协议、最重合法链)一个被区块B包含的叔父区块必须包含:①是区块B的k代祖先区块的直接子类,其

2022-04-23 18:51:42 806

原创 【区块链】复习九之以太坊数据结构

以太坊数据结构1、账户1.1账户分类1.1.1外部账户1.1.2合约账户2、MPT树2.1Trie树2.2Patricia Trie2.3MPT树3、消息和交易4、状态转换函数5、以太坊区块5.1区块头5.2区块体1、账户比特币是采用基于交易的账本模式,优点有:隐私保护比较好;缺点有:没有显示地记录账户余额,交易不方便(要一次性花出去)以太坊是基于账户的账本模式。优点:显示地记录账户余额交易更加方便对双花攻击(支付方不诚实)有着天然的防御缺点:易遭受重放攻击(收款方不诚实)。1.1账户分类

2022-04-20 11:53:53 5551

原创 【区块链】复习八之以太坊概述

以太坊概述1、以太坊历史2、以太坊基本概念2.1以太币2.2智能合约2.3汽油2.4以太坊虚拟机2.5Solidity语言2.6去中心化应用3、以太坊关键技术4、以太坊与比特币1、以太坊历史2013年启动了以太坊项目。以太坊创始人:维塔利克·布特以太坊四个阶段:边境、家园、都会、宁静①边境只有命令行,没有图形界面,主要功能是让用户有时间加入以太链②家园具有图像界面。在2016年以太坊进行了第一次硬分叉,分叉后产生两条链,以太坊ETH和以太坊经典ETC③都会加入了浏览器功能,还拥有应用商

2022-04-20 11:04:12 4496

原创 【区块链】复习七之比特币分叉

比特币分叉1、分叉2、硬分叉3、软分叉4、比特币系统4.1比特币网络4.2比特币隐私1、分叉分叉是指区块链从一条链变成两条或者多条链。分叉分为:状态分叉和协议分叉。状态分叉:由于对比特币当前的状态产生分歧而导致的分叉协议分叉:由于对比特币协议产生分歧而导致的分叉根据对协议修改的内容不同,协议可以分为硬分叉和软分叉2、硬分叉如果区块链软件的共识规则被改变,并且这种规则改变无法向前兼容,旧节点无法认可新节点产生的区块,区块链发生永久性分歧,即为硬分叉如区块大小的改变。假设新规则从1M变成4M,

2022-04-19 22:32:16 1778

原创 【区块链】复习五之比特币共识协议

比特币的共识协议1、概述2、工作量证明3、最长合法连4、51%攻击5、比特币安全1、概述共识协议,即区块链中各个节点达成共识的协议维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链的使用者,以及惩罚恶意的危害者。2、工作量证明3、最长合法连4、51%攻击5、比特币安全...

2022-04-18 21:24:03 189

原创 【区块链】复习Ⅳ

比特币数据结构1、哈希指针2、默克尔树3、默克尔证明4、双花问题5、UTXO模型6、比特币区块1、哈希指针普通指针:存储结构体在内容中的起始位置,无法检测内容是否被篡改哈希指针:存储结构体的哈希值,从而可以检测结构体内容是否被篡改区块链是由哈希值真相连的链表篡改证明记录,只需要保存最后一个区块的哈希值,就可以检测前面的区块是否被篡改。也可以用哈希值进行验证其他节点提供的信息是否是正确的。·哈希指针可以用于链结构、树结构,但是不可以用于环结构。哈希指针只可以应用于无环结构2、默克尔树二叉树

2022-04-18 20:03:25 701

原创 【高性能计算】Ⅰ

@TOC总章节:并行编程计算模型GPU编程分布式计算框架1、概念性问题为什么需要高性能计算?什么是高性能计算?为什么需要并行计算?什么是并行计算?高性能计算与并行计算、分布式计算及云计算的联系和区别?1.1为什么需要高性能计算除了科学计算之外还在其他领域有计算需求:商业、医药、工程、人工智能(数据挖掘、深度学习)例如:天气预报、动漫与影视创作、商业高性能计算(决策支持、风险监测、数据挖掘、供应链优化)渲染农场:分布式并行集群计算系统三种提高性能的方法:努力工作、工作得更有效率

2022-04-18 12:37:43 2999

原创 【区块链】复习三之密码学基础

密码学基础1、哈希函数1.1哈希函数性质1.2典型哈希函数1.3哈希函数在区块链中的使用1.3.1数据加密1.3.2挖矿2、加密算法2.1对称加密算法2.2非对称加密算法2.2.1椭圆曲线加密算法ECC2.3公私钥2.3.1私钥2.3.2公钥2.3.3地址1、哈希函数什么是哈希函数?哈希函数性质?典型哈希函数?区块链中的哈希函数?哈希函数又称散列函数、散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法(维基百科)H(M):M任意长度,输出固定长度1.1哈希函数性质1)正向快速给定明文,

2022-04-17 21:34:06 572

数据库知识点总结.docx

数据库知识点总结.docx

2021-11-20

c++实现对文件的3DES加解密

使用CBC模式,以及分组填充

2021-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除