Raftale Blog

「离开世界之前 一切都是过程」

nestjs-introduction

nodejs是什么? nodejs不是一门编程语言 nodejs不是框架 nodejs是一门基于Google V8引擎的JavaScript运行环境,支持运行js,可以理解为JVM支持运行java吧,运行在服务端,可以跨平台。 如何学习 跟着官方文档学: https://docs.nestjs.com/controllers 配合文档练习:https://githu...

区块链技术与应用 - P06 - 比特币网络

The Bitcoin NetWork P2P Overlay Network 比特币工作在应用层,底层的网络是一个P2P网络。 ----------------------------------------- application layer: | BitCoin Block Chain ----------------------------------------- networ...

区块链技术与应用 - P05 - 比特币系统的实现

Transition-based ledger 比特币采用了基于交易的账本(Transition-based ledger)模式,并维护了一个UTXO(Unspent Transation Output) 的数据结构,来防止双花攻击,也就是说,交易中币的来源必须是在UTXO中。 矿工打包交易的动机: block reward: 每隔21万个区块减半,大概4年一次。 trans...

区块链技术与应用 - P04 - BTC共识协议

构建去中心化的货币系统 我们假设央行要发行数字货币,很直观的是参考现金的发行形式,现金的特征是: 防伪标记: 难以伪造,不可篡改 唯一性:无法复制 如果要实现数字货币的防伪标记,那么基于公私钥体系就能很容易的实现,发行100元需要通过央行的私钥进行签名,公钥是公开的,任何人都可以验证它的权威性。公私钥保证了不可篡改,但没有解决货币的唯一性,毕竟代码本身就是文件,是可以无限复...

区块链技术与应用 - P03 - Data Structures

比特币中的数据结构。 区块链 哈希指针:除了指向地址,也保存了结构体的hash值。 Block chain is a linked list using hash pointer. 对每个区块头进行SHA256加密哈希,可生成一个哈希值, 每个区块都可以通过其区块头的「父区块哈希值」字段引用前一区块。 与普通链表的区别是: 普通链表可以随意改变一个节点,但是区块链中改变任何一个区块,...

区块链技术与应用 - P02 - Cryptographic Principles

哈希和签名。 哈希 cryptographic hash function:两个性质 collision resistance: that is, two inputs a and b where a != b, but Hash(a) = Hash(b). pigeonhole principle:输入空间远远大于输出空...

文章样板

Quickcheck - A Tutorial on Typeclasses in Coq

Considerring printing different types with this common idiom: 1 2 3 4 5 6 showBool : bool → string showNat : nat → string showList : {A : Type} (A → string) → (list A) → string showPair : {A B : T...