星想法

星想法

从技术角度,理解区块链,理解零知识证明,理解金融经济,分享生活工作的点滴。
35

文章

501629

浏览

微信公众号

  • 零知识证明 - PLONK电路原理

    Groth16算法确实比较美,优点是证明小,非常适合链上验证的场景。但是,Groth16算法需要可信的初始设置(Trusted Setup),而且每个电路都需要初始设置。特别在业务电路升级的时候,还需要重新初始设置。PLONK算法,只需要一次初始设置(Universal Trusted Setup)。初始设置的参数可以升级,而且在电路大小不超过范围的情况下,不需要重新设置。
    2020-10-08 13:55:39 2462
    • Filecoin - SDR性能优化原理分析

      Filecoin官方今天正式宣布了SDR的优化版本。在AMD3970x上,P1的性能2小时10分钟。看了看官方的优化思路,分享一下。P1性能优化的核心Patch如下:这个Patch在8月27号就做出来了。优化思路比较清晰:通过预读取base/exp parent的数据,让数据的准备和sha256的计算并行。在介绍具体的优化逻辑之前,介绍一下AMD CPU架构的小知识:
      2020-09-28 09:35:05 8255
      • Uniswap - 智能合约V2代码导读

        区块链技术是非常有趣的。更有趣的是,区块链技术让交易变得更丰富多彩。从中心化交易,到去中心化交易,再到去中心化AMM。每一种改变都尝试解决之前的问题,但本身也不是完美的。也值得一提的,每一点点进步都非常不容易。有种不积跬步,无以至千里的感觉。很久之前,就看了Uniswap协议,当时理论分析,流动性提供者在价格波动的情况下,收入微薄。在这样的协议下,流动性是否充足,交易是否足够多,交易费是否有足够的吸引力等等,我觉得都是问题。
        2020-09-22 08:21:57 12047
        • Filecoin - Gas计算

          Filecoin开始Space Race了。矿工的实力都开始展现。官方的代码也有不少问题,几天时间,版本从0.5.1升级到0.5.6。好久不看go语言相关的逻辑,最近看了看Filecoin的Gas计算相关的逻辑,分享一下吧。本文分析的是0.5.6的逻辑,Lotus代码的最后一个提交信息如下:
          2020-09-03 18:34:16 17487
          • 零知识证明 - Zkopru Layer2隐私协议介绍

            最近翻到一篇利用零知识证明在以太坊上实现隐私交易的新方案。Zkopru采用的还是UTXO模型,交易隐私实现的思路和ZCash类似。Zkopru的这篇介绍比较详细的介绍交易的类型,layer1/layer2的交互等等。翻译了一下,方便其他小伙伴查看。对layer2隐私协议感兴趣的小伙伴可以看看。
            2020-08-17 10:38:49 17842
            • 零知识证明 - 理解FFT的蝶形运算

              好几个星期没写文章,主要原因是和小伙伴们一起优化bellman的性能。新的,有趣的,让人兴奋的优化想法一个个蹦出来,性能一点点的提升,让原先的不可能变成了一个个的可能。性能优化,需要沉淀,需要专注分析,需要实践,需要集思广益。更奇妙的是,一步步的优化,之前感觉没有必要优化的小点,都变的重要起来。Trapdoor Tech的小伙伴们相信:持续,专注,才有好的品质。
              2020-07-20 09:27:06 6654
              • Filecoin - Precommit2计算介绍

                Sector计算的部分分为Precommit1和Precommit2两部分。两部分合在一起,称为SDR算法。整个SDR算法的相关计算在之前的文章介绍过:Filecoin - 为什么SDR这么慢?本文着重介绍一下Precommit2的计算逻辑。Precommit2计算分为两部分:1/ Column Hash计算以及Merkle树构造 2/ Replica计算以及Merkle树的构造。相关的逻辑请查看rust-fil-proofs/storage-proofs/porep/src/stacked/vanill
                2020-06-20 11:35:37 26330
                • Filecoin - Sector状态管理逻辑

                  好久不看go语言的代码了,最近有空换换脑子,看看Sector的状态管理,纯go语言实现。看看大型项目的代码设计,对代码以及项目的设计开发有莫大的好处。Lotus的go语言部分的最新的代码,采用模块化设计。Lotus的代码也是一步步演进的,第一版的代码也是所有的逻辑耦合在一起,后面才逐步的模块化。
                  2020-06-16 10:21:55 13640
                  • Filecoin - 深入理解NSE算法

                    PoREP算法,从window SDR改成SDR,时间并不长。新的PoREP算法NSE已经在酝酿中。NSE算法的全称:Narrow Stacked Expander PoRep。在rust-fil-proofs的feat/nse分支,可以查看NSE算法的实现。文章使用的源代码的最后一个提交信息如下:
                    2020-05-29 15:22:58 20100
                    • 零知识证明 - Trapdoor团队发现PoREP严重漏洞

                      Trapdoor团队发现PoREP电路V25版本存在严重漏洞。利用该零知识证明的漏洞,SDR算法(Precommit1)的计算可以直接省略。所有Sector的Replica的数据也只要存储一份。Trapdoor团队在第一时间和官方沟通后,官方已经快速提交补丁:
                      2020-04-30 13:16:21 6613
                      • Filecoin - winningPoSt逻辑介绍

                        Lotus的PoSt的部分从electionPoSt变成两种新的PoSt,一种是winningPoSt,一种是windowPoSt。先讲讲winningPoSt吧。winningPoSt,顾名思义,在winning的时候进行的PoSt。所谓的winning,也就是获取出块权。简单的说,winningPoSt,随机抽查的一个sector,该sector中的66条随机抽查的merkle path都正确。代码逻辑从Lotus的go的代码说起。一切从出块开始 - lotus/miner/miner.go的Mine
                        2020-04-29 10:06:22 11986
                        • Filecoin - Snark as a Service数据量分析

                          Filecoin又延期了,其实也在预料之中。看代码的小伙伴可能会发现,现在lotus以及rust-fil-proof项目每天还在大量的更新代码。大型的项目开发,在上线之前都会code freeze,进行一定时间的压测,没有严重bug的情况下,就可以上线。目前看项目还是在开发阶段,没有code freeze的意味。
                          2020-04-20 09:58:36 9527
                          • Filecoin - PoREP电路介绍

                            PoREP电路相关的逻辑在storage-proofs/src/porep/stacked/circuit/目录中。Rust-fil-proofs代码更新比较快,本文中用的代码的最后一个commit信息如下:commit 14870d715f1f6019aba3f72772659e38184378bfAuthor: Rod Vagg Date: Fri Mar 20 22:30:18 2020 +110 feat(filecoin-proofs): expose filecoin_proofs::pa
                            2020-04-10 11:34:11 12875
                            • Filecoin - testnet3中Sector处理逻辑变化

                              前一篇文章尝试了一下微信公众号文章收费,挺有意思。付费的大部分是认识的好朋友,主要是鼓励支持。谢谢朋友们的鼓励,也会坚持把理解及时写下来,分享。前段时间看了傅盛的悬崖边的反思。感触比较深,文章中的16/17年大事件的时间点,我就在猎豹移动。猎豹移动,确实很早就预知工具会被OS化,工具App的未来比较迷茫。16年,工具App保收入,17年新闻,AI。猎豹移动的文化是小步快跑,快速试错。确实,那几年感觉猎豹移动主要在定目标,做任务。没有找到自己的积累和壁垒。猎豹移动也蛮拼的,最紧张的时候,基本上每周都发布更新
                              2020-04-01 11:45:53 17828
                              • 零知识证明 - 区块链应用中的风险

                                最近翻到一篇19年底360安全发布的一篇有关零知识证明安全的文章。这篇文章是Zhiniang Peng在PacSec2019大会发言的总结。文章框架性地介绍零知识证明zk-SNARK的知识,并给出了一些安全提示和思考。
                                2020-03-25 14:13:43 20920
                                • Filecoin - AMA的一些理解

                                  星期五早上,看了看Filecoin AMA (Ask Me Anything)。AMA的形式还是比较正式的,社区提出的问题,会经过删选确认。Filecoin的创始人胡安回答了差不多100个问题。看了大部分问题以及回答,总结一下:
                                  2020-03-09 15:50:40 20117
                                  • 零知识证明 - 电路及证明示例(libsnark)

                                    libsnark库代码层次非常清晰。libsnark也给出了SNARK相关算法的全貌,各种Relation,Language,Proof System。为了更好的生成R1CS电路,libsnark抽象出protoboard和gadget,方便开发者快速搭建电路。在阅读该示例代码前,请仔细阅读libsnark的源代码分析:
                                    2020-03-01 11:37:47 23105
                                    • Filecoin - Lotus存储证明了什么?

                                      2019年,Filecoin算是火热的区块链项目。3月份,Filecoin公开了相关的代码后,第一时间看了看Filecoin的代码。区块链部分的代码,比较简单,偏功能验证。个人对存储证明的部分比较感兴趣,也就是FPS。采用零知识证明技术,对存储进行证明是个大胆的尝试。Filecoin团队,在2019年下半年出了个Lotus(莲花)测试版本。测试网络的硬件配置比较高,256G内存 + Nvidia 2080TI的显卡。测试网络的节点排行榜,也成了竞赛场。算力增长,出块效率,是主要的指标。
                                      2020-02-25 11:15:00 19029
                                      • 零知识证明 - DIZK源代码导读

                                        对DIZK感兴趣的小伙伴可以看看DIZK的源代码:https://github.com/scipr-lab/dizk,DIZK的更新比较少,最后一个patch也是2018年底了:algebra - 各种计算:椭圆曲线,域/群,FFT以及多倍点(fixedMSM和VarMSM)。bace - batch证明的相关实现。relations - 电路的表示:r1cs以及QAP。reductions - 实现r1cs到QAP的转化。zk_proof_systems - Groth16证明系统profiler -
                                        2020-02-13 12:40:28 8161
                                        • 零知识证明 - Coda,简洁的区块链协议

                                          Coda区块链无论在网络上进行多少交易,始终保持恒定大小(几条推文的大小)。 https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FeWVGATxEB6M%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DeWVGATxEB6M&hack.
                                          2020-01-31 11:54:09 11421
扫二维码

扫一扫,关注微信公众号