看了很多关于比特币签名算法的文章,遂进行整理,简化记录下。 以下的计算都是基于椭圆曲线有限域所做,所以阅读以下内容前,需要对椭圆曲线与有限域有一定的了解。 椭圆曲线签名(ECDSA) 签名 \(R=k*G=(r,y)\) // \(k\)是我们取的随机值,\(G\)是椭圆曲线的基点 \(z=Hash(m)\) // \(m\)是待签名的信息 \(S=\frac{z+r*G}{k}\) // \(G\)…
看了很多关于比特币签名算法的文章,遂进行整理,简化记录下。 以下的计算都是基于椭圆曲线有限域所做,所以阅读以下内容前,需要对椭圆曲线与有限域有一定的了解。 椭圆曲线签名(ECDSA) 签名 \(R=k*G=(r,y)\) // \(k\)是我们取的随机值,\(G\)是椭圆曲线的基点 \(z=Hash(m)\) // \(m\)是待签名的信息 \(S=\frac{z+r*G}{k}\) // \(G\)…
有一段时间,我沉溺于A股超短线炒作无法自拔,几万块钱抱着玩玩的想法,要么归零,要么百倍。也从一些股吧上面不断学习、追寻热点。这样搞了有两年多,不仅几万块钱接近归零,而且自己也搞的身心俱疲。超短线的巨大波动导致资金的变化会对心理造成巨大冲击。 所以这几万块接近归零之后我就很少玩了,卸载了APP。注意这里我使用的是玩这个字,因为此时我已经觉得超短线操作已经被我搞成了类似于赌博的游戏。 之后不玩了之后静下心思考,大致思考出一个热点追踪的可以比较稳定盈利的方法(纯属个人瞎琢磨,不作为投资建议) 方法大致如下: 之前我炒超短…
内存一致性校验( Memory Consistency Checks -- MCC )是保证zkvm在处理程序执行当中,读写的内存数据未被恶意攻击者篡改,目前主流的内存处理方式: ROM:只读内存(例如:cairo ) RAM:随机读取内存(例如:risc0,sp1) 对于MCC常见处理方式如下 ROM(只读内存) 有两个vector,分别称为reads、writes,里面存储的数据项是item = (address,value,version) 将初始化的内存数据遍历,所有项均push到writes的vector…
btc隔离见证升级又称 SegWit 升级,是将btc交易信息中的见证(witness)字段从交易信息中“挪出”,变相增加了一个区块可以包含的交易数量,提升btc的tps,同时解决了交易延展性的问题。 升级之前的交易 在SegWit升级之前,btc的一个交易信息(P2PKH类型)如下所示: { "txid": "b3ef9f3fc2f8536fd6b81c33f7be88f74029a172d6d0f3c252e5d44d71e6ed57", "size": 1373, "version": 1, "locktim…
如何评估一个项目有投资价值 查看融资情况(有大机构投资例如:a16z、OK、DCG等) 查看团队背景(创始人是否已经有成名的项目,是否实名等等) 代币解锁程度+持币是否集中 上各大交易所的情况(未上ok,ba,但是有上的预期,会有较大涨幅) 是否有炒作预期(例如AI,可能最近没涨,但是有较大预期) 查看github代码更新情况 价格估值(一个项目再好,价格已经涨上天,就要慎重考虑) 如何评估一个项目的估值 看融资情况(融资一般都有个估值) 对比同等项目(例如:op、arb) 牛熊市估值可能会有区别
“人之初,性本善。性相近,习相远。”是三字经的开篇,意思是人生下来的时候都是好的,只是由于成长过程中,后天的学习环境不一样,性情也就有了好与坏的差别。 这里的“性”更多是指一个人的品性,人性,德性。本篇文章主要讨论下关于“性本善”有关的问题。 中国古代哲学中对此有两个不同的观点:儒家代表人物孟子持“人性本善”的看法,之后理学的朱熹认同并发展了“性善”。但同为儒家的荀子则认为“人性本恶”,基督教有类似的观点----人生来就有原罪。另一个宗教佛教则讲轮回,认为人无所谓善恶,而是与前世的“业”相关。 这里的“人性本善”与…
讲解比特币之前,我们先来了解下什么是区块链,直接看下百科上面的定义:“区块链是一种块链式存储、不可篡改、安全可信的去中心化分布式账本,它结合了分布式存储、点对点传输、共识机制、密码学等技术,通过不断增长的数据块链(Blocks)记录交易和信息,确保数据的安全和透明性 ”。 如果是刚开始学习区块链,看到这样的定义可能是一脸懵!什么是块链式存储?为什么它是不可篡改的?怎么就安全可信了呢?还有这个分布式账本到底是什么鬼? 我刚开始接触区块链的时候,也有很多这样的疑惑,也看了很多的文章,但当你熬过许多枯燥的时间之前,这些技…
蒙哥马利算法(Montgomery algorithm)是一种用于快速执行模重复平方(\(a^n\;mod\;N\))和模乘法(\(a*b\;mod\;N\))的算法。它主要用于解决大数取模运算的效率问题。 优化重点是避免除法,只使用乘法和位操作。 取模运算 例如:\(10\;mod\;3 = 1\),取模即求余数。 对于取模运算常见的性质有: \((a + b) \;mod \;N = (a \;mod \;N + b\; mod \;N) \;mod \;N\) \((a - b) \;mod \;N = (a…
enumerate 普通遍历时迭代器时无法取到迭代器中元素的下标,使用enumerate即可 fn test_iter() { let vec = vec![1, 2, 3]; for (count, num) in vec.into_iter().enumerate() { println!("index:{},val:{}", count, num); } } //输出 index:0,val:1 index:1,val:2 index:2,val:3 filter filter传入的闭包返回一个bool值,返…