Blog


深入理解计算机系统(第三版)/ CSAPP 杂谈,第2章:信息的表示和处理

  • gcc编译可以用 -std 和-ansi 来选择C语言规范版本,默认-std=c89,外加一些C99,C11特性
  • 大小端可通过 int* 强转为 char* 来判断得出

  • 一般C语言的 char 范围是-128~127,但其实C语言规范只要求最小的可取值范围为-127~127。类似还有 short,int,long,不过它们字节数要求是16位机器的要求。int32_t,int64_t C语言规范要求和C语言实现基本一致。#无用但有趣的冷知识

  • #define INT_MAX 2147483647
    #define INT_MIN (-INT_MAX – 1)
    这里没有简单地[……]

Read more




深入理解计算机系统(第三版)/ CSAPP 杂谈,第1章:计算机系统漫游

本书第1章向我们介绍了信息的定义,以及程序是如何运行在计算机上的。

信息就是位+上下文

信息的本体是一连串的0101010101的bits,但是bits可以被解析为不同的含义,如何被解析就取决于上下文。

举个生活中的例子。“你好烦啊”如果是在一对情侣的温馨时刻中出现,那这句话可以被理解为“你个烦人的小妖精搞得我不要不要的”。而如果出现在母亲指责孩子,并且喋喋不休的情景下孩子的顶嘴,就应该理解为“你不要再说了我听不进去”。这就是上下文的作用,同样的内容,会被解析为不同的信息。

本文用到的例子是一串bits,如果代码想解析你为无符号整数,那这串bits就是正整数的信息;如果想解析为浮点数,[……]

Read more






区块链基础知识介绍ppt

PPT 为公司内部的知识分享而做,从软件和架构的角度介绍了区块链的基本结构和运行方式。因为公司是商业密码公司,所以密码学的相关知识没有在 PPT 中介绍

区块链基础知识-陈浩

版权所有,转载请注明出处:
https://sickworm.com/?p=432




比特币多种输出脚本(outputScript,scriptPubKey)介绍

目前可见outputScript(scriptPubKey)格式:(参考https://bitcoin.stackexchange.com/questions/73758/what-are-the-standard-formats-of-transaction-outputs

p2pk
43 41
data(0x41):04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f ac
23[……]

Read more




比特币隔离见证交易格式解析(Segregated witness)

如果你还不了解经典交易构成,请看:https://blog.csdn.net/q4878802/article/details/49638457

隔离见证交易相关规范:

BIP141

BIP143

BIP144

BIP173

隔离见证 Segregated witness 交易解析

交易:https://testnet.blockchain.info/tx/f299afe17901f5a8d87f306c13f42c6fbf3d5b5de090973cf0fd34d403ccd2b8

交易报文:

01000000
00 // marker,固定值,旧交易不能txin coun[……]

Read more




实现比特币BTC交易重发(Opt-In Replace-by-Fee,Opt-In RBF)

当你的交易因为交易费用过低而迟迟不能被节点确认,而又没有被节点抛弃的时候,你可能需要交易重发这个功能。而交易重发实际上就是,将保存在节点交易内存池中的你的交易(因为还没被确认)替换成新的交易。

BTC交易重发的三种方法:

  1. Opt-In Replace-by-Fee,简称 Opt-In RBF 或 RBF。将更高手续费用的交易提交到节点,也是本文着重介绍的方法。具体规范:BIP125
  2. CPFP,Child Pays for Parent。使用未确认交易的输出,并给予较高手续费。此时节点如果要打包这个子交易,则必须将其低手续费的父交易也一并打包。具体策略应该是一系列交易的平均手续费(未确认)[……]

Read more




腾讯云自媒体分享计划

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wotgdo5wqshi




比特币要解决什么问题?

本系列文章标题为码农翻身的小密圈中圈主提出的问题,下面是我跟帖的回答

比特币解决了第三方发放信用货币时可能产生的问题。

首先,人民币是有价值的。为什么这些人民币纸币有价值呢?因为这是国家发行的,而国家说他是有价值,我们人民群众也认可国家。所以,人民币可以在我们之间交易,2元人民币可以买包方便面,10元可以买包巧克力。

然后我们思考一下,人民币会永远有这样的价值吗?不一定。什么情况下人民币会失去价值?亡国了!中央银行为了解决国库空虚,无限制地增发货币!这并不是不可能,世界上某些国家曾经,甚至正在上演这样的事情。人民币有价值,是国家向我们保证人民币是没问题的,你们可以放心使用。当发行[……]

Read more




给 Android ROM(AOSP)集成 SuperSU 的方法

本文实验配置:

ROM: AOSP Android-6.0.1_r77
设备:Nexus 5
SuperSU: SR5-SuperSU-v2.82-SR5-20171001224502.zip

SuperSU 官方下载链接:https://download.chainfire.eu/1220/SuperSU/

处理 SELinux

我们给 Android 编译 ROM 的时候,可以编译出带有 root 权限的版本。但是由于 Android 4.4 以上 SELinux 的存在,apk 还是无法获得 root 权限,这样很多 root app 都会提示无法获取 root,不能正常使用了。[……]

Read more