作者:禅与计算机程序设计艺术
1.简介
在区块链领域,已经出现了很多种不同的方案,从最原始的比特币到现如今的基于分布式数据库的各类公链系统等等。这些方案都采用了区块链技术,用来解决“去中心化”、“可追溯”和“安全”的问题。虽然各有千秋,但是作为一名合格的区块链工程师或技术人员,我们需要对区块链技术有一个全面的认识,并且能够理解其中的原理、算法和应用。Rust语言也成为一种开发者非常热门的语言之一,通过这个语言可以构建出安全且高性能的区块链应用。本教程将介绍如何用Rust语言构建一个基本的区块链应用,并用实际案例来演示区块链的工作原理和应用。
2.基本概念及术语说明
本教程主要基于《A Brief Introduction to Blockchain Technologies》这本书的内容进行编写。该书由三个作者联合撰写,分别是:一个技术专家、两个研究人员、以及五个软件工程师。书中提到的技术包括:BT、以太坊、闪电网络、密码学、密码学基础、物理学、经济学、图灵完备性、分片网络、侧链、DAG、多重签名、闪电子、区块链共识机制、图灵完整性证明等。
概念
分布式账本
分布式账本(Distributed Ledger Technology, DLT)是一个用于存储和共享数字信息的数据结构,被广泛应用于各种场景中,其中最著名的应用就是 BT 和 Hyperledger Fabric 。一条记录在分布式账本上不可更改,只能追加新纪录,并且所有的记录都是公开透明的。任何人都可以随时查询到数据,而且整个过程完全自动化,不需要任何实体参与其中。
协议
“协议”是指一系列的规则和标准