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

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

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

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


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

blockchain-cryptocurrency-ilovepdf-compressed-compressed


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

勘误:

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

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

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

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

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

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

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

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

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

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

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

工作量证明(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 给了『穷人』暴富的机会,但是最终泡沫破裂后,优秀项目的代币才是最有价值的资产。

本文禁止任何形式的全文粘贴式转载,本文来自 代码家 的博客
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 机制,因此这方面推荐的论文如下:

  • POS vs POW:这篇主要描述了两种共识机制的方案差异。
  • Proof of Stake FAQ:以太坊创始人 Vitalik 撰写的 POS 机制的一些细节描述。
  • Plasma:下一代以太坊扩容自治方案,里面提到了 POS 部分。

所需理论基础

区块链背后依赖的是密码学共识算法、和博弈论

密码学

目前整个区块链网络更倾向于安全性更高的椭圆曲线方案,也包含一些常规的摘要、加密、密钥交换算法。如果没有密码学基础,买一本书,看 Paper 的时候不懂的地方参考参考即可。密码学中也涉及一些抽象代数学科的内容可以买本书也作为参考。

共识算法

共识算法的核心抽象是拜占庭将军问题,相关的文章论文非常多,学习过程中多搜索多看即可。拜占庭将军目前解决方案较为成熟的是 PaxosRaft 算法。

博弈论

博弈论在区块链的设计中起着非常隐性的核心作用,其最终目标是如何让网络达到一个平衡,坏人没有动力使坏,好人会努力维护网络。

总结

学习区块链理论部分需要非常多的耐心和毅力,去了解很多理论细节,网络协议的设计往往都是最有挑战的事情,工程实现并不是最难的。因此如果对区块链非常感兴趣的话,一定要准备好下苦功夫,后面我还会写一些相关博文,从更多的角度详细介绍区块链的理论部分以及深入到代码和工程中去探讨区块链。ICO 的火爆只是一群骗子(大多数都是)的狂欢,迟早爆炸,而后面大浪淘沙,优秀的项目需要更多区块链人才,所以快去做好准备吧。

如果有兴趣和我交流,欢迎加我微信:daimajia,如果文中要不正确的地方,欢迎斧正。

通过 Bitcoin 打赏: 1QD9entYzxbJKUL97S9ip4YqqJeQvQa8Ej
通过 Ethereum 打赏:0xdbd92588811c76a7a0CD22f45217Df1926B0709D

那些真的热爱写代码的开发者,即便在工作之余也是停不下来的。研究新语言,创造新的库抑或是去做一个小的业余项目,帮助解决问题或是纯粹的赚些钱。

我也是那群闲不下来的人之一,利用业余时间做了 Gank.io,做了 Waibao.io,开发结束后,每天基本只用投入 10 – 20 分钟时间维护内容就好了,坚持做这件事情的成果也十分显著。一来邮件列表里聚集了 1万 多号优质的开发者,二来 Gank 的 Api 也成为很多人用来做开发的服务端数据标配,GitHub 上目前大概存在 800 多个 Gank 的第三方客户端。也算是个不小的成就。最最深刻的是让我意识到了坚持做一件事情的意义和价值。

技术最大的价值是解决问题和需求。哪里有问题和需求的存在,哪里就有技术伸展的空间,就有盈利的机会,今天想分享些自己对于技术人员业余项目的一些总结。

对于一个面向开发者而言的业余项目来说,可以分成三种:解决问题型制作内容型灰色产业型

解决问题型

解决问题型好理解,当你看到一个生活周边普通朋友使用电脑或手机时,如果遇到的一些重复性或者技巧性的问题时,动动脑筋,他们的这些问题能不能用技术解决,如果可以的话,去尝试着做一个业余项目。举几个例子:

  • Park.io : 一个帮助你抢 io 后缀域名的网站,每个月目前收入有 13万美金,真的是一个人的项目哦,很不错吧。
  • 视频音频转换器: 一款很普通的 Android App,帮助用户做视频音频的格式转换,每个月收入有 3000美金。
  • Weather Extension:一款纯粹简单的浏览器天气提醒插件,每月收入有 1万美金。

目前就我所知的最厉害的解决工具型产品案例是 http://www.youtube-mp3.org/ ,一款把 Youtube 视频转换成音频的在线工具。需求蛮奇怪的对吧,只有一个简单的页面,但是你会发现他支持几乎所有国家的语言,再细细研究会发现这个做的很丑的网站居然是 Alexa 前 500 的网站,每天 UV 和京东一个数量级。经过一番研究我发现它的逻辑其实是这样的:每次新音乐上线,发行方都会在 Youtube 放上公开的 MV,让大家试听购买,但是事实是多数用户想在 iPod 上听却不愿意花钱买,那这个网站就把 YouTube 的音乐提取出来咯,一不小心就这么流行了,每天收入可能在 5万-20万美金级别,很厉害吧。

解决问题型的业余项目从工具出发会是个很好的开始,毕竟工具相比于内容来说,并不需要每天持续输出,只需做程序员最擅长的就好了。

另外,思路可以放宽一些,工具不要局限在 App 和 Web 上,也可以是 WordPress 主题和插件、Chrome\Safari\Firefox 插件、WeChat\Line\iMessage 收费表情包等等,只要用户忠诚,产品好用,铁定是有用户愿意付费的。

制作内容型

制作内容其实是个相对麻烦的事情,但是也是有很多技巧的。

首先得想明白自己制作内容的初衷是什么,是为了纯粹的发表自己的看法,分享见解(类似湾区日报、利器、Gank 等)还是单纯的为了赚些钱。如果不涉及赚钱,就简单很多了,这里不多讲。如果决定做个基于内容赚钱的业余项目,先想明白下面的一些问题,再决定开始:

  1. 你擅长的领域是什么
  2. 你每周能否保证更新频率
  3. 想立足的盈利模式( Google Adsense?微信公众号赞赏?百度百家分成?等等)
  4. 是否想要独立品牌

微信公众号打赏或者接广告之类的模式就不提了,都烂大街了,而且难度与日俱增,因为微信用户对于内容的质量要求日益增高,同时由于其封闭的特性,搜索引擎派不上用场,导致多数内容被看到的可能性大大降低。同时赚钱渠道狭窄,打赏和企业赞助都需要很深的用户基础。Google Adsense 也不提了,只要 UV 足够大,方向比较专(比如美食博客、资讯博客等),赚钱还是比较轻松。

我想分享几个多数人并不熟悉,但却比较直接,模式固定,容易切入的一些赚钱方法。

那就是 Affilicate Program(联盟计划),听起来很高端,其实就是最传统的推广返利,发布商约定好某个产品的返利比例,你通过自己的内容渠道导流到发布商网站,当发布商达成销售或约定目标后,实现收入返利。就类似介绍客人来消费,你拿走一定比例的客人消费金额一样,简单粗暴效果好,毕竟整个 web2.0 其实都是为有能力创造收入的企业服务的(非盈利组织除外)。

看几个案例:

  • matthewwoodward: 一个独立的工具评测分享博客,通过 Affiliate Program(中文叫联盟计划,有点像淘宝客返利) 赚钱,每月有 3万美金左右的收入,之所以我能知道他的收入情况,是因为作者每个月都会公开自己的收入组成,很有意思,而且很涨姿势。大家在网上看到的很多 VPN,主机,CRM 软件,各种在线工具的评测,很多其实都是联盟计划的推广,一旦有用户点了你发布的链接注册并付费使用了你评测的服务,服务商就会返利给你。
  • 大疆联盟计划:当你通过自己的内容平台将潜在顾客带向大疆网站并成功销售出去一台大疆无人机,大疆就会给你返利喔,每月收入最多的账号有 24万美金。这就是为什么那么多人去评测大疆、分享大疆视频了。同理也有京东的联盟计划,可以挑选京东商城里比较火热的一些商品在你个人的内容创作平台上做推广,达成返利赚钱。

其实多数网站都有联盟计划,比如微软Apple ,查找技巧就是搜索 品牌名 + Affilicate program 关键字。当知道自己擅长的领域后,寻找一些这个领域支持联盟计划的品牌,以评测的角度来做引流,从而实现内容变现。

灰色产业型

hmmmm,这个方向也是相当有意思,但是要写的太多,另外有些敏感,如果大家对这个兴趣很浓,欢迎在下面评论,请求的人多了我再写吧。

大致先写这些,如果对其中的方向有兴趣的或者有一些独特的我也不熟知的方向,欢迎留言评论,或加我微信讨论:daimajia,其实 web2.0 下的业余项目机会还是很多的,毕竟搜索引擎是可以低成本抵达任何地方的枢纽,创造了很多可能。

另外,最近一直在医院陪床,夜里时间比较充裕,白天反而都在睡觉,所以可能回复比较晚,还请见谅。😴

先写到这里,期待下篇吧。

我运营一个技术分享站点已经两年了,为了能够每天分享出优质内容,写了一个爬虫程序,每天去抓取新出的 GitHub 项目,然后分门别类,根据 Star 数,文档完备度以及时间衰减来对一个新的项目来打分,目标是找出最近即将火起来的优质项目。

去年每天都有不少国人的优秀项目冒出来。但今年,寥寥无几,我一度以为我的爬虫程序出问题了,再三确认后,我接受了现实,我也花了些时间去想这背后的原因。

不得不提的是,自打知乎 Live,微博问答这种东西火了以后,很多技术人都急急忙忙去变现了,丢下 GitHub,丢下自己辛苦书写的博客,丢下对技术深钻研究的态度,开启了对技术新手们一波又一波的收割。付费的知识开始变多了,停留在知乎 Live 里,停留在小密圈里。那些所谓的技术大 V 们,每天从一个直播间转到另一个直播间,尽管在粉丝眼里,你是他们眼中的大 V,大神,但在我眼里俨然像一个疲于奔命,四处走穴的三线艺人

现实是,三线艺人多数一辈子都是三线艺人,疲于奔命赚到现钞,停止了技术的孜孜探索,就这么一直消费着自己残存的名气。

之前,知乎的朋友也喊我去做 Live,我当时欣然答应了,但后来却流产了。当时主要问题出在选题上,讲简单的吧,其实资料满世界都有,你并不需要花钱来听,你需要的是花心思和花时间。讲复杂的吧,一个小时也讲不了什么,还不如拉个相关的朋友微信群私下讨论。我的确是有些经验可以分享,但这种经验,我确信不是你听完就能吸收了的,都是那些听起来好有道理,实则睡一觉就会忘的东西。

我有时候在想,多数的知乎 Live 不就是《21 天学会 xxx》系列的翻版吗?听众是那些急不可耐的伪学习者,主播是那些满足你懒惰欲望屠夫,你交了钱,便愉快的步入屠栏。至于小密圈,我完全没想明白,你给你的偶像交了钱,进了所谓的圈子,加了他的微信,你就以为你能跟他平等对话了吗?你 Level 没有到的时候,你永远只是他千千万万客户中普普通通的一个;另外,那些圈子里分享的知识,很多甚至不能称作是知识,只是徒增你的阅读和生活压力而已,我为那些钱和你浪费的时间感到不值。

其实,那些参加 Live 的朋友们,你不是学不会,你只是太着急,你想花钱来省时间。这种心态在我看来真的很危险,要知道,会用搜索引擎来快速解决一个面临的问题,也是一个很有价值的能力,你需要更多的思维训练,花更多的时间去打磨你的解决问题方法论,你走的捷径越多,你给自己挖的坑也就越多。

经济学里,人是逐利的、短视的,而历史证明,最终人会为自己当初的短视付出惨重的代价。所以,那些每天在线上营销自己的技术人,请回归到技术本质,去做更多有意义的研究和创造,把 Live 里那些科普工作交给线上的慕课来做吧,你其实能够创造更大的价值,几万块的 Live 钱,真的只是在耽误你自己而已。

另外,之前那些老把我喊成技术网红的朋友们,不要再这么喊我了,你这么喊,我会觉得你是在骂我。

前两天,看到湾区日报推荐了一篇文章,名为:「What it feels like to be an open-source maintainer」,做开源项目维护者是一种什么样的体验。里面作者提到一些让他非常不爽的开源体验,读过之后感同身受,也很想写一些自己的开源经历。

如今的开源世界,有两个重要的参与者,一个是类似 GitHub 这样的做工具的企业,另一个是所有愿意开源代码的开发者。GitHub 如今已经功成名就,也从开源中找到了盈利的方法,实现了一个相对完整的闭环。但是对于很多的开源代码贡献者来说,生活其实并没有那么美好。

我是比较早参与开源的开发者,那会儿我崇拜 Jake Wharton 的时候,他的开源的项目也只有三五个,GitHub 相比现在来说也没有什么影响力。我只是鬼使神差的想要把自己作的一些小玩意儿放上去,然后去 v2ex 和 Google+ 简单宣传下。反馈还不错,一次次的正反馈后,就努力的去分享更多。看着 Follower 和 Star 蹭蹭蹭地增长是件很激动人心的事情,但慢慢的我的生活好像改变了。

项目的 Issue 越来越多,遇到配置的问题,新的 Feature Request,甚至跟项目毫不相关的崩溃,各种问题一大堆,也会有人不断的给我单独发邮件提问,有的忘记回复的甚至会追到 Instagram 上发私信问我。

这一大堆的 issue,真的就跟你的家门口排着一排人,在敲门问你问题。你经常得花半个小时的时间,去搞清楚一个 issue 的原因,你得花另外一个小时去解决这个 issue,然后发布新的版本,还需要继续追踪问题,完全正常了才能关闭 issue。一般两三天解决一个 issue 是件常有的事情。

最最最痛苦的事情,开源是件完全不会获利的事情。

工作以后,不论时间还是体力都不足以支撑我完善那些开源项目。我有时候会畅想开源项目爱好者,未来能够在家里全职做开源,又能有钱让自己生活下去,但我并没有想到一个很好的形式,靠打赏吗?简直天方夜谭。

不过得承认,开源给我带来了不少社区的认可,给我带来了微博的粉丝。但是多数开源开发者,其实什么也没有得到过。在默默的付出,却没有人记得,甚至看到。

我有时候跟朋友抱怨,总是会用「割肉喂鹰」来形容开源的生态。不断的牺牲自己的时间去满足那些吸血鬼们的需求,自己内心得到了所谓的满足,前期考验你的技术,后期考验你的体力

开源社区有这几类人总是会很让开源开发者十分讨厌:

  • 没有眼色的自私鬼:这种人总是会在英文的项目中,提出中文的 issue,或是用中文去扰乱秩序。你 百度翻译一下,很难吗?你不去做这些事情,就得项目的维护者去帮你翻译你的 issue。
  • 不会提 issue 的蠢货:这种人,总是在 issue 里丢一句:「魅族手机有 bug」,连堆栈的信息都没有,What?你是要我们通过意念去远程 Debug 吗?
  • 看一下 Wiki 会瞎:这种人呢,从来不想认认真真读一下 Wiki,遇到小问题,就发个 issue,然后谎报 Bug,你费了好大劲,才发现是他没有按配置去操作。
  • 以为自己是甲方:总是用命令的口吻去像你索取。

最让我难过的,是那些毒舌的过客,他们集成出现问题,就开始说出令开发者伤心的话。比如:「这个作者不更新了,大家别等了」,「hey,楼上的,我换用另一个库了。」这种人,从来没有想过要去帮助某个开源项目,开源对他们来说,只是多了一个工作中偷懒的办法而已。

我一直都希望 GitHub 能够提供一个双向反馈的机制,能够让项目维护者,也去评定一个 issue 的质量,从而给发 issue 的人打上标签,让项目维护者,有能力去屏蔽掉那些总是在浪费其他人时间的吸血鬼。

当然,最最重要的,还是希望能有一套完美的体系,让开源项目的维护者,能从中赚到生活费,踏踏实实的继续从事这项工作。

哦,对了,吐槽归吐槽,未来我还是会继续开源的,就跟女人生孩子一样,痛并快乐着吧。

我一个好朋友,他在一家国内较大借贷平台做前端工程师,每天五点起床,早早的到公司,开始读一些经典的前端类的书籍。起的这么早的动力是觉得自己还没能够掌握前端的很多细节,真正在做开发的时候,依然会忘记之前看到过的东西,总是下意识的告诉自己:『可能我还处在入门水平』。

长此以往,起的越来越早,中午同事休息联机玩儿手游的时候,也不放过时间去看书,压力也随之变大。开始否认自己在转行前端之前的时光,感觉都被浪费掉了似的,越是如此,越是无法挣脱,逐步的走到死胡同中,彷徨,痛苦。

他很痛苦,希望我能提些自己的看法。

我想,很多人都曾有过这种时光。就好比高考前的各种模拟试题一样,总有一种人,喜欢在做模拟试题前,把整本书都先过一遍。这样真的有意义吗?我认为回报是很小的。因为你定了一个有些迂回和逃避性质的目标。当入门阶段已经走过以后,你没有必要再从头开始,这是一个会浪费时间、消耗体力的目标,只会让你丧失学习的动力,因为你不再会有比第一次学会更强的正向反馈了,当你耗费大量时间和体力过了一遍以后,依然无所得,这是多么令人挫败的一个过程啊。

那问题来了,一旦入门后,如何得到一个更有激励性质的正反馈呢?

依然是定一个目标,定一个你从未尝试或达到过的目标,让新的目标去刺激你的多巴胺和肾上腺素,让你对某一个东西、技术产生持续的亢奋,从而无形中成为终生学习者。

对于技术人来说,新的目标可以是做一个解决自己生活中遇到问题的小产品,努力做到 1000 日活,做一个开源项目,努力得到 1000 个 Star,做一个小工具,努力赚到 1000 人民币,做一个小社群,努力拥有 1000 个注册用户,或者开一篇博客,写一个公众号,努力做到 1000 阅读。

这些都是可以成为刺激你的下一个源泉。很多很能折腾的人,总是在持续不断的折腾,就是因为他们总是在不断的接收正反馈,他们在不断的认可自己的过程中。

不要因为别人说一本书好,或是一篇文章,一类技术好,就去学它,其实根本没有必要,因为你学它的动力其实是伪动力学有所用才是可能持续学习的动力,主观的坚持不是可持续的真正动力。

我其实一直是很不主张去读其他人的技术文章,至少大多数技术文章都是对你无益的,读的越多,你越是会产生彷徨和焦虑,感觉自己没有成长,缺少自信。缺少自信的表现是你会恐惧未来遇到的新问题,你还是得大量依赖搜索引擎去读几百篇博客去解决一个问题,你没有自己真正的独立思考,你只解决了一个眼前问题,你没有办法套用到千千万万个问题上,你无法亢奋自己的神经,而产生持续的学习和研究欲望。

大量读别人的文章,其实你也无法得到一个独立解决问题的方法论,你会滋生思想的懒惰,很多美好的事物和机会,也会和你擦身而过。

有的时候,读其他人的技术文章也会让自己产生一种诡异的满足感,你会感到我貌似很多东西都会,只是有些不熟罢了,真的如此吗?

举个自己的例子,我当初在准备炒股票前,在雪球上读了很多文章,还专门把牛人们分成了一组,感觉自己差不多了,随即开户砸钱进去,但直到真正开始操盘的时候,这种我已经学会了的错觉,让我赔了不少。有时候就跟你看了一百篇某个技术点的技术文章,真的开始写的时候,什么也想不起来,又得打开一篇,照猫画虎做完,却发现崩溃了。WTF。其实你并没有学会。

我主张你去看原始的资料,主张你去读系统的书籍,主张你去研究官方或是优秀项目的源码。这些都是一手资料和优质 Demo。这才是真正的方法论,Google 是不会给你带来安全感的

而且很多复杂的东西,其实很难用一篇博客文章写清楚。越是清楚其中逻辑和原理的人,反而越是很少写技术文章,一来因为这些技术人感觉还有很多东西要研究,复杂问题写起来总是长篇大论,依赖知识也非常多,写起来麻烦。二来,研究到这些复杂东西的人,往往已经掌握了方法论,也不需要读这些文章,非要写一篇文章的话,只用只言片语提及思路,便够了。

如果你在入门阶段,你读什么都可以,如果你想要有些突破,就按上面三条方法来吧,一定让你有所收获,如果你想有更大的突破,那就先给自己定个从未达到过的目标。

最后,花些时间娱乐,不要总是那么紧张,生活也是很大的一门学问。

正如 文明VI 中提到的一句名言:

那些没时间娱乐的人,他们的时间会花在生病上。——约翰 沃纳梅克


去年读了一本很有意思的书,书名叫《超越文化》,作者是爱德华·霍尔。他将自己的一生投入到了跨文化的研究上。

书里提到了一个很有意思的概念:语境(context of culture)。读的时候觉得很有启发性,随即想分享给大家。

语境是什么?

语境就是双方聊天时,共同了解的信息量大小。举个简单例子:你给一个美国人讲一个中国段子,他必然是听不懂的。因为他没有文化背景,你们没有这部分的共同知识,术语一些来说,就是你们的语境不同

高语境和低语境

爱德华·霍尔将语境分两种:高语境和低语境。

高语境多数是那些文化底蕴很深的国家,比如中国,印度,日本。而低语境普遍是那些多民族国家,如美国,澳大利亚,英国。

文化底蕴越深的国家,越是讲究文化上的约束,礼教的管制。清朝的礼部尚书,那可是从一品的大官,位居九品十八级的第二级,相当于现在的文化部部长,古时候主管礼仪、祭祀、宴餐、学校、科举等。

而由多民族组成的国家,想要统一管理美国白人黑人黄种人的文化,简直是件不可能的事情,故而美国一直没有一个叫文化部的部门。如果你去过拉萨或者新疆,你或多或少也会有所体会。

小时候过年摔碎杯子,如果不说岁岁平安,一定是会被父母批的。试想如果你在低语境国家,碎了杯子还要叨咕一阵,对方一定会觉得你很奇怪,也有可能会被误以为是在念咒语。

另外,高语境国家说话更委婉,有时甚至用表情,动作,眼神来传递信息,因为大家相互之间存在着大量的共有文化,传递信息的方式从语言升级到了文化暗示。

而低语境国家,由于民族多样性,以及人群的高流动性,导致在发展的过程中,积累的共同文化相对较少,传递信息的主要方式依旧来自语言。情感会更外露和直白(含蓄了对方可能会搞不明白)。

所以很多做翻译人员在翻译中国文字的时候很痛苦,因为中国话总是旁敲侧击,充满暗示,如果直白的翻译给低语境文化的听众,对方会非常迷茫。

高语境的国家,更注重团体和谐,更考虑团队对方的感受,也更在意自己不会被边缘化。日本就是这种语境的典型,每天即便活儿再少也要努力安排到下班,如果其他同事要加班,自己也会把活故意留一些到晚上,陪着同事一起加班,即便觉得部长挺好的,也会在同事聚餐上,和同事们一起道部长的不好。

而在低语境国家,更多的是以任务为中心(Task Centered),这也是美国个人英雄主义的一大来由。

不知道大家有没有一个感受,就是老外很喜欢用日历来安排自己的事务,而且往往井井有条,而中国日历类的 App,却很难习惯的用起来。

在高语境中,听得一方往往承担着更大的压力和责任。而低语境双方责任较为平等。想想每次人大会议结束后的种种解读你或许能够有所感觉。

低语境国家更容易产生民主制度,而高语境国家更容易产生民族主义

为什么高语境文化难以输出

中国前几年一直在提:“弘扬中国文化,防止文化入侵”。在我看来其实文化入侵是不可避免的事情。低语境文化天生就具备传播性,因为他更为直白,且不需要听众需要额外的知识。

高语境文化可以轻易理解低语境的语言部分,尽管会有些文化上的难以适应,比如老外经常把我爱你挂在嘴上。但是低语境文化,可能连理解高语境文化都很难做到。你能想象到老外看到甄嬛传里一个 Queen 在拿着针扎布偶娃娃时候的一脸懵逼吗?

其实有时候想来,很多文学类国际大奖并不公平,多数都是更偏袒低语境文化的。

低语境好还是高语境好

这个很难笼统的说谁优谁劣。从文化角度来看,高语境更具有沟通效率,但从执行事务的执行角度来看,似乎低语境更容易把每个环节做的更好,从事人员的方向不会被被类似高语境的暗示所迷惑,而误入歧途。

懂得语境,减少犯错

其实我们生活的周围,也大致可以分为两类人,一类是偏高语境者,另一类是偏低语境者。在与不同类型的人沟通的时候,一定要更注意言行,防止对方产生误解,双方出现矛盾。当然做产品也是。

以上都是我的一些个人观点,如果有错误或者待商榷的部分,欢迎大家在下面评论发起讨论。