简明数据库史

在工业时代,煤炭和钢铁的使用量是一个国家发达程度的指标。而到了信息时代,数据量将是新的发达程度指标,几乎所有行业竞争本质上都是数据的竞争。支撑数据增长的背后,是一代又一代不断演化的数据库引擎,在真格基金的投资工作中,不断的开始有中国团队尝试挑战数据库领域海外的垄断地位,打造新一代的数据库引擎。业余时间,对整个数据库发展史做了个简单的总结。

整个数据库大致经历了四个发展阶段。

继续阅读
notion

我对 Notion 的思考

在我看来,Notion 做对了三件事情。

1) 多元的数据结构支持

2008 年发布的 Evernote 开启了人们对 “记录” 需求本身的数字化和结构化管理。随着时间的推移,信息的爆炸,用户日常接触的数据结构开始不断的多样化。看板、日历、Twitter Feeds、PDF、外部存储、Table 等等。Evernote 底层支持无法满足数据结构的多样性,更无法满足数据的动态变化。

Notion 底层技术创新,是基于 Block 的细粒度的数据结构设计,平台化的外部数据结构嵌入,数据动态性的支持。它不像是记录,而像是一个数字化的白板。

2) 聚焦小团队协作(Team)

在 Notion 出来之前,工具本身只有服务个人(Personal)或服务企业(Enterprise) 两种定位。个人的定义为 1,企业的服务是100+。而目前的商业环境下,小团队变大越来越困难,公司结构中的腰部企业数量开始膨胀,而 Team 维度的企业诉求必然和 Enterprise 维度的诉求有所差异。Notion 抓住的是团队(Team,1-100)对工具的诉求。

3)支持灵活工作流

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

https://www.youtube.com/channel/UCkRc4Cyv0DZecuLjARwP3Gw

https://www.ixigua.com/home/104261628887/

读懂经济指标-峰瑞资本内部分享

听完需要 2 个小时,文件大小 110 兆
请在有足够空闲时间的时候听

经济形势越来越复杂的当下,如何读懂我们周围的经济状况以更好的服务我们个人的日常投资显得尤为重要。

这次分享来源于 2018 年末,主要解析了各种内部和外部环境的经济指标,以及如何运用经济指标来调整二级市场投资策略组合。

未来会给大家在 Blog 再分享一些关于二级市场技术分析相关的分享。

继续阅读

经济机器是如何运行的

来自桥水基金创始人雷·达里奥,对于经济周期深入浅出的讲解,面对现在中国所处的大环境,可以说是非常应景了。
可能十年以后,你会发现,今天的我们正处于一个拐角,即将卷入一场旋涡之中。

自从做了投资行业以后,深感趋势和周期的重要性,顺应周期和趋势,理性看待和参与才能在复杂的市场环境中收获果实。

区块链世界来龙去脉,峰瑞资本内部分享

本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
本文对手机无法很好展示,建议用 PC 浏览器观看
音频内部对人的评价均是个人理解,不代表公司立场,如有隐私被冒犯之处,请邮箱我。

一月份我在峰瑞资本内部的一次区块链产业现状分享,以及对区块链本身的思考,准备了非常久,几乎涵盖区块链产业里的大多数内容。

如果对区块链世界比较了解的话,可以直接从 2 小时 20 分左右的玄学环节开始听对区块链的思考部分 PPT 从 146 页左右开始(鼠标悬浮在 PPT 左边边框 可以选择缩略图,直接跳转)。

整个分享接近两个半小时,文件大小 200 多 MB,所以大家做好准备。整个分享内容中难免有些有差错的地方,希望大家能够原谅,也非常欢迎大家斧正和交流。

 

以下为压缩 PDF 版本,点此查看高清 PDF 版本

区块链与数字资产-small

点此查看网页版在线 PPT,鼠标悬浮在左侧黑色边框,可以看到缩略图和跳转(手机无法预览,请用 PC 浏览器打开)。

勘误:

  • 杨林科本人是温州人(有幸询问过杨林科本人),而非宝鸡人,百度百科提到的是错误得。
  • 孙雨晨否认 Tron 是自己拉盘,拉盘资金不得而知

下载:

PS.已经经过组织允许把内容放到博客上

教你如何动态调试 Android 微信

偶尔翻到一年多以前在 Realm 中国线下 Meetup 上做的分享,关于 Android 动态调试任何 APK 的一个现场演示,主要是为了激起大家学习的兴趣。

之前花了很多时间学习逆向的知识,逆向是个很好玩的事情,能让自己觉得强大无比(很久后发现其实是错觉,哈哈)。

视频里主要分享了以下内容:

  • 如何配置 Android 反编译和动态调试环境
  • 如何通过 apktool 反编译 Android 安装包
  • 如何通过 xposed 插件打开 apk debugable 设置
  • 如何动态调试 Apk,视频中以动态调试微信 apk 中公众号 Webview 为例,获取到了 Webview 的 URL 地址。

视频结尾提出了一个通过注入动态运行 Code 的设想,有个叫 Frida 的项目后来都实现了,非常非常棒的一个开源项目,很好玩。

https://realm.wistia.com/medias/pjs8o2aj6j

没法预览的话,点击这里看视频

另外,推荐这本 《Android 应用安全防护和逆向分析》,刚出的没多久,写的比较全面,推荐给大家,书里没提及 Frida ,大家有空可以自己研究研究。

补充:评论区有位开发者写了一篇更为详尽的文章,描述如何动态调试任意 Android App,欢迎大家点过去看看。https://ldmf.net/archives/44.html

PoW,PoS,DPoS 综述

本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
阅读本文需要部分区块链基础,建议通过 《区块链理论学习指南》开始学习。

工作量证明(Proof of work)和 股权证明(Proof of stake)是区块链理论研究中重要的两个概念,也是区块链最核心的一部分。本文将对这两个理念进行详细介绍。

区块链本身就是一个分布式账本,既然是分布式账本,那么必然存在以下两个问题:

  • 如何在去中心化的网络中建立时间序列的概念
  • 当有多个节点完成记录交易的时候,应该采用谁的记录方案作为共识账本中

目前,PoW,PoS 以及 PoS 优化方案成为了解决这两个问题的一些主流方案。

PoW

PoW 通过让每个节点,在准备提交下一个区块 $ B $ 之前,强制规定在区块 $ B $ 中插入一个数 $ nonce $,使得:

$$ H(B) \leq m $$

上述公式中,$H $ 是某个哈希函数,$ m $ 是某个极小的实数,由哈希函数的性质决定,想要找到符合条件的 $ nonce $ ,就必须通过穷举 $nonce$ 的方法来实现。通过调整 $H$ ,$m$ ,就能控制网络中节点,对于每个区块提交的时间窗口的期望。

在 PoW 机制下,由于找到符合要求的 $nonce$ 期望时间是可以调整的,因而构建了去中心化的时间序列机制。同时,也解决了无中心多节点的结果决策问题,即,整个网络采用最早找到合法 $nonce$ 的节点提交的数据。

PoS

在 PoW 机制中,由于想要找到符合条件的 $nonce$ 往往需要花费大量的电力和时间成本,因此,为了使每个 Block 更快被生成,PoS 机制去掉了穷举 $ nonce $ 这一过程,继而采用以下更快速的算法:

$$ H(H(B_{prev}), A, t) \leq balance(A) m $$

  • $H$ 依然为某个哈希函数
  • $t$ 为 UTC 时间戳
  • $B_{prev}$ 指的是上一个区块
  • $balance(A)$ 代表账户 $A$ 的账户的余额
  • $m$ 依然代表某个认为定义的数

等式左边,唯一可以不断调整的参数是 $t$,等式右边 $ m $ 是某个固定的实数,因此,当 $balance(A)$ 越大,找到合理 $t$ 的概率越大。网络中,普遍对于 $t$ 的范围有所限制,如可以尝试的时间戳不能超过标准时间戳 1 小时,也就说,一个节点可以尝试 7200 次,来找到一个符合条件的 $t$,如果找不到即可放弃。因此,在 PoS 中,一个账户的余额越多,在同等算力下,就越容易发现下一个区块

DPoS

Delegated Proof of Stake(委托股权证明) 是 PoS 的进化方案,在常规 PoW 和 PoS 中,一大影响效率之处在于任何一个新加入的 Block,都需要被整个网络所有节点做确认。DPoS 优化方案在于:通过不同的策略,不定时的选中一小群节点,这一小群节点做新区块的创建,验证,签名和相互监督,这样就大幅度的减少了区块创建和确认所需要消耗的时间和算力成本。

PoS 潜在攻击方法

账本分叉问题 ( Nothing at Stake Problem )

在 PoW 机制中,当账本出现分叉时,对 PoW 这种算力敏感的算法,矿工必须选择一个方向进行挖矿。而在 PoS 这种算力不敏感的时候,PoS 矿工往往会两个方向都挖,以争取实现利益最大化。当多数矿工都在两条链上一起挖矿的时候,就会很容易出现双重支付攻击。

冷启动问题 ( Initial Distribution Problem )

PoS 机制中,由于持币量会对挖矿难度产生影响。因此,当一个基于 PoS 体系代币系统启动时,就会面临早期获得代币的持有者,没有动力去花费或者转移代币给第三方。同时,持有越多的币,越容易挖到矿,这样就产生了代币初始流通性问题。

解决方案:早起几个版本,通过 PoW 机制来创建货币,而非 PoS。由于 PoW 本身的性质,矿工在挖矿过程中往往需要资金来升级硬件,所以会让矿工手中的币流通起来。

长距离攻击 ( Long-Range Attack )

PoS 中,产生每个 Block 的速度相对 PoW 快了很多。因此,少数不怀好意的节点会想着把整个区块链共识账本全部重写。这在 PoW 中是经典的 51% 问题,即:当某一个节点控制了 51% 及以上算力,就有能力篡改账本,但达到 51% 算力是件极其困难的事情。而在 PoS 中缺乏对算力的约束,那么就存在潜在可能篡改账本。

解决方案:同步时,限制最大能接受的分叉节点数量。

贿赂攻击(Bribe Attack)

贿赂攻击流程如下:

  1. 攻击者购买某个商品或服务
  2. 商户开始等待网络确认这笔交易
  3. 此时,攻击者开始在网络中首次宣称,对目前相对最长的不包含这次交易的主链进行奖励
  4. 当主链足够长时,攻击者开始放出更大的奖励,奖励那些在包含此次交易的链条中挖矿的矿工。
  5. 六次确认达成后,放弃奖励。
  6. 货物到手,同时放弃攻击者选中的链条。

因此,只要此次贿赂攻击的成本小于货物或者服务费用,此次攻击就是成功的。相比之下,PoW 机制中贿赂攻击就需要贿赂大多数矿工,因此成本极高,难以实现。

币龄加和攻击 ( Coin Age Accumulation Attack )

在最早的 Peercoin 版本中,挖矿难度不仅与当前账户余额有关,也与每个币的持币时间挂钩。

$ H(H(B_{prev}), A, t) \leq balance(A) m Age(coins) $

这就导致,部分节点在等待足够长时间后,就有能力利用 Age 的增加来控制整个网络,产生非常显著的影响。

解决方案:限制 CoinAge 的最大值。

预计算攻击 ( Precomputing Attack)

当 PoS 中的某一节点占有了一定量的算力后,PoS 中占有特定算力的节点,就有能力通过控制 $ H_{prev} $ 来使自己所在算力范围有能力去计算 $H_{next}$。

$$ H(H(B_{prev}), A, t) \leq balance(A) m $$

PoW 和 PoS 对比

攻击方法 PoW PoS DPoS
短距离攻击(如贿赂攻击) +
长距离攻击 + +
币龄累计攻击 + +
预计算攻击 +
DDos 可能
女巫攻击(Sybil Attack) + + +

总结

从功能和趋势来看,比特币如果被当做数字黄金的话,PoW 在比特币未来的发展中依旧起着至关重要作用,同时由于历史问题,比特币的 PoW 机制很难被切换到 PoS 中去。

但对于其他以实用功能取胜的区块链项目而言,从经济效益,共识速度而言,PoS 或者 PoW/PoS 混合模式将会是未来的主流共识方案。

如果感觉写的对你有帮助的话:
通过 Bitcoin 打赏: 1QD9entYzxbJKUL97S9ip4YqqJeQvQa8Ej
通过 Ethereum 打赏:0xdbd92588811c76a7a0CD22f45217Df1926B0709D

从投资角度看待区块链

ICO 火爆的背后充斥着鱼龙混杂的区块链项目,在峰瑞内部,我们也做了很多区块链相关的研究、分享和讨论。内部讨论和思考最多的是:1)区块链解决了什么问题 2)区块链技术更适合哪些场景。

区块链从表面来看,是不可篡改的去中心化数据库,再深层次来看是去中心化的信任体系,简单总结而言,一个优秀的区块链项目,应该具备以下一些特质。

链生资产

链生资产所对应的反面,是指尝试将现实资产映射到链上。这件事情是可以实现的,但多数是没有太大意义的。因为资产上链这一过程,所面临的问题依旧是个传统问题,依旧需要中心化的机构来做信息可信性验证。因而区块链所扮演的角色就成了分布式数据库的角色,从效率上而言,又无法超越传统数据库,与其如此,倒不如用一个传统数据库方案。

信任是效率本质

链生资产的基础之上,区块链效率的本质在于充分利用区块链的信任体系,打破个体之间建立信任的成本。尽管区块链方案的执行速度,由于分布共识的原因,多数是慢过传统架构的,但是从信任效率来说,如果区块链不是唯一一个可以做这件事的方案,那么这个项目就没有什么价值。所以不要尝试去挑战目前传统意义效率优先的工具,比如 IM 即时通信工具。

把资源变成资产

比特币是把信任变成了一种资产,所有挖矿的矿工,只要自己好好表现,不去欺骗网络,自己就能得到应得的比特币作为奖励。试想没有区块链之前,你需要和一个合作伙伴做生意,建立信任的成本是很高的,更何况,一个人或是一群人对你的信任不论是信任建立,还是信任消亡,都是需要一个反馈周期的。在建立和消亡的过程中,生产力是受到限制的。而在比特币区块链网络内,信任成为一种热插拔式的方案,信任建立和消亡的反馈周期被大幅缩短,同时任何人转变角色是不会遭受历史包袱的(设想现实中,一个犯罪过的人,即便真心想做个好人的难度),也在某种程度上提升了可用劳动力。

案例分析

负面

  • UIP:构建所谓『未来版权,开启个人IP共享时代,该交易平台可为艺术工作者提供文娱作品版权存证、IP 和 IP 衍生版权去中间人交易、IP 创作众筹以及未来的 IP 版权共享等服务。』,文娱作品版权存证这件事情,就是把链下资产(如文学作品)搬到链上的过程,这个上链过程,无法通过去中心化的方案证明提交者拥有作品本身版权,如果想要证明,就又回归到一个传统的中心化机构(如:国家版权局)所正在做的事情。所以整个链,完全就是脱裤子放*,纯粹炒概念罢了。

正面

  • ugChain: 尝试打通游戏间帐号体系,同时建立账号之间游戏资产兑换(比如:用王者荣耀金币兑换皇室战争金币)。本身金币就是链生资产,同时解决了企业间合作过程中的信任问题,个人认为是个非常不错的 idea。
  • ipfs(Filecoin):过去一段时间大热的 ipfs,把我们曾经闲置的硬盘和带宽从资源变成了资产。IPFS 之前,P2P 文件共享已经非常普遍了,但 P2P 的核心问题在于,P2P 并没有将其视为资产,更多的是一种无偿的分享精神作为网络支撑。人是逐利的,P2P 在 IPFS 面前未来可能难以生存。

因此,对于一个优秀的项目,应当从以上三点进行整体评估,不过也有一种项目形态在于协议优化。这种区块链项目更好理解,但也需要更多的技术基础。比如:Monero 强化了比特币区块链本身交易的不可见性,使得每次交易匿名性更好,因此是个值得投资的项目。

大家日常在 ICO 过程中,也应当充分考虑项目本身的质量,越是有价值的项目,越是符合以上几条,不得不承认,ICO 给了『穷人』暴富的机会,但是最终泡沫破裂后,优秀项目的代币才是最有价值的资产。