p4.BTC-实现
比特币是基于 transaction-based ledger.(隐私保护性很好,但是在转账中需要说明币的来源,比较麻烦)
比特币的全节点需要维护一个UTXO的数据结构(unspent transaction output ).
获得记账权后,为了自己的交易信息还会在区块中打包别人的交易信息,为了鼓励这种维护账本的行为,协议中也规定了相应的transaction fee。不过比较少,一般是千分之几个BTC。
以太坊是基于 account-based ledger(这样就不用说明币的来源).
挖矿的概率分析
比特币的初始来源只有挖矿奖励,根据奖励的规定,比特币的总量是可以计算出来的(2100w BTC)。
Bitcoin is secured by mining.
假设某个恶意节点获得记账权:
Bitcoin是要求扩张最长合法链,对应包含非法交易的区块,如果没有被诚实节点接受,则它不在最长合法链上,不仅无法交易不成功,还会损失区块奖励。
Bitcoin的不可篡改性是通过多个诚实节点的确认后,篡改性概率上成指数型下降,一般是在一个新生产的区块上后面经过6个确认后,认为前面的交易是不可篡改的。
分叉回滚交易,实现双花攻击
正常情况下,也存在合法交易没有被写入区块链的,可能就是当时交易太多了,因为规定每个区块最大不超过1M字节。那只能等到下一个区块发布的时候去记账。
p4.BTC-实现的更多相关文章
- Run P4 without P4factory - A Simple Example In Tutorials.
前言 本文是我运行P4社区于Github开源教程Tutorials中的P4 SIGCOMM 2015 Tutorial一些实战小结,Github链接: Github. 测试的例子:P4 SIGCOMM ...
- Sublime P4语法高亮设置
Github插件链接:p4-syntax-highlighter 首先安装Package Control. 进入Package界面,我的目录: /Users/wasdns/Library/Applic ...
- P4基函数
July , P4 syms p1 p2 p3 phi(:,) = /*p1.*(*p1-).*(*p1-).*(*p1-); phi(:,) = /*p2.*(*p2-).*(*p2-).*(*p2 ...
- P4 前端编译器p4c-bm、后端编译器bmv2命令安装 make error问题
参考:Github 安装p4c-bm: sudo pip install -r requirements.txt sudo pip install -r requirements_v1_1.txt / ...
- P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装
由于安装p4factory的步骤需要OF的支持,我需要下载p4的行为模型BMV2: thrift是支持BMV2的软件框架:nanomsg是一个实现了几种"可扩展协议"的高性能通信库 ...
- P4实验问题 解决python模块导入
参考:Python导入自定义包或模块 在执行./run_demo.sh的过程中,遇到了python的模块问题: root@ubuntu:/home/wasdns/tutorials/SIGCOMM_2 ...
- Run P4 without P4factory - A Simple Example In Tutorials. -2 附 simple_router源码
/* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...
- Run P4 without P4factory - A Simple Example In Tutorials. -2
Reference:Github-Tutorial Exercise 2: Implementing TCP flowlet switching 实验准备: 参考之前的博客:Run P4 withou ...
- p4-hlir/test源码 stateful.p4 control_flow_opt.p4
stateful.p4 #include "includes/headers.p4" #include "includes/parser.p4" action ...
- OpenFlow.p4 源码
/* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...
随机推荐
- BackgroundWorkerHelper
public static class BackgroundWorkerHelper { public static void Run(DoWorkEventHandler doWork, RunWo ...
- ISO/IEC 9899:2011 条款6.10.1——条件包含
6.10.1 条件包含 约束 1.控制条件包含的表达式应该是一个整数常量表达式,除了:标识符(包括那些词法上与关键字相同的)被解析为以下所描述的:[注:因为控制常量表达式在翻译阶段4期间被计算,所以所 ...
- 利用Termux在Android手机上运行PHP
从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...
- Spring cloud微服务安全实战-7-3prometheus环境搭建
Prmetheus 主要用来做来Metrics的监控和报警,这张图是官方的架构图. 这是他的核心 它的作用是根据我们的配置去完成数据的采集.服务的发现,以及数据的存储. 这是服务的发现,通过Servi ...
- RequestUtil 获取网址页面信息
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- [LeetCode] 314. Binary Tree Vertical Order Traversal 二叉树的垂直遍历
Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...
- 常用gem
rails_db better_errors awesome_print web-console irbtools binding_of_caller awesome_rails_console
- 腾讯明眸极速高清升级2.0,助力韩国赛事超高清5G直播
近期,由腾讯云联合韩国CUDO通信研究所及intel推出的tile方式的viewport流服务编码,已正式通过测试.届时韩国最新5G网络将基于腾讯明眸-极速高清2.0和腾讯云直播产品能力,在韩国国内率 ...
- Redis专栏
后端开发都应该掌握的Redis基础 Redis实用监控工具一览
- [转帖]比特币本质其实是UTXO
比特币本质其实是UTXO https://www.jianshu.com/p/7071e68c5262 其实并没有什么比特币,我们在交易所里或者钱包里显示的比特币余额其实是UTXO.那到底什么是UTX ...