开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
区块链初学者指南 - 技术翻译 - 开源中国社区

区块链初学者指南 【已翻译100%】

标签: <无>
oschina 推荐于 2周前 (共 7 段, 翻译完成于 01-09) 评论 34
收藏  
88
推荐标签: 待读
参与翻译 (1人) : LeoXu 仅中文 | 中英文对照 | 仅英文 | 打印此文章

我并不明白为什么人们会觉得要理解区块链会有点难,而我也想知道为什么自己并没有。那是在 2013 年,我第一次听说有比特币这个东西(是的,知道的太晚啦)。我穷得连一个都买不起,看到这儿你也许已经对此文无爱了。后来,我想要去了解一下它所依赖的底层技术,也就区块链。 不过因为太忙了,所以迟迟没有开始(那就并不存在什么 开始不开始了)。

LeoXu
 翻译得不错哦!

那么这个 “区块链”到底是什么呢?

其实是两个东西:一个是区块一个是链。说玄虚一点,就是一链子的区块。因为它是存在于计算机中的东西,所以我们可以厘定它的一个物理形态是啥样子的,就是数字信息被分成一个一个区块然后把这些区块链接起来。举个例子,下图中的方块,每一个都表示一个国家,而且每一个都包含了对应国家的城市名称。

等等,其实还有更多东西来着。这里的每一个方块都一个叫做哈希的东西。一个哈希就是一串字符 (比如 “1hi515AHA5H” )。哈希是根据方块里面所包含的信息来得到的。 U.S.A 的方块拥有 New York, Los Angeles, 还有 Chicago 这几个城市,所以它的哈希就是像 “NYLAC” 的东西了 (技术上其实远非如此,但你理会精要就行了)。

每一个接续的方块都会包含前一个方块的哈希,所以这个就是(强制性的)将它们绑到一起的纽带。如果有人擅自篡改了第一个方块,加入了城市 Boston,那么新的哈希就会是 “NYLACB”,然而后面接续的 India 这个方块已经存着的哈希还是 “NYLAC”,这种不匹配就会把链条打断。所以哈希的目的就是确保没有人可以篡改区块。

LeoXu
 翻译得不错哦!

那如果有人修改了一个方块的内容,然后把后面的接续方块的哈希也一并更新会如何呢? 这也是有可能的,不过有一件事情我还没有告诉你。区块链的数据并不只是存在于仅仅一台计算机里面。一台计算机里面的区块链数据并不能骗到人,因为它会被复制到网络中每一个用户的计算机里面去。如果你加入了一个区块链网络,那么你的计算机就会去下载这些区块数据,如果有人篡改了他拥有的版本,整个网络也会考虑占多数的人的计算机上所拥有的版本才是正确的。

还有一件事,在一个区块链网络中,不仅是数据,就连整个系统的程序都被复制到了所有的电脑中。大多数互联网应用都是集中化的,比如 Facebook,它的数据和程序都被放在了它的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。但在区块链的世界里,就没有存在于中心的东西,它依赖的是用户的计算机来容纳自己的程序。是的,这就意味着,如果整个区块链网络中的每一台电脑都关机了,那么这个区块链系统就死翘翘了。

LeoXu
 翻译得不错哦!

公共区块链

这是不是就意味着区块链系统其实就是由一群心怀善意自愿让他们的计算机保持运行的人来组成的呢? 还有这些防篡改的区块是用来干嘛的呢?

区块链网络的功效不胜枚举。比特币是一种数据货币和一个支付系统。它所有的防篡改区块中所保存的就是全部交易的分类账。那些贡献了他们自己的计算机的人被称为矿工。系统会给他们提供比特币作为奖励。

Ethereum 有意向附加功能。它可以承载你的代码,从头开始发展出一个区块链系统,而要构建一个属于你自己的系统也许会非常地困难(记住这得看有人为你牺牲他们的计算机运行能力才行哦)。Ethereum 就维护着这些耗损巨大的运算能力,而你则需要为这些计算消耗买单。

区块链应用并不非得是支付系统或者加密货币。它可以任何东西,像是一个社交网络,一个像 LiveEdu 这样的学习平台,等等。

LeoXu
 翻译得不错哦!

私有区块链

Bitcoin, Ethereum 等等这些都是公共区块链的例子,任何人都可以成为其中的一分子。那如果我们想要有一个私有的区块链网络该如何呢?有些人想要一个私有的区块链是想干嘛呢?那就来瞧瞧下面的故事吧。

Mark 和 Sara

Mark 已经五个月没交房租了,当 Sara 找他要的时候,他就说晚点会给她。她付不起律师费,而法院强制执行诉讼就需要8个月甚至一年,所以唯一的选择就是去说服 Mark。

Joe 的生意

Joe 是一个商人,他经常要跟不同的公司做生意。几个月之前他和一家零售商签了一份合同,尽管合同条款都已经履约了,可零售商确拒绝付款。这帮人利用法律制度中的漏洞来游说 Joe,想以此达到少付钱的目的。Joe 在这以前就是有这方面经验的,在某些情况下,他会找法院求助,但这样做所耗费的时间和金钱却要损失他自己的利润。

我们该如何帮助 Sara 和 Joe 呢?

我们是不是能在其它地方解决这个问题呢? 在 Sara 遇到的这种情况中,我们需要让 Mark  按月支付房租,这其实就是一个基于时间的触发机制。你的日历程序使用这样的触发器来给你提供预设事件的通知。

在 Joe 遇到的场景中,一旦合约中的条款都满足了,当事人就得付款,这其实就是一个基于条件的触发机制。你想想上次从 Amazon 买电子书的时候,是不是得先确认付款了,Amazon 才会把电子书发给你?

重点是,计算机程序会始终如一的执行诸如此类的指令。当你点击着这篇文章,向下滚动,诸如这类的操作,它也会照着执行不误。为了能帮助到 Sara ,我们需要将合同的条款转变成代码。

LeoXu
 翻译得不错哦!

Sara 和 Mark 之间所订立的智能合同的伪代码

If today’s date is 30th and rent is not paid then
Transfer $500 from Mark’s account to Sara’s account

可是我们在哪儿部署这些代码呢? 它就应该被部署到所有参与者的计算机上。Sara 的还有 Mark 的银行都会是这一个私有区块链网络的一部分。Joe 和 Sara 会签署一份编码的协议(也就是智能合同),然后这份协议会被分发到网络中去,Mark 的和 Sara 的银行都会有一份拷贝。在每个月的 30 号,当时钟跳动到 12 点整,协议好的金额就会从 Mark 的账户转移到 Sara 的账户上去。Joe 也开始使用智能合同来强制让他的客户支付协议好的货款。

Sara 高兴了,因为她再也不用去烦心 Mark 会不会如约付房租了。Joe 也高兴,因为他也不用找法院要说法了,省下这些精力,他可以继续发展自己的生意了。

私有区块链只限于业务中涉及到的相关各方,因此 Joe 不会是 Sara 和 Mark 所属区块链网络的一部分。

LeoXu
 翻译得不错哦!

前行之路


现在你对此已经有点概念了,也许应该尝试一下 edX 上的课程(免费的哦),它会教你怎么在区块链上构建应用。

LeoXu
 翻译得不错哦!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们
评论(34)
Ctrl/CMD+Enter

解释的很详细,也很清晰,谢谢
翻译的不错,整体能理解得通。但是有些句子还是比较生硬,翻译也需要去做润色。
例如:
大多数互联网应用都是集中话的,比如 Facebook,她的数据和程序都被放在了她的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。(“她”->“它”是不是好点)
Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:
总算有点关注点不在价格上的区块链文章了。

引用来自“FrendLin”的评论

翻译的不错,整体能理解得通。但是有些句子还是比较生硬,翻译也需要去做润色。
例如:
大多数互联网应用都是集中话的,比如 Facebook,她的数据和程序都被放在了她的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。(“她”->“它”是不是好点)
她是拟人化的昵称,更有人情味 倒是你的 集中话->集中化 更好些:smile:

引用来自“cswcsw”的评论

Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:
是啊,我也有这个疑惑!

引用来自“cswcsw”的评论

Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:
它这里有个假设,就是交易双方都有区块链资产,简化来说就是 “有币”,假如叫游戏币 “GameCoin”。

假定货物价格 30 GameCoin,Mark 有 100 个 GameCoin (Mark可以通过密码学方法证明)

订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。

我们在淘宝买东西,买家把钱打到支付宝(相当于冻结,钱在支付宝手里),然后卖家发货。为了防止支付宝
把你的钱拿去生利息、放高利贷、卷钱跑路,就必须由银监会用各种方法监管。

有人认为,数学比人可靠,就发明了区块链,来取代了支付宝(所谓可信第三方)的功能,以及银监会的功能。
如果这东西成功,支付宝和银行就可以消失了。

常见问题
Q1 : 我现在没币,怎么交易?

A1 : 挖,或者找矿工买

Q2 : 听起来挺扯得,先用钱买币,再用币买货,为啥不直接用钱买货?你吃饱了撑的?

A2 : 传说中区块链的远景是,所有交易都在链上执行,钱逐步废弃
有点类似,从现金过渡到纯微信支付,以后敢说马花藤坏话,马花藤停你的帐号,没钱买不到水,一个
星期就渴死了。

Q3 : 3 天前订合同的时候,商定收 30 个币,当时价格 100,总值 3000 人民币;今天合同执行时,已经
跌到 0.1 元,只值 3 人民币,我不是亏死啦?

A3 : 长远来看,如果区块链的远景真的实现,所有交易都在链上执行,钱逐步废弃。那时一切以 GameCoin
定价,就无所谓涨跌

短期来说,可以来点金融手段,用这个合同做抵押,在 3000 位置买做空期权。这样就确保价格涨跌
不会影响到你。

这个类似于进出口企业,对美元汇率做对冲的,来避免汇率变化的风险。

Q4 : 这东西能成功吗?

A4 : 也许有万亿分之一的可能吧
补充一下,在理想中,期货交易所,和股票交易所,也可以完全在区块链上运行。上证、深证、证监会,都会直接失业。

实际当中,谁先死就不知道了
还有件事。研究和学习区块链技术是可以的。现在都是平台坐庄,你去炒,基本会亏死。
整天除了人工智能就是区块链。。。

引用来自“FrendLin”的评论

翻译的不错,整体能理解得通。但是有些句子还是比较生硬,翻译也需要去做润色。
例如:
大多数互联网应用都是集中话的,比如 Facebook,她的数据和程序都被放在了她的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。(“她”->“它”是不是好点)
@FrendLin 语文老师没教你?

引用来自“FrendLin”的评论

翻译的不错,整体能理解得通。但是有些句子还是比较生硬,翻译也需要去做润色。
例如:
大多数互联网应用都是集中话的,比如 Facebook,她的数据和程序都被放在了她的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。(“她”->“它”是不是好点)

引用来自“ylmotol7”的评论

@FrendLin 语文老师没教你?
个人愚见,并不是这样子不好,我国内外的书都有看,而是国外作者的书经常会有这种写法,但是国内开发者的书一般不会这么写,我只是觉得可以更好的为国内读者去做这样子一个优化而已

引用来自“cswcsw”的评论

Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:

引用来自“kchr”的评论

它这里有个假设,就是交易双方都有区块链资产,简化来说就是 “有币”,假如叫游戏币 “GameCoin”。

假定货物价格 30 GameCoin,Mark 有 100 个 GameCoin (Mark可以通过密码学方法证明)

订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。

我们在淘宝买东西,买家把钱打到支付宝(相当于冻结,钱在支付宝手里),然后卖家发货。为了防止支付宝
把你的钱拿去生利息、放高利贷、卷钱跑路,就必须由银监会用各种方法监管。

有人认为,数学比人可靠,就发明了区块链,来取代了支付宝(所谓可信第三方)的功能,以及银监会的功能。
如果这东西成功,支付宝和银行就可以消失了。

常见问题
Q1 : 我现在没币,怎么交易?

A1 : 挖,或者找矿工买

Q2 : 听起来挺扯得,先用钱买币,再用币买货,为啥不直接用钱买货?你吃饱了撑的?

A2 : 传说中区块链的远景是,所有交易都在链上执行,钱逐步废弃
有点类似,从现金过渡到纯微信支付,以后敢说马花藤坏话,马花藤停你的帐号,没钱买不到水,一个
星期就渴死了。

Q3 : 3 天前订合同的时候,商定收 30 个币,当时价格 100,总值 3000 人民币;今天合同执行时,已经
跌到 0.1 元,只值 3 人民币,我不是亏死啦?

A3 : 长远来看,如果区块链的远景真的实现,所有交易都在链上执行,钱逐步废弃。那时一切以 GameCoin
定价,就无所谓涨跌

短期来说,可以来点金融手段,用这个合同做抵押,在 3000 位置买做空期权。这样就确保价格涨跌
不会影响到你。

这个类似于进出口企业,对美元汇率做对冲的,来避免汇率变化的风险。

Q4 : 这东西能成功吗?

A4 : 也许有万亿分之一的可能吧
有个疑惑:
订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。
1.既然订立合同时就会把币冻结,到期自动执行,为什么不是直接到账呢?
2.不管是到期自动执行,还是直接到账(反正钱一定会转过去),如果供应商没把货发过来,这个合约不是还是会出问题?怎么处理这种情况?

引用来自“cswcsw”的评论

Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:

引用来自“kchr”的评论

它这里有个假设,就是交易双方都有区块链资产,简化来说就是 “有币”,假如叫游戏币 “GameCoin”。

假定货物价格 30 GameCoin,Mark 有 100 个 GameCoin (Mark可以通过密码学方法证明)

订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。

我们在淘宝买东西,买家把钱打到支付宝(相当于冻结,钱在支付宝手里),然后卖家发货。为了防止支付宝
把你的钱拿去生利息、放高利贷、卷钱跑路,就必须由银监会用各种方法监管。

有人认为,数学比人可靠,就发明了区块链,来取代了支付宝(所谓可信第三方)的功能,以及银监会的功能。
如果这东西成功,支付宝和银行就可以消失了。

常见问题
Q1 : 我现在没币,怎么交易?

A1 : 挖,或者找矿工买

Q2 : 听起来挺扯得,先用钱买币,再用币买货,为啥不直接用钱买货?你吃饱了撑的?

A2 : 传说中区块链的远景是,所有交易都在链上执行,钱逐步废弃
有点类似,从现金过渡到纯微信支付,以后敢说马花藤坏话,马花藤停你的帐号,没钱买不到水,一个
星期就渴死了。

Q3 : 3 天前订合同的时候,商定收 30 个币,当时价格 100,总值 3000 人民币;今天合同执行时,已经
跌到 0.1 元,只值 3 人民币,我不是亏死啦?

A3 : 长远来看,如果区块链的远景真的实现,所有交易都在链上执行,钱逐步废弃。那时一切以 GameCoin
定价,就无所谓涨跌

短期来说,可以来点金融手段,用这个合同做抵押,在 3000 位置买做空期权。这样就确保价格涨跌
不会影响到你。

这个类似于进出口企业,对美元汇率做对冲的,来避免汇率变化的风险。

Q4 : 这东西能成功吗?

A4 : 也许有万亿分之一的可能吧

引用来自“kookob”的评论

有个疑惑:
订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。
1.既然订立合同时就会把币冻结,到期自动执行,为什么不是直接到账呢?
2.不管是到期自动执行,还是直接到账(反正钱一定会转过去),如果供应商没把货发过来,这个合约不是还是会出问题?怎么处理这种情况?
你可以把条件改掉,他是一种编程语言,比如去实现设定一个单号,但是去快递接口查询,收到货了就认为满足合约
区块链:小A花10块钱买了个币,然后大喊一声,我可是花了100块买的!嗯,所有的块都记住了,无法抵赖。小B花100块买个币,然后大喊一声,我可是花1000块买的!嗯,也被所有的块记住了,无法抵赖。小Z....恭喜你成为新韭菜!

引用来自“水中倒立”的评论

区块链:小A花10块钱买了个币,然后大喊一声,我可是花了100块买的!嗯,所有的块都记住了,无法抵赖。小B花100块买个币,然后大喊一声,我可是花1000块买的!嗯,也被所有的块记住了,无法抵赖。小Z....恭喜你成为新韭菜!
不是你声明,全网就记账。金额来自于交易,交易是双方的。另外声明和日后交易的价格无关系,只与交易时的市场需求有关。
韭菜没有新旧,赔钱的都是韭菜。

引用来自“cswcsw”的评论

Mark和零售商账户里没钱我想知道怎么自动付费?:smirk:

引用来自“kchr”的评论

它这里有个假设,就是交易双方都有区块链资产,简化来说就是 “有币”,假如叫游戏币 “GameCoin”。

假定货物价格 30 GameCoin,Mark 有 100 个 GameCoin (Mark可以通过密码学方法证明)

订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。

我们在淘宝买东西,买家把钱打到支付宝(相当于冻结,钱在支付宝手里),然后卖家发货。为了防止支付宝
把你的钱拿去生利息、放高利贷、卷钱跑路,就必须由银监会用各种方法监管。

有人认为,数学比人可靠,就发明了区块链,来取代了支付宝(所谓可信第三方)的功能,以及银监会的功能。
如果这东西成功,支付宝和银行就可以消失了。

常见问题
Q1 : 我现在没币,怎么交易?

A1 : 挖,或者找矿工买

Q2 : 听起来挺扯得,先用钱买币,再用币买货,为啥不直接用钱买货?你吃饱了撑的?

A2 : 传说中区块链的远景是,所有交易都在链上执行,钱逐步废弃
有点类似,从现金过渡到纯微信支付,以后敢说马花藤坏话,马花藤停你的帐号,没钱买不到水,一个
星期就渴死了。

Q3 : 3 天前订合同的时候,商定收 30 个币,当时价格 100,总值 3000 人民币;今天合同执行时,已经
跌到 0.1 元,只值 3 人民币,我不是亏死啦?

A3 : 长远来看,如果区块链的远景真的实现,所有交易都在链上执行,钱逐步废弃。那时一切以 GameCoin
定价,就无所谓涨跌

短期来说,可以来点金融手段,用这个合同做抵押,在 3000 位置买做空期权。这样就确保价格涨跌
不会影响到你。

这个类似于进出口企业,对美元汇率做对冲的,来避免汇率变化的风险。

Q4 : 这东西能成功吗?

A4 : 也许有万亿分之一的可能吧

引用来自“kookob”的评论

有个疑惑:
订立合同的时候,就可以把 Mark 的 30 个币冻结(即 Mark 从此只能动用 70 个币)。
1.既然订立合同时就会把币冻结,到期自动执行,为什么不是直接到账呢?
2.不管是到期自动执行,还是直接到账(反正钱一定会转过去),如果供应商没把货发过来,这个合约不是还是会出问题?怎么处理这种情况?

引用来自“一位极其不愿意透漏姓名的马先生”的评论

你可以把条件改掉,他是一种编程语言,比如去实现设定一个单号,但是去快递接口查询,收到货了就认为满足合约
这里面其实是两个问题。1个是区块链上自动执行的问题,另一个是信息上链的可信性问题。第二个问题用区块链技术不能解决,也不是区块链应该干的。区块链只能干上了链的东西的传递、存储,至于上链信息的保真,等其他技术来补充吧。

引用来自“kchr”的评论

补充一下,在理想中,期货交易所,和股票交易所,也可以完全在区块链上运行。上证、深证、证监会,都会直接失业。

实际当中,谁先死就不知道了
短期看不可能的。区块链强于记账而若于交易。像传统交易系统那样,动辄每秒百万起的TPS,目前还没有好的技术在区块链上实现。我们家自己开发的区块链交易引擎,用了异步上链等很多办法,才勉强过了1000的TPS。查询下专利网站,有招商的一个团队,号称是有过万TPS的解决办法,也不知道实际应用如何。

引用来自“kchr”的评论

还有件事。研究和学习区块链技术是可以的。现在都是平台坐庄,你去炒,基本会亏死。
不建议抄,但有些币作为个长期持有是可以的,比如买个2千元的放着,过5年,一看,呀,换了辆奇瑞,这个是可以的。

引用来自“kchr”的评论

补充一下,在理想中,期货交易所,和股票交易所,也可以完全在区块链上运行。上证、深证、证监会,都会直接失业。

实际当中,谁先死就不知道了
交易速度太慢,不用用于实时交易啊
顶部