[EN/CN] 十年期 Fiber - 观 Nervos 一角 / Ten-Year Fiber - Inside a Corner of Nervos

十年期 Fiber - 观 Nervos 一角

English Version

本文是我的个人博客,不代表任何组织。


「Fiber 是未来十年的计划。」

我坐在椅子上,盯着天花板。屋里,只有从电脑屏幕溢出来的白色光晕,随着网络那端的人说话不断闪动。

「我们是小组织,需要全力去做成一件事情。」

参会者们将列表的滚动条挤成了一小块。划着斜杠的麦克风在名字旁排成一列,注视着那唯一的声音。在我看不穿的圆形面具背后,其他人在思考这些重量级的信息吗?在埋头用纸笔来整理思绪吗?还是听着耳机里的声音在做其它事情?

回到二零二二年的四月,那时我刚筹够手术的开销。从现在往回看,那显然是过去人生最重要的转折点。但当时的我面前矗立一个巨大的现实问题:

我要怎么将订金支付给位于境外的医院?

正值肺疫肆虐,社会秩序虽然没有崩塌,但建满了无形的墙。在住处附近的几家银行吃足闭门羹后,我被告知以国家命名的那家银行也许可以处理我的请求。

门口的保安举起测温枪,对准我的额头扣动了扳机。

「滴。」

屏幕上亮起代表安全的绿色,他挥挥手,合格品得以通过。尖锐的蜂鸣声很快刺进耳朵,催促我坐到玻璃窗前。

「要办理什么业务?」

柜员的眼睛盯着屏幕,机械地索问我的身份,索问我的意图,索要收款方的证明。无论尝试过多少次,在我向别人解释自己的人生决定时,喉咙偶尔还是会将吐出来的词夹住。

敲击键盘的声音、翻动纸张的声音和请示上级的声音,然后是柜员的最终裁决飘过指节厚的防弹玻璃:

「抱歉,我们处理不了。」

自打那时,我认知里的法定货币沦为了随时可能失效的兑换券,再也承担不起「资产」二字的重量。直到两年之后,我才找到了这个世界为法币准备的替代品。

那是一次展会后的聚餐,餐吧里播放着我喜欢的爵士乐。我要了杯啤酒,挤在一张双人桌旁。椅子很高,四条腿中间都有横着的杆子,让我支撑碰不到地面的脚。

「Nervos 是什么东西?」展会上的人们总是会这么问,就像上一个人一样。我遵循肌肉记忆,说出的句子不过是对传单的摘要。反正他们的眼光也只会停留在传单上,尝试用对股票的理解来解释加密货币是什么。

好在,此刻坐在我对面的不再是那些漠不关心的脸,而是钱包团队的负责人。大概是出于健康考虑,他和生态里大多数人一样,都对酒精敬而远之。不过,缺乏酒精也不妨碍他是个健谈的人,以至于他偶尔还会在社交媒体上健谈过了头,引起社区一片争议。

他清楚外界对他的评价,自嘲了一番,引得我们一阵哄笑。不过,从他分享的内容听来,投资人对他的评价似乎并没有受到影响。

「他们试过就知道了,」他的语气像是在科普自然现象:「我们为什么想做支付网络。」他转向我:「你也应该试试。」

暖黄色的灯光照在他的脸上。他盯着我,用嘴唇和眉毛催促我拿起手机。经历完被摧残的一天,我自然没理由拒绝他热情的请求。只是我很好奇,在不断重复同一句话后,他怎么还能露出如此丰富的表情。我点开刚下载好的钱包,将手机拿在手中,收款二维码朝上,平行于桌面递到他面前。

下一步该做什么?在我反应过来之前,收款成功的绿色对勾,已经显示在了我的屏幕上。

「原来加密货币也能有这样的体验」冲刷着我的大脑。那一刻,暖黄色的灯光、爵士乐的旋律、就连对面的那张脸都变得模糊起来。视野里只剩下这个绿色符号,仿佛在嘲笑着曾经那个在银行碰壁的我。这种惊艳,恐怕只有人类第一次看见纸币变成电子信号的瞬间,才能够相提并论。

当我回过神来,他对我的反应很满意,脸上的笑容更明显了。

Fiber,构建在 CKB 上的支付网络,没过多久就进入了测试阶段。「为了降低对开发者的门槛,Fiber 需要 SDK」,在每周的同步会议上,我和同事们分享了这个决定。

「好啊,这太有必要了。这样开发者才能用上 Fiber 做出东西来。」没有滚动条,麦克风图标却在轮流闪烁。

对于工作数载的程序员来说,包装 SDK 通常是件乏味的工作。照着文档将定义逐个包上代码的外壳,哪怕视线不离开播放视频的窗口,也能拼凑出一个得以交差的空壳。

过去五年,在 CKB 的荒原上,那些薄到透光的廉价布袋,不知道托付了多少开发者的真心和热情,然后刺啦,重重摔到地上,沾满污泥。直到我们从头开始,一针一线为 CKB 缝制了新的 SDK。

我盯着那些十六进制的字符,感到眩晕,眼前的屏幕被雾气笼罩。仔细计算长度,预留足额的 CKB 来容纳数据;逐个检查现有的面额,直到凑够输入;将找零塞回输出里,还得记得为新增的数据计算手续费。

「A 对 B 转账 100 CKB」,如此简单的事情,我却要像斤斤计较的会计,在底层代码里一步步凑出交易来。

错误码从来不会告诉我为什么。它只是冷漠地从 -12 变成 -11,嘲讽的嘴脸却没有缓和。我睁着充满血丝的双眼,阅读仓库里多年前的历史代码,试图弄明白为什么它当年能工作。

我们能够避免 Fiber 重蹈 CKB 的覆辙吗?

Fiber 不是坚韧的纱线,更像是缠在一起的蚕丝。大部分时候,丝线交错缠结在一起,我们常搞不懂一个活头和另外哪个相对应。我们需要屏住呼吸凑到跟前,观察数据的走向。一条条整理出来之后,我们才能将纤维纺成纱,织成布。

那是漫长的三个月。

我们像裂掉的镜子,把各种事情揉进同个平面:和庞然大物的会议,待办清单上需要补全的基础设施;被带进现实的点子,活动现场好奇的人们;还有冰冷的数据图表,分析人们留在社区的原因。

还有 194。

编号 194,这是 Fiber SDK 代码的合并请求。

每做一次修复问题的尝试,测试用例就会被运行一次,直到报错彻底消失。为了让开发者理解通道的概念,简单的网页上不仅排布着参数和组件,也排布着我们对交互流程的理解。

离彻底完成开发还有很远,但我们有一个不错的开始。代码合并的时刻在向我们招手,本来应该是这样。

「Fiber SDK 的开发工作不归我们管,接下来会由另外的团队接手。」结论不长,却出奇地有力,将牵连的丝线扯断。

我没问为什么。聊天软件的编辑框里,光标闪动,凝视着我们这群成天自我感动的搞技术的家伙。

也是,其实我也没那么喜欢写代码。

我只是习惯了把一件开始的事情做完。程序员们总把编辑器调成深色模式,让屏幕显得不那么刺眼。但那也阻止不了射入眼球的光,蒙蔽了窗外的白天黑夜。

我站起身,久坐的腰越来越容易酸痛。

Fiber 的进展不会因为我们的缺席而停滞。在每周的跨团队会议上,我还能听到钱包团队询问遇到的问题。

「Fiber 节点现在能在浏览器里运行吗?」钱包运行在网页上,他们当然会这么问。

「还不行。」听起来 Fiber 团队的人手没有想象中的那么充裕。

不过,这并没有成为阻碍。几周以后,服务器替用户托管节点的方案成功地在测试网上运行了起来。

再后来,那个钱包团队解散了。官方口吻的公告简短又冷漠,如预期般引爆了社区,但曾经那个健谈的他,却再也没有回复。那台曾在高脚椅上、双人桌边的手机,直到现在,也没能亮起属于 Fiber 的绿色勾号。

Fiber 的进展也不会因为他们的缺席而停滞。好消息是,Fiber 节点终于可以在浏览器里运行了。

「那我们今天就到这里咯。」

语音断开,我例行将会议记录发到了群组,为这出不再有观众的独角戏拉上幕布。

因为长时间无人操作电脑,屏幕自动变暗,直到熄灭。光源枯萎,房间的天花板陷入彻底的黑暗。

山道狭窄,只能容下我和同事一前一后地走。飘落的叶子被我们踩碎,咔嚓作响。聊聊日常生活,聊聊未来打算,最后还是聊到了生态里的大小事上。

「Fiber 不是一个十年的计划么?」我说:「怎么才坚持了一年就没什么动静了。」

他的声音和往常没什么两样,沉稳中带点狡黠的俏皮。他没怎么思考:

「正因为这样,它才是个需要十年的计划呀。」

十年之后,那个绿色的勾号,真的会亮起来吗?

12 Likes

Hi Hanssen, you’re a very good storyteller, that was a great read!

But after that, I’m left with more questions than answers about Fiber’s current and future position…

2 Likes

Ten-Year Fiber - Inside a Corner of Nervos

This piece is from my personal blog and does not represent any organization.


“Fiber is a Ten-Year Plan.”

I sat in my chair, staring at the ceiling. The only light in the room came from the white glow spilling from the computer screen, flickering in sync with the voice speaking from the other end of the network.

“We are a small team, and we need to dedicate our full effort to getting one thing done.”

The participants had squeezed the scroll bar into a tiny sliver. A column of crossed-out microphone icons lined up beside their names, their gaze fixed on the sole voice. Behind those circular masks I couldn’t see through, were the others pondering this weighty information? Were they burying their heads, organizing their thoughts with pen and paper? Or were they just listening to the audio in their headphones while doing something else?

Back to April 2022. I had just raised enough money for my surgery. Looking back from now, that was obviously the most important turning point of my past life. But at the time, a massive reality stood before me:

How do I pay the deposit to a hospital located overseas?

The pandemic was raging. Although social order hadn’t collapsed, invisible walls had been erected everywhere. After being turned away by several banks near my place, I was told that the bank named after the country might be able to process my request.

The security guard at the entrance raised his thermometer gun and pulled the trigger at my forehead.

“Beep.”

The screen lit up green, signifying safety. He waved his hand, allowing the “compliant product” to pass. A sharp buzz soon pierced my ears, urging me to sit before the glass window.

“What business do you need to handle?”

The teller’s eyes were glued to the screen, mechanically demanding my identity, demanding my intent, demanding proof of the recipient. No matter how many times I tried, when explaining my life decisions to others, my throat would occasionally catch on the words I was trying to spit out.

The sound of typing, the rustling of paper, and the voice asking a supervisor for instructions followed, until the teller’s final verdict floated through the knuckle-thick bulletproof glass:

“Sorry, we can’t handle this.”

Since then, the fiat currency in my perception was reduced to exchange vouchers that could expire at any moment, no longer able to bear the weight of the word “asset”. It wasn’t until two years later that I found the alternative this world had prepared for fiat.

It was a dinner after a conference. The bar was playing the jazz I liked. I ordered a beer and squeezed into a table for two. The chair was tall, with rails between the four legs, letting me prop up my feet that couldn’t reach the ground.

“What is Nervos?” People at the exhibition always asked this, just like the person before. I followed muscle memory, speaking sentences that were merely summaries of the flyer. Their eyes would stop at the flyer anyway, trying to explain cryptocurrency using their understanding of stocks.

Fortunately, the face sitting opposite me now wasn’t one of indifferent unconcern, but the lead of the wallet team. Probably for health reasons, he, like most people in the ecosystem, kept his distance from alcohol. However, the lack of alcohol didn’t stop him from being a talkative person — so much so that he occasionally over-shared on social media, stirring up controversy in the community.

He was aware of how outsiders viewed him and mocked himself a bit, drawing a burst of laughter from us. However, judging by what he shared, the investors’ opinion of him didn’t seem to be affected.

“They’ll know once they try it.” his tone was like someone explaining a natural phenomenon: “The reason why we want to build a payment network.” He turned to me: “You should try it too.”

Warm yellow light shone on his face. He stared at me, his lips and eyebrows urging me to pick up my phone. After surviving a grueling day, I naturally had no reason to refuse his enthusiastic request. I was just curious how he could still show such rich expressions after repeating the same sentence over and over. I opened the newly downloaded wallet, held the phone in my hand, QR code facing up, and handed it parallel to the table in front of him.

What should I do next? Before I could react, the green checkmark of a successful receipt was already displayed on my screen.

“So cryptocurrency can actually have an experience like this” — the thought washed over my brain. In that moment, the warm yellow light, the jazz melody, even the face across from me became a blur. Only this green symbol remained in my field of vision, appearing to mock the version of me that had once hit a wall at the bank. This sense of awe could probably only be compared to the moment humans first saw paper money turn into electronic signals.

When I came back to my senses, he was very satisfied with my reaction, the smile on his face growing even more distinct.

Fiber, a payment network built on CKB, entered the testing phase not long after. “To lower the barrier for developers, Fiber needs an SDK.” In the weekly sync meeting, my colleagues and I shared this decision.

“Great, this is absolutely necessary. This is the only way developers can use Fiber to build things.” There was no scroll bar, but the microphone icons flickered in turn.

For programmers who have worked for years, wrapping an SDK is usually tedious work. Following the documentation to encase definitions in code one by one — you could patch together a passable empty shell without even taking your eyes off a playing video window.

Over the past five years, in the wasteland of CKB, who knows how many developers entrusted their sincerity and passion to those cheap cloth bags so thin they were translucent, only to hear a rip, sending everything crashing to the ground, covered in mud. Until we started from scratch, stitching a new SDK for CKB, thread by thread.

I stared at those hexadecimal characters, feeling dizzy, the screen before me shrouded in mist. Carefully calculating the length, reserving enough CKB to accommodate the data; checking existing denominations one by one until there was enough input; stuffing the change back into the output, and remembering to calculate the transaction fee for the new data.

“A transfers 100 CKB to B” — such a simple thing, yet I had to be like a penny-pinching accountant, piecing together the transaction step by step in the low-level code.

The error code never told me why. It just coldly changed from -12 to -11, its mocking face never softening. I stared with bloodshot eyes, reading historical code in the repository from years ago, trying to figure out why it worked back then.

Could we prevent Fiber from repeating CKB’s mistakes?

Fiber wasn’t a tough yarn. It was more like tangled silk. Most of the time, the threads were knotted together, and we often couldn’t tell which loose end corresponded to which. We had to hold our breath and lean in close, observing the flow of the data. Only after sorting them out one by one could we spin the fibers into yarn and weave them into cloth.

That was a long three months.

We were like a cracked mirror, kneading various things into the same plane: meetings with behemoths, infrastructure needing completion on to-do lists; ideas brought into reality, curious people at events; and cold data charts, analyzing the reasons why people stayed in the community.

And 194.

Number 194. This was the Pull Request for the Fiber SDK code.

With every attempt to fix a problem, the test cases would run once, until the errors disappeared completely. To help developers understand the concept of channels, the simple webpage laid out not just parameters and components, but also our understanding of the interaction flow.

We were far from completely finishing development, but we had a good start. The moment of code merge was waving at us. Or so it should have been.

“The development of the Fiber SDK is not under our jurisdiction. Another team will take over from here.” The conclusion wasn’t long, but surprisingly powerful, snapping the connected threads.

I didn’t ask why. In the chat app’s text box, the cursor blinked, staring at us — a group of tech guys who moved ourselves to tears every day.

Okay, I didn’t actually like writing code that much.

I was just used to finishing things I started. Programmers always switch their editors to dark mode to make the screen less glaring. But that doesn’t stop the light from entering the eyeballs, blinding one to the day and night outside the window.

I stood up. My back, sore from sitting for so long, was aching more easily these days.

Fiber’s progress wouldn’t stagnate because of our absence. In the weekly cross-team meetings, I could still hear the wallet team asking about the issues they encountered.

“Can Fiber nodes run in the browser now?” The wallet ran on the web, so naturally, they would ask this.

“Not yet.” It sounded like the Fiber team wasn’t as well-staffed as imagined.

However, this didn’t become an obstacle. A few weeks later, a solution where servers hosted nodes on behalf of users successfully ran on the testnet.

Later still, that wallet team was disbanded. The official announcement was brief and indifferent, detonating in the community as expected. But he, who was once so talkative, never replied again. That phone that was once on the high chair, at the table for two, never lit up with Fiber’s green checkmark to this day.

Fiber’s progress wouldn’t stagnate because of their absence either. The good news is, Fiber nodes can finally run in the browser now.

“Well, let’s stop here for today.”

The voice cut off. I sent the meeting minutes to the group as routine, drawing the curtain on this one-man show that no longer had an audience.

Because the computer hadn’t been touched for a long time, the screen dimmed automatically until it went out. The light source withered, and the room’s ceiling plunged into total darkness.

The mountain path was narrow, only wide enough for my colleague and me to walk single file. The falling leaves crunched beneath our feet. We talked about daily life, about future plans, and finally, we talked about the big and small matters of the ecosystem.

“Isn’t Fiber a ten-year plan?” I said: “How come there’s not much movement after just persisting for a year?”

His voice was the same as always, steady with a hint of sly playfulness. He didn’t think much:

“Precisely because of that, it is a plan that needs ten years.”

Ten years from now, will that green checkmark really light up?

1 Like

I’m glad that you like my piece!

That’s what I want to achieve with this piece: make people more willing to ask, communicate, and think. I have no answer to any of the questions I asked here, but I do believe communication will help us find them.

4 Likes

我之前一直还有一个疑惑,ccc fiber-sdk的合并申请4月份就提交了,为什么一直没有合并更新,现在才知原来是换了开发团队没人管了。joyid的fiber测试网很早就上了,也没有更新文档,sdk以及钱包支持跟不上,让我们想尝试使用fiber的应用开发者望而却步。

1 Like

所以王博 @cipher 放弃 fiber 和 utxostack 的原因到底是什么……

This is a question best answered by Cipher. From what I personally saw, he decided to return money to investors after making 2 distinct directional changes with UTXOStack, branch chains→liquidity incentivization→Fiber apps, I feel like the issue was more timing than anything else.

3 Likes

感觉CKB团队内部之间是有一定的矛盾的,这可能技术发展路线不同,或是生态发展方向不同。前后多个创始人都莫名离开且失声,可能已经财务自由,但与当年从他们说出那种理想差别太大,我更倾向于猜测内部有一股不可反驳和协调的力量存在着,导致团队和项目现在这样的结果。

做开源项目,需要有开阔的胸怀,来容纳“开源 ”两个字,但又要有人站出来,带领队伍去实现“项目”,所以也需要责任和担当。

没你想得那么复杂。utxostack 是 @Cipher 成立的独立团队,做决定是 cipher,不是其他人/ecofund/foundation. 我不仅和你一样希望 @cipher 能自己出来解释,也向 cipher 建议过,这样也用不着我或者matt反复在这儿做给不了答案的解释。但现在情况就是这么个情况

在这个时代这个行业,想说话是很简单的,twitter 也好, btc/eth/ckb交易留言也好,总有地方说。有谁能阻止谁说话呢?关键只是想不想说。某些无端猜测对坚持下来做事正面面对的人并不公平,对CKB的发展也没什么益处。

一个成熟的社区应该学会如何应对各种项目和尝试的起起落落,开始和结束都很正常,做事情本来就需要面对各种各样的问题,在我心里能够真正动手做事已经超越99%的人了。我也真心希望未来CKB社区的项目都能在这类事情上有更好的处理。

9 Likes

Fiber 缺乏连接外部的桥梁,岛上的人专注于一座精巧的死城,这是个不应当发生的错误。在重新调整人力和资源分配之后,我期待这种情况能逐渐消失。

5 Likes

我也同样期盼从这个问题的答案中找出对现状的警示。

可惜的是,能被分析的线索太少,我们几乎不可能得出什么有价值的结论。我同意 Jan 的看法,更多的猜测并不能带来什么正面的效果。

比起猜测原因,我更愿意思考他在生态里留下了些什么。其它的暂且不谈,至少我能看到他留下的对 Fiber 的热情和畅想。

P.S. Jan 提到的帖子里有不少对通道网络的分享和讨论,推荐给有兴趣的朋友阅读。

1 Like

现在是IP时代,项目也需要有自己的代言IP,华为需要“余大嘴” 小米需要“雷布斯”,CKB最大的问题就是没有一个适合这样连通外界的人

this complaint has been floating around for so many years it has lost its relevance. Builders build.

Navigating this reality is a leading strategic consideration, but it is unreasonable to expect a savior here. “Charismatic spokesperson” is not a position to be filled, it is something someone is born to do.

This community is already full of advocates for CKB, let’s celebrate this fact and build on it.

现在是IP时代,项目也需要有自己的代言IP,华为需要“余大嘴” 小米需要“雷布斯”,CKB最大的问题就是没有一个适合这样连通外界的人

人们会为了乔布斯购买苹果,但会为了库克购买苹果吗?

我们提到了至少三种角色。

  1. 「引流」,或者你提到的「IP」。这个角色的感染力或煽动力,会让人们产生兴趣和欲望。

  2. 「支柱」。这个角色能果断地做出决定,将其持续执行并最终实现,让人们产生信任和安全感。

  3. 「布道」,这是我所提到的「桥梁」。这个角色能传递知识和文化,将人们从漠不关心转化到同一个上下文中。

接下来的问题是:

  1. 这些角色必须是同一个人吗?或者每个角色只能有一个人吗?

  2. 我们缺乏了哪些角色?

  3. 怎样才能创造,或者找到胜任这些角色的人?我们的文化允许这样的人存在吗?

1 Like

锤子手机有老罗这个 IP 一样黄了,基于老罗买产品的肯定比基于雷军买产品的多,但基于产品买产品的,锤子就没有小米多了。

1 Like

1.「引流」CKB一直都缺这个角色

2.「支柱」这个CKB社区心中曾经是有的,但可能在遇到大事或社区脆弱时,不够果断或没能及时站出来,慢慢就失去信任感

3.「布道」只要前两个配齐,这个角色通常就是在社区自行产生

1和2感觉通常需要两个人,1需要激情 需要给人幻想。2需要有担当给人信任, 社区精神支柱,必要时给1过失来圆场

这是个很扎心的问题。一个企业的文化通常就是领导文化,上层传导到下层的价值观决定的

ckb文化和这些角色不排斥吧 这两天除了这个帖子,还有这个也是谈类似的问题 On Funding Social Media Activity via the Community Fund DAO ,但是这个帖子有人讨论,neon帖子没什么人参与,只能说这个社区不排斥引流布道,也不是对这些不感兴趣,但是聊问题的人多,聊具体怎么做的人少,问题其实都是明摆着的

比较赞同有没有人能做是关键。记得之前也有这类dao提案,虽然结果好像不太好,但还是想看到更多这种尝试 希望这次neon大佬能搞出点名堂

1 Like

我能再提一个问题么?

角色必须是人么?Nervape不行么?数字生命。
1 Like