Skip to content

Commit

Permalink
add btc histroy
Browse files Browse the repository at this point in the history
  • Loading branch information
yanyanho committed Mar 29, 2024
1 parent 1e6625d commit d8721dd
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
11 changes: 10 additions & 1 deletion BTC/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@
crypto 不到一年的时间。如果其中有任何错误的话,可以尽情指正。大家都只是海边
捡贝壳的小孩而已。

|时间| 名称 | 发明者 | 突破 | 相比比特币的区别 | 完成度 |
| ---- | ----- | ----- | ---- | ---- | ---- |
|1983 | eCash | David Chaum |发明的盲签名技术, 第一次提出了加密电子货币概念,引入了公钥,私钥等加密概念 | 中心化网络, 无共识机制,无挖矿机制 | 提出概念,实现系统 |
|1997 | Hashcash | Adam Back | 完善了工作量证明机制 , 让密码朋克意识到可以在工作量证明的基础上构建一种全新的货币 | 无法控制算力总量,并非电子货币范畴 | 提出概念,实现系统 |
|1998 | B-money | Wei Dai | 这是首个不依赖中心化机构的匿名数字货币方案, 引入工作量证明的思想来解决数字货币产生的问题 提出了分布式加密货币概念,任何人(或部分参与者)都可以维护一套账本,构成一套 P2P 网络,使用者在网络内通过对带签名的交易消息的广播来实现转账的确认 | 分布式系统,共识机制弱 | 提出概念 |
|1998 | Bit-gold | Nick-Szabo | 完善了POW挖矿机制,引入了时间戳,参与者需要贡献算力来解决“加密难题”,成功解决这些“难题”的参与者广播给全网络,并且每个难题结果都是下一个问题的一部分,从而创建了一个不断增长的具有新属性的链, 引入了PBFT注册小组解决双花问题 | 总量不可控,拜占庭容错方式不完善,容易遭到女巫攻击 | 提出概念 |
|2005 | RPow | Hal Finney | 完善了Hashcash并且引入了Token Money概念,实现了Hashcash算力无线增长的问题 | 并非电子货币范畴 | 提出概念,实现系统 |


> P.S. 本文只是技术分析介绍,对于投资理财不做任何推荐担保。投资有风险,
> 入市需谨慎,对于市场和生活要常怀敬畏之心。
Expand Down Expand Up @@ -72,7 +81,7 @@ Private Key 通过椭圆曲线加密得到 Public Key,然后 Public Key
两个变量,无法直接求解,如果随机数是个确定的值,那么就能直接通过公
式将另一个变量求解出来,从而将你的公私钥给破解。Sony 的 PS3 就是因为
用于签名的随机数是固定的,结果被人给破解了。具体的可以参考知乎文章:
[一文读懂 ECDSSA 算法如何保护数据](https://zhuanlan.zhihu.com/p/97953640)
[一文读懂 ECDSA 算法如何保护数据](https://zhuanlan.zhihu.com/p/97953640)

那为什么 bitcoin 不直接使用公钥呢?很简单,因为公钥中会包含 0 O l 1
这些容易混淆的字符,有时很难将其区分,而转账时地址一旦输错,是不能追回
Expand Down
13 changes: 13 additions & 0 deletions basic/40-Flashbots/scripts/send-1559-flashbot.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,19 @@ async function main() {
);
console.log("submitted for block # ", blockNumber + i);


//type 2
const minTimestamp = (await provider.getBlock(blockNumber)).timestamp
const maxTimestamp = minTimestamp + 120

const bundleReceipt = await flashbotsProvider.sendRawBundle(
signedTransactions, // bundle we signed above
blockNumber + 1, // block number at which this bundle is valid
{
minTimestamp, // optional minimum timestamp at which this bundle is valid (inclusive)
maxTimestamp, // optional maximum timestamp at which this bundle is valid (inclusive)
// revertingTxHashes: [tx1, tx2] // optional list of transaction hashes allowed to revert. Without specifying here, any revert invalidates the entire bundle.
})

// const bundleSubmission = await flashbotsProvider.sendRawBundle(
// signedTransactions,
Expand Down

0 comments on commit d8721dd

Please sign in to comment.