在工业时代,煤炭和钢铁的使用量是一个国家发达程度的指标。而到了信息时代,数据量将是新的发达程度指标,几乎所有行业竞争本质上都是数据的竞争。支撑数据增长的背后,是一代又一代不断演化的数据库引擎,在真格基金的投资工作中,不断的开始有中国团队尝试挑战数据库领域海外的垄断地位,打造新一代的数据库引擎。业余时间,对整个数据库发展史做了个简单的总结。
整个数据库大致经历了四个发展阶段。
继续阅读在工业时代,煤炭和钢铁的使用量是一个国家发达程度的指标。而到了信息时代,数据量将是新的发达程度指标,几乎所有行业竞争本质上都是数据的竞争。支撑数据增长的背后,是一代又一代不断演化的数据库引擎,在真格基金的投资工作中,不断的开始有中国团队尝试挑战数据库领域海外的垄断地位,打造新一代的数据库引擎。业余时间,对整个数据库发展史做了个简单的总结。
整个数据库大致经历了四个发展阶段。
继续阅读在我看来,Notion 做对了三件事情。
2008 年发布的 Evernote 开启了人们对 “记录” 需求本身的数字化和结构化管理。随着时间的推移,信息的爆炸,用户日常接触的数据结构开始不断的多样化。看板、日历、Twitter Feeds、PDF、外部存储、Table 等等。Evernote 底层支持无法满足数据结构的多样性,更无法满足数据的动态变化。
Notion 底层技术创新,是基于 Block 的细粒度的数据结构设计,平台化的外部数据结构嵌入,数据动态性的支持。它不像是记录,而像是一个数字化的白板。
在 Notion 出来之前,工具本身只有服务个人(Personal)或服务企业(Enterprise) 两种定位。个人的定义为 1,企业的服务是100+。而目前的商业环境下,小团队变大越来越困难,公司结构中的腰部企业数量开始膨胀,而 Team 维度的企业诉求必然和 Enterprise 维度的诉求有所差异。Notion 抓住的是团队(Team,1-100)对工具的诉求。
Team 级别的公司,业务灵活,工作流程频繁变化,成熟的企业级(Enterprise) 产品(如 Saleforce,Workday)往往服务业务更稳定的工作流场景。而 Notion 打造的乐高式设计模式更适应 Team 的多变诉求。
Notion 在目前服务的客户,看起来是头部 CRM/HRM/KANBAN 等等的长尾用户,但这个长尾用户群,目前的寡头垄断的趋势来看,规模在不断的增长。
或许比较好的路径,会是类似 GitHub 的发展路径,开放App Marketplace,解决 Team 的定制化诉求,牢固自己在 Team 工作流上下游中的位置,把自己打造成为一个基于文字的白板级 Hub。同时寻找从自己平台中成长起来的 Enterprise 的机会。
Notion 本身是一个 Personal App + Team App,单从 Notion 目前服务的个人用户维度来看,Notion 个人用户的数据积累会成为更动态的数据标签。当年 Salesforce 和 Microsoft 竞争 LinkedIn,拿到的是一个人低频变化的身份信息,是精准广告的优质 Meta data。而 Notion 拿到了一个人动态的所思所想,目前的智能推荐时代,Notion 的内容可能会是推荐时代更优质的训练数据。
近些年来一直很热爱股票交易,也一直是我生活中最大的收入来源。
在 B 站《后浪》出来以后,“焦虑”的我也想体验下 up 主的生活,随即有了通过视频实盘分享自己股票交易经验的想法。
开设了 B 站、YouTube、西瓜视频的视频账号,实盘资金百万美金规模,交易以技术分析中短线波段交易为主,欢迎大家关注呀!
魔法交易员
https://space.bilibili.com/4311831
经济形势越来越复杂的当下,如何读懂我们周围的经济状况以更好的服务我们个人的日常投资显得尤为重要。
这次分享来源于 2018 年末,主要解析了各种内部和外部环境的经济指标,以及如何运用经济指标来调整二级市场投资策略组合。
未来会给大家在 Blog 再分享一些关于二级市场技术分析相关的分享。
继续阅读来自桥水基金创始人雷·达里奥,对于经济周期深入浅出的讲解,面对现在中国所处的大环境,可以说是非常应景了。
可能十年以后,你会发现,今天的我们正处于一个拐角,即将卷入一场旋涡之中。
自从做了投资行业以后,深感趋势和周期的重要性,顺应周期和趋势,理性看待和参与才能在复杂的市场环境中收获果实。
本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
本文对手机无法很好展示,建议用 PC 浏览器观看
音频内部对人的评价均是个人理解,不代表公司立场,如有隐私被冒犯之处,请邮箱我。
一月份我在峰瑞资本内部的一次区块链产业现状分享,以及对区块链本身的思考,准备了非常久,几乎涵盖区块链产业里的大多数内容。
如果对区块链世界比较了解的话,可以直接从 2 小时 20 分左右的玄学环节开始听对区块链的思考部分 PPT 从 146 页左右开始(鼠标悬浮在 PPT 左边边框 可以选择缩略图,直接跳转)。
整个分享接近两个半小时,文件大小 200 多 MB,所以大家做好准备。整个分享内容中难免有些有差错的地方,希望大家能够原谅,也非常欢迎大家斧正和交流。
以下为压缩 PDF 版本,点此查看高清 PDF 版本
点此查看网页版在线 PPT,鼠标悬浮在左侧黑色边框,可以看到缩略图和跳转(手机无法预览,请用 PC 浏览器打开)。
勘误:
下载:
PS.已经经过组织允许把内容放到博客上
偶尔翻到一年多以前在 Realm 中国线下 Meetup 上做的分享,关于 Android 动态调试任何 APK 的一个现场演示,主要是为了激起大家学习的兴趣。
之前花了很多时间学习逆向的知识,逆向是个很好玩的事情,能让自己觉得强大无比(很久后发现其实是错觉,哈哈)。
视频里主要分享了以下内容:
视频结尾提出了一个通过注入动态运行 Code 的设想,有个叫 Frida 的项目后来都实现了,非常非常棒的一个开源项目,很好玩。
https://realm.wistia.com/medias/pjs8o2aj6j
另外,推荐这本 《Android 应用安全防护和逆向分析》,刚出的没多久,写的比较全面,推荐给大家,书里没提及 Frida ,大家有空可以自己研究研究。
补充:评论区有位开发者写了一篇更为详尽的文章,描述如何动态调试任意 Android App,欢迎大家点过去看看。https://ldmf.net/archives/44.html
本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
阅读本文需要部分区块链基础,建议通过 《区块链理论学习指南》开始学习。
工作量证明(Proof of work)和 股权证明(Proof of stake)是区块链理论研究中重要的两个概念,也是区块链最核心的一部分。本文将对这两个理念进行详细介绍。
区块链本身就是一个分布式账本,既然是分布式账本,那么必然存在以下两个问题:
目前,PoW,PoS 以及 PoS 优化方案成为了解决这两个问题的一些主流方案。
PoW 通过让每个节点,在准备提交下一个区块 $ B $ 之前,强制规定在区块 $ B $ 中插入一个数 $ nonce $,使得:
$$ H(B) \leq m $$
上述公式中,$H $ 是某个哈希函数,$ m $ 是某个极小的实数,由哈希函数的性质决定,想要找到符合条件的 $ nonce $ ,就必须通过穷举 $nonce$ 的方法来实现。通过调整 $H$ ,$m$ ,就能控制网络中节点,对于每个区块提交的时间窗口的期望。
在 PoW 机制下,由于找到符合要求的 $nonce$ 期望时间是可以调整的,因而构建了去中心化的时间序列机制。同时,也解决了无中心多节点的结果决策问题,即,整个网络采用最早找到合法 $nonce$ 的节点提交的数据。
在 PoW 机制中,由于想要找到符合条件的 $nonce$ 往往需要花费大量的电力和时间成本,因此,为了使每个 Block 更快被生成,PoS 机制去掉了穷举 $ nonce $ 这一过程,继而采用以下更快速的算法:
$$ H(H(B_{prev}), A, t) \leq balance(A) m $$
等式左边,唯一可以不断调整的参数是 $t$,等式右边 $ m $ 是某个固定的实数,因此,当 $balance(A)$ 越大,找到合理 $t$ 的概率越大。网络中,普遍对于 $t$ 的范围有所限制,如可以尝试的时间戳不能超过标准时间戳 1 小时,也就说,一个节点可以尝试 7200 次,来找到一个符合条件的 $t$,如果找不到即可放弃。因此,在 PoS 中,一个账户的余额越多,在同等算力下,就越容易发现下一个区块。
Delegated Proof of Stake(委托股权证明) 是 PoS 的进化方案,在常规 PoW 和 PoS 中,一大影响效率之处在于任何一个新加入的 Block,都需要被整个网络所有节点做确认。DPoS 优化方案在于:通过不同的策略,不定时的选中一小群节点,这一小群节点做新区块的创建,验证,签名和相互监督,这样就大幅度的减少了区块创建和确认所需要消耗的时间和算力成本。
在 PoW 机制中,当账本出现分叉时,对 PoW 这种算力敏感的算法,矿工必须选择一个方向进行挖矿。而在 PoS 这种算力不敏感的时候,PoS 矿工往往会两个方向都挖,以争取实现利益最大化。当多数矿工都在两条链上一起挖矿的时候,就会很容易出现双重支付攻击。
PoS 机制中,由于持币量会对挖矿难度产生影响。因此,当一个基于 PoS 体系代币系统启动时,就会面临早期获得代币的持有者,没有动力去花费或者转移代币给第三方。同时,持有越多的币,越容易挖到矿,这样就产生了代币初始流通性问题。
解决方案:早起几个版本,通过 PoW 机制来创建货币,而非 PoS。由于 PoW 本身的性质,矿工在挖矿过程中往往需要资金来升级硬件,所以会让矿工手中的币流通起来。
PoS 中,产生每个 Block 的速度相对 PoW 快了很多。因此,少数不怀好意的节点会想着把整个区块链共识账本全部重写。这在 PoW 中是经典的 51% 问题,即:当某一个节点控制了 51% 及以上算力,就有能力篡改账本,但达到 51% 算力是件极其困难的事情。而在 PoS 中缺乏对算力的约束,那么就存在潜在可能篡改账本。
解决方案:同步时,限制最大能接受的分叉节点数量。
贿赂攻击流程如下:
因此,只要此次贿赂攻击的成本小于货物或者服务费用,此次攻击就是成功的。相比之下,PoW 机制中贿赂攻击就需要贿赂大多数矿工,因此成本极高,难以实现。
在最早的 Peercoin 版本中,挖矿难度不仅与当前账户余额有关,也与每个币的持币时间挂钩。
$ H(H(B_{prev}), A, t) \leq balance(A) m Age(coins) $
这就导致,部分节点在等待足够长时间后,就有能力利用 Age 的增加来控制整个网络,产生非常显著的影响。
解决方案:限制 CoinAge 的最大值。
当 PoS 中的某一节点占有了一定量的算力后,PoS 中占有特定算力的节点,就有能力通过控制 $ H_{prev} $ 来使自己所在算力范围有能力去计算 $H_{next}$。
$$ H(H(B_{prev}), A, t) \leq balance(A) m $$
攻击方法 | PoW | PoS | DPoS |
---|---|---|---|
短距离攻击(如贿赂攻击) | – | + | – |
长距离攻击 | – | + | + |
币龄累计攻击 | – | + | + |
预计算攻击 | – | + | – |
DDos | – | 可能 | – |
女巫攻击(Sybil Attack) | + | + | + |
从功能和趋势来看,比特币如果被当做数字黄金的话,PoW 在比特币未来的发展中依旧起着至关重要作用,同时由于历史问题,比特币的 PoW 机制很难被切换到 PoS 中去。
但对于其他以实用功能取胜的区块链项目而言,从经济效益,共识速度而言,PoS 或者 PoW/PoS 混合模式将会是未来的主流共识方案。
如果感觉写的对你有帮助的话:
通过 Bitcoin 打赏: 1QD9entYzxbJKUL97S9ip4YqqJeQvQa8Ej
通过 Ethereum 打赏:0xdbd92588811c76a7a0CD22f45217Df1926B0709D
ICO 火爆的背后充斥着鱼龙混杂的区块链项目,在峰瑞内部,我们也做了很多区块链相关的研究、分享和讨论。内部讨论和思考最多的是:1)区块链解决了什么问题 2)区块链技术更适合哪些场景。
区块链从表面来看,是不可篡改的去中心化数据库,再深层次来看是去中心化的信任体系,简单总结而言,一个优秀的区块链项目,应该具备以下一些特质。
链生资产所对应的反面,是指尝试将现实资产映射到链上。这件事情是可以实现的,但多数是没有太大意义的。因为资产上链这一过程,所面临的问题依旧是个传统问题,依旧需要中心化的机构来做信息可信性验证。因而区块链所扮演的角色就成了分布式数据库的角色,从效率上而言,又无法超越传统数据库,与其如此,倒不如用一个传统数据库方案。
在链生资产的基础之上,区块链效率的本质在于充分利用区块链的信任体系,打破个体之间建立信任的成本。尽管区块链方案的执行速度,由于分布共识的原因,多数是慢过传统架构的,但是从信任效率来说,如果区块链不是唯一一个可以做这件事的方案,那么这个项目就没有什么价值。所以不要尝试去挑战目前传统意义效率优先的工具,比如 IM 即时通信工具。
比特币是把信任变成了一种资产,所有挖矿的矿工,只要自己好好表现,不去欺骗网络,自己就能得到应得的比特币作为奖励。试想没有区块链之前,你需要和一个合作伙伴做生意,建立信任的成本是很高的,更何况,一个人或是一群人对你的信任不论是信任建立,还是信任消亡,都是需要一个反馈周期的。在建立和消亡的过程中,生产力是受到限制的。而在比特币区块链网络内,信任成为一种热插拔式的方案,信任建立和消亡的反馈周期被大幅缩短,同时任何人转变角色是不会遭受历史包袱的(设想现实中,一个犯罪过的人,即便真心想做个好人的难度),也在某种程度上提升了可用劳动力。
因此,对于一个优秀的项目,应当从以上三点进行整体评估,不过也有一种项目形态在于协议优化。这种区块链项目更好理解,但也需要更多的技术基础。比如:Monero 强化了比特币区块链本身交易的不可见性,使得每次交易匿名性更好,因此是个值得投资的项目。
大家日常在 ICO 过程中,也应当充分考虑项目本身的质量,越是有价值的项目,越是符合以上几条,不得不承认,ICO 给了『穷人』暴富的机会,但是最终泡沫破裂后,优秀项目的代币才是最有价值的资产。
本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
Check the English Version
区块链理论在国外发展迅速,但国内一直没有什么进展,知网上确实存在几篇论文,但多数也是凑热点水出来的。最近在峰瑞资本持续的研究了几个月区块链理论部分,收获很多,想分享一些自己学习路径出来,希望能够帮助国内区块链爱好者快速上手。
研究区块链理论部分,不可避免的是读论文。如果纯粹想开发以太坊合约搞个 ICO 的话,只用看官方文档就行了。读论文的顺序大致如下:
第一篇:Bitcoin: A Peer-to-Peer Electronic Cash System,这是比特币的原始论文,通篇几乎没有什么公式,只是通过文字来描述整个网络的结构类型,通过简单的数据结构方案,完成了一个去中心化的信任体系网络。如果这篇论文看着有些吃力的话,可以配合《区块链-技术驱动金融》这本书,必须要强调的是:比特币的论文是其他区块链项目(以太坊,ZCash 等)的基础,所以务必花足够多的时间搞懂它。
第二篇:A Next Generation Smart Contract & Decentralized Application Platform Vitalik Buterin 2014 年发表的以太坊白皮书,整篇文章主要讲述了一些比特币网络的缺陷以及自己的一些新的想法,最最核心的部分应属智能合约部分的提议。更多更细节的技术描述在 Gavin Wood 发表的 Ethereum: A Secure Decentralized Generalized Transaction Ledger 一文中,这篇 Paper 是一篇论述非常严谨的文章,在以太坊的发展中起到了至关重要的作用。文章用严谨的数学符号描述了整个网络的工作原理以及细节。(如果你很努力看了,也没看懂,没有关系,只要掌握第一篇的核心思想暂时足矣。)
第三篇: IPFS – Content Addressed, Versioned, P2P File System,IPFS 是基于区块链实现的分布式文件存储系统,对于整个区块链产业的发展起到了很大的作用,在我看来,比特币是单片机,他的诞生只干一件事情,就是记账,而以太坊是一个计算器,可以执行一些简单的运算程序,IPFS 其实就是更底层的存储介质,在未来整个区块链产业的发展中至关重要。IPFS 的整个核心理念更多的是在结合现有技术,并进区块链中。最重要的应该是 KAD 协议,如果大家日常用过种子下载,那 ed2k 协议的基础就是 KAD。说来背后也有很多故事在里面,最早一个叫 Jed McCaleb 的程序员第一次实现了 KAD 协议,发布了 eDonkey(电骡)软件,后来沉浸到去中心化的研究中,持有一定量的比特币后,看到论坛很多人想要交易比特币,因此又开发了全球第一个比特币交易网站 Mt.GOX,曾经一度是全球最大的比特币交易网站,后来不幸被盗,又加入了 Ripple,现在单独 ICO 后在做 Stellar 网络,Stellar 网络也是一个非常有意思和想象空间的网络,大家有兴趣可以去看他的网络白皮书。
第四篇: 其他各种白皮书,目前 ICO 火爆,白皮书多如牛毛,多翻翻看别的白皮书,很快就能判断出项目靠不靠谱,做的事情是否有意义。
比特币被人诟病最多的大致有三点:匿名性、交易速度和费用、浪费电力资源,而针对其缺陷,也有很多学者提出了不同方案。
比特币的安全性一直是个非常严重的问题,尽管账户并没有和人做绑定,但比特币所实现的只是伪匿名,交易之间有链接关系(Linkable),整个交易可以被追踪(Traceability)的网络。CryptoNote v2.0 这篇论文成为了目前几乎所有主打安全数字货币的论文基础,如 Monero,Dash,BlackCoin 等都是基于此论文提出的理论做的实现。论文提出两个主要方案,一个是通过椭圆曲线结合 Diffe-Hellman 密钥交换生成了只有交易双方可见的一笔交易,解决了 Linkable 的问题。另一个方案是通过一次性循环签名(One-time ring signatures)机制让每一笔交易不可被追踪。
另外值得一提的是零币(zerocoin)和零钞(zerocash)的概念。零钞是对零币的优化方案。整体思路在于通过零知识验证的方法实现数字货币的匿名性。零知识验证是密码学里比较重要的一个概念。后面的博文我也会继续给大家分享一些相关细节。相关的两篇论文如下:
交易速度和交易费用的背后本质原因是一样的,即每次交易成本高,并且耗时。因此所有的优化方案基本都是从将多数的交易从链上搬离到链下,即,不实时同步交易数据到整个网络,只有在必须要同步,或达到某个约定条件后再同步到网络,这样就能大幅减少网络共识的损耗,提升速度,降低交易手续费。
比特币电力损耗的一大主要原因是来自于共识机制,为了让网络中对于每一笔交易达成共识,需要消耗计算资源来产生共识和去中心化网络时间戳,因此多数网络优化方案就是替代基于大量计算的共识机制,即替换掉 Proof of Work 工作机制,转而成为 Proof of Stake 机制,因此这方面推荐的论文如下:
区块链背后依赖的是密码学、共识算法、和博弈论。
目前整个区块链网络更倾向于安全性更高的椭圆曲线方案,也包含一些常规的摘要、加密、密钥交换算法。如果没有密码学基础,买一本书,看 Paper 的时候不懂的地方参考参考即可。密码学中也涉及一些抽象代数学科的内容可以买本书也作为参考。
共识算法的核心抽象是拜占庭将军问题,相关的文章论文非常多,学习过程中多搜索多看即可。拜占庭将军目前解决方案较为成熟的是 Paxos 和 Raft 算法。
博弈论在区块链的设计中起着非常隐性的核心作用,其最终目标是如何让网络达到一个平衡,坏人没有动力使坏,好人会努力维护网络。
学习区块链理论部分需要非常多的耐心和毅力,去了解很多理论细节,网络协议的设计往往都是最有挑战的事情,工程实现并不是最难的。因此如果对区块链非常感兴趣的话,一定要准备好下苦功夫,后面我还会写一些相关博文,从更多的角度详细介绍区块链的理论部分以及深入到代码和工程中去探讨区块链。ICO 的火爆只是一群骗子(大多数都是)的狂欢,迟早爆炸,而后面大浪淘沙,优秀的项目需要更多区块链人才,所以快去做好准备吧。
如果有兴趣和我交流,欢迎加我微信:daimajia,如果文中要不正确的地方,欢迎斧正。
通过 Bitcoin 打赏: 1QD9entYzxbJKUL97S9ip4YqqJeQvQa8Ej
通过 Ethereum 打赏:0xdbd92588811c76a7a0CD22f45217Df1926B0709D