区块链的分布式账本

分布式账本

定义

整个区块链网络运行的核心信息流
特征;

 分布式存储
 在几乎所有区块链节点上所存储的信息完全一致,
 区块链上的每个节点与本地账本数据库连接后,可以获得区块链中所有信息
工作原理

区块链账本+状态库
即存储序列集的区块链账本和表达区块链当前所有账户状态的状态库
注释1:

区块:
在某段时间内区块链网络中“交易”的打包
由用户发出的对区块链中的相关账户状态发生改变的指令集

1.区块链:

 指从区块链网络创建后,用户发出的所有账本改变指令的全体集合

 核心工作原理:S(t+1)=F(S(t),B(t+1))
   S代表状态,B代表区块,F代表状态
   即当前状态库等于以前一状态库与当前区块作为输入数据,执行节点软件的状态转移函数所生成的形态转移结果

注释2:

 以太坊账户
 1.用户账户:
 2.合约账户:

2.状态库

 指当前网络中所有账户的当前状态的集合
 以前一区块的状态为基础,
 以新区块作为变量,在状态转移函数下生成

####技术支撑
1.非对称加密

区块链实现点对点安全通信的基础

2.哈希散列计算

1.单向密码(明文到密文)
2.固定大小且压缩的数据码代表数据本身
3.校验原始数据
用于区块封装和回溯验证,实现数据不可篡改
### 区块链分布式账本的概念 分布式账本是一种跨网络节点共享、同步和复制的数据库,其中每个参与者都保存一份完整的副本。这种设计使得任何单一实体都无法控制整个账本,从而提高了系统的去中心化程度和安全性[^2]。 在区块链环境中,分布式账本不仅限于简单的交易记录;它还可以用于追踪各种类型的事件或状态变化。例如,在供应链管理中,可以利用分布式账本来监控货物从制造商到消费者的全过程。每一个新的操作都会被添加为新区块,并链接至前一区块,形成一条不断增长的时间线——即所谓的“链”。由于每一笔新加入的信息都需要经过共识机制验证才能正式写入账本,因此确保了所有参与方对于最新版本达成一致意见的同时也防止了恶意篡改行为的发生[^3]。 ### 分布式账本的工作原理 为了实现上述特性,分布式账本依赖几个关键技术: #### 1. 去中心化的架构 与传统集中式的服务器不同的是,这里不存在单点故障的风险。相反,所有的计算机(称为节点)共同维护着同一个分类帐目表。每当有新的事务发生时,这些更新会被广播给其他成员并等待确认过程完成之后再永久存档下来。 #### 2. 加密算法保障隐私性和完整性 通过采用非对称加密方式创建账户体系,用户能够拥有唯一的私钥/公钥组合来进行签名授权以及保护个人信息免受未授权访问的影响。此外,散列函数的应用则有助于保持数据一致性:即使是最微小的内容变动也会引起相应哈希值的巨大改变,这使得试图修改历史记录变得极其困难且容易暴露出来。 #### 3. 共识协议决定有效性的判断标准 当多个竞争性提案同时存在时,如何挑选出最合适的那个?这就需要用到特定规则集来评估候选方案的质量高低。常见的几种方法包括工作量证明(PoW),权益证明 (PoS) 或委托权益证明(DPoS)等。它们各自有着不同的侧重点,比如效率考量或是资源消耗方面的权衡取舍等问题。 ```python def validate_transaction(transaction, ledger_state): """ 验证一笔交易的有效性 参数: transaction : dict - 待验证的新交易详情 ledger_state : list of dicts - 当前已知的状态快照 返回: bool - 是否允许该交易进入下一个阶段处理流程 """ # 检查发送者的余额是否充足 sender_balance = sum([entry['amount'] for entry in ledger_state if entry['recipient'] == transaction['sender']]) receiver_balance = sum([entry['amount'] for entry in ledger_state if entry['sender'] == transaction['receiver']]) net_effect_on_sender = sender_balance - transaction['amount'] return net_effect_on_sender >= 0 and verify_signature(transaction) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅花与竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值