摘要
目前业界正尝试使用区块链增强车联网应用的可靠性、信任和安全性,但区块链在性能上的不足使其难以适应车联网的移动性和实时性要求。针对上述问题,提出了一种基于虚拟分片和有向无环图(directed acyclicgraph,DAG)的树状快速区块共识(tree-blockchain consensus,TBC),通过固定可信节点进行共识,以减少对移动车辆节点的依赖性,基于DAG构建树形结构区块链,实现了区块的并行验证和上链。针对构建的树形结构区块链,提出了一种基于匹配码的虚拟分片验证机制,通过VRF函数和简单的哈希运算将验证节点和交易进行逻辑分组配对,确保了交易分片的随机性,减轻了验证过程的计算开销,提高了共识效率。安全性分析表明,TBC可以较好地应对网络中常见的恶意信息攻击、女巫攻击和中间人攻击。仿真实验表明,TBC的共识性能优于传统共识算法,可以满足车联网的应用需求。
At present,the industry seeks to use blockchain to enhance the reliability,trust and security of vehicular internet of things(VIoT)applications.However,the performance limitations pose challenges for blockchain in adapting to the mobility and real-time requirements of VIoT.To solve the above problems,this paper proposes a tree-blockchain consensus(TBC)mechanism based on virtual sharding and directed acyclic graph(DAG),which uses fixed trusted nodes to reach consensus to reduce dependence on mobile vehicle nodes.A tree-blockchain is built based on DAG to achieve parallel validation and up-link of blocks.For the tree-blockchain,a virtual sharding validation mechanism based on matching code is proposed.The validating nodes and transactions are logically grouped and paired through VRF functions and simple hash operations,ensuring the randomness of transaction sharding,reducing the computational overhead of the validation process,and improving consensus efficiency.Security analysis demonstrates that TBC can effectively deal with the common malicious information attacks,Sybil attacks and man-in-the-middle attacks in the network.Simulation results further show that TBC outperforms traditional consensus algorithms,meeting the specific application requirements of VIoT.
作者
施智罡
黄建华
李天琪
SHI Zhigang;HUANG Jianhua;LI Tianqi(School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China)
出处
《应用科学学报》
CAS
CSCD
北大核心
2024年第4期549-568,共20页
Journal of Applied Sciences
基金
国家自然科学基金(No.62076094)资助。
关键词
区块链
车联网
虚拟分片
有向无环图
匹配码
blockchain
vehicular internet of things(VIoT)
virtual shading
directed acyclic graph(DAG)
matching code