Bitcoin Forum
May 09, 2024, 08:12:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 从NXT事件浅谈电子币的回滚(rollback)  (Read 1768 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
btcshop (OP)
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500



View Profile
August 18, 2014, 01:22:09 AM
 #1

最近比特儿NXT被盗事件闹得沸沸扬扬,当时比特儿提出一种解决方法就是回滚,似乎有些抽象,接下来笔者用简单话语来解释一下回滚,希望大家能看懂。

首先大家需要明确的是,rollback(回滚)本身是个数据库操作概念,只是延伸到电子币领域来使用,通常来说,传统数据库领域的rollback只能在commit(提交)前才会起作用,它的执行将意味着在rollback之前的某个或全部的操作无效,在正式commit数据之后则应无法rollback。但是,针对电子币领域的回滚,则无时无刻都可以发挥效果。

可能有些朋友会奇怪了,甚至会震惊了,为什么在去中心化的电子币领域中,会发生这种看上去好像非常“中心化”的数据回滚现象呢?其实,这长期以来都是“外行人”的一种误区,因为根本上讲,绝对的“去中心”,无论在技术上或现实中,都是不存在的——根本就没那么一码子事。

没错,不管是P2P也好,C2C也罢,其实无论如何,“去中心”都是一个相对概念,而无法成为绝对概念。就像声音需要空气传播,电需要导体传播一样,无论任何东西想要传播出去,都需要一个相对固定的“渠道”,而这个渠道,无论怎么样,也都会成为一个相对的“中心”般存在。

比如我们大家常说电子币是基于P2P(Peer to Peer)的,好像有了这种技术,我们的电子币网络就可以不受约束,随心所欲的任意传输,并且彻底去中心化了。然而,事实上真的是这样吗?显然不是的。

事实上,P2P化的电子币数据要想传送出去,也必须要利用必要的“渠道”才能做到,而这“渠道”,通常分为两种:

一种是向邻近地址发送广播请求,查看有无可用的电子币数据进行同步。具体来说,这种方式近似于有个人拿喇叭喊话,听到喊声的人再传给下一个,但是大家也都知道,声音的传播距离非常有限,而过用户不够密集的话,这种广播式数据同步是传不了多远的。最典型例子,比如你的电子币仅限于局域网环境中,假设你的IP地址是192.168.0.1,那么尝试请求的地址就是192.168.0.2,192.168.0.3之类一直到192.168.0.255,如果都找不到数据进行同步,这个币就同任何人都没有连接,连接的条数就始终是0,也就是将使用处于不可用状态。典型案例的是在国内联通环境下使用美卡币,因为该币中心服务器地址被墙(至少联通连不通),而用户量也非常少,所以在不“翻阅”的前提下,根本无法同步其网络数据。

二是通过中心服务器获得数据(或可用的固定数据同步地址),再进行计算机之间的随机同步。具体来说,这就像是开了个固定位置的劳务市场,然后各种各样的人都到这里来早工作,由劳务市场来分配给不同的人(不同IP)不同的任务(数据包)进行同步。事实上,目前所有的电子币都有这一步骤,差异仅仅在验证过程的严谨性,以及是否存在纠错判定上面。

而电子币的rollback(回滚)是怎么一回事呢?很简单,就是这个中心服务器地址突然告诉你的电子币,只有这样一种数据才是对的,其它的都是错误的。一旦你的电子币客户端接受了这样一类信息,那么,无论服务器发送给你的数据包结果正确与否,就都会按照这种数据来执行了。

具体到NXT的情况,目前NXT开发团队给出的解决方案是:

This release disables all outgoing transactions from the BTER account:10715382765594435905 after block height 209885.

也就是说,他们修改了NXT的数据库文件(nxt.h2.db),进行了“靶向攻击”,只把由10715382765594435905(Bter的NXT账号)发出的,经由209985这个block中转的所有交易无效化,而其它交易则不受影响。根本上讲,是开发团队启动“非常手段”,强制把NXT归还给Bter了。

而NXT为什么能够做到这点呢?非常简单,我们翻看DbVersion.java代码,就能发现其数据库中已经硬性规定了允许用户访问的“中心服务器”列表,只要这些列表中超过51%的地址接受了NXT官方团队的修改后数据,并且同步到自己的服务器端,那么,其它的用户无论是否接受他们的修改,一旦联网,你们的数据也就自然变成了他们修改后的结果了。(另外,对POW币来说,各大矿池全部反水的后果也是这样,或者Bitcoin-qt客户端故意给你们同步错误数据,并且超过51%用户下载了这个客户端的结果也差不多)

但是,就正常运作的情况而言,黑客盗币并不是回滚的理由,blockchain任何情况下都应该是不能回滚的。最关键的问题在于,按照常识来说,回滚区块意味着开发团队在向整个世界宣布,区块链系统完全受到个了开发者的彻底控制,他们能回滚区块,也能修改区块。这样的系统根本无法保护你的财产,更谈不上去中心化。

比如Bitcoin或Ripple之类,已经运行了很长时间,并且承载着上千万上亿美金交易任务的币种,除非是遇到严重技术BUG,否则无论任何情况下也不会出现rollback(回滚)的情况(尤其是Ripple,它作为金融协议复杂性远超Bitcoin之类的一般电子币,根本不可能也不敢进行任何人为干预,前一阵Jed闹的那么厉害,也没见RL敢上手段动他的币,当然,更主要的是Rippled不止一个,而且大多掌握在其它商业机构手中,官方也无法保障别人跟他们一起同步),因为但凡程序出身的人就会明白,对一套成熟的金融系统而言,你rollback付出的代价,远远超出被盗币本身所将付出的代价。

某些网友天真的以为,仅仅凭借开发团队修改客户端,无法干预到电子币的最终运行数据。

而事实上又如何呢?

本着“有教无类”的科学精神,我们就来看看前两天NXT紧急更新的1.2.5b和1.2.5f版本,其中更新了什么呢?很简单,其实BlockchainProcessorImpl中仅仅新加了一小段代码。

if (transaction.getSenderId().equals(Convert.parseUnsignedLong("10715382765594435905"))

 && previousLastBlock.getHeight() >= 209885) {

 throw new TransactionNotAcceptedException("Account disabled", transaction);

 }

这是什么意思呢?

所有经由10715382765594435905地址产生,BlockHeight大于或等于209885的交易,一律无效。也就是只要你下载了这个新版本的NXT,那么,不管你数据中如何记录的交易,所有Bter所谓“被盗”的相关数据,在你同步区块的那一瞬间,就一律【没有】了,Bter被盗这回事,也就彻底不存在了。

怎么?你说你不更新不就成了?嘿嘿,凡是用NXT的,你能今天不更新,你能明天不更新,但你能一辈子不更新吗?难道以后出Bug你自己修复,加新功能你自己添加,编译文件你自己编译吗?对大多数人来说,恐怕不能吧?那么,只要你下载新版本,以后就都是这样了。

更关键是,你能让各大交易所,特别是Bter也不更新这个版本吗?恐怕更不能吧。

而交易所只要一更新客户端,其实根本不必管你51%或52%的认可,只要你和他的客户端数据结果不一样,交易将一律无效。也就是说,不管你们多少人想更新,或者不想更新。一旦交易所更新了这个版本,你们发过去的涉及相关交易区块的交易,就必须按照交易所的客户端结果走,否则全都作为伪币无效了。以后你们善意取得也好,恶意盗取也罢,不管你们同意分叉也好,不同意分叉也罢,总之将来所有涉及到209885这个区块(且由10715382765594435905地址)产生的交易,人家就统统都给你们当伪币“没收”(无效化)了。

为什么人家这么牛气呢?人家说,“NXT开发小组支持我们这么干的啊”。

结果大家需要怎么办呢?很简单,不管你支持还是不支持,都必须把自己的NXT升级到最新版本,否则,一切后果请自负哦~

这么形容,够简单易懂的了吧?
摘自:比特帮
1715242359
Hero Member
*
Offline Offline

Posts: 1715242359

View Profile Personal Message (Offline)

Ignore
1715242359
Reply with quote  #2

1715242359
Report to moderator
1715242359
Hero Member
*
Offline Offline

Posts: 1715242359

View Profile Personal Message (Offline)

Ignore
1715242359
Reply with quote  #2

1715242359
Report to moderator
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715242359
Hero Member
*
Offline Offline

Posts: 1715242359

View Profile Personal Message (Offline)

Ignore
1715242359
Reply with quote  #2

1715242359
Report to moderator
1715242359
Hero Member
*
Offline Offline

Posts: 1715242359

View Profile Personal Message (Offline)

Ignore
1715242359
Reply with quote  #2

1715242359
Report to moderator
jsgayo
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
August 18, 2014, 01:39:20 AM
 #2

回滚会打击持币人的信心。无论如何,坚决反对这么做。

aaa-b-c
Member
**
Offline Offline

Activity: 110
Merit: 10


View Profile
August 18, 2014, 01:49:11 AM
 #3

今后,资产重组,换链运行,投胎转势是常见之事,以上过程权益是等效的。

回滚,却不是良策,权益的机会成本差别太大了,权益不等效。
shenxirrwya1582
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
August 19, 2014, 02:31:19 AM
 #4

回滚会打击持币人的信心。无论如何,坚决反对这么做。
就是  回滚的话   之前的交易都怎么办?这样还有什么保障
laodi2014
Jr. Member
*
Offline Offline

Activity: 59
Merit: 10


View Profile
August 19, 2014, 04:13:15 AM
 #5

今后,资产重组,换链运行,投胎转势是常见之事,以上过程权益是等效的。

回滚,却不是良策,权益的机会成本差别太大了,权益不等效。
回滚 最终解决的是比特儿  一家的问题   照成了大家的麻烦

Bitnet (https://bitcointalk.org/index.php?topic=769418.0). VqQspJyQXuELs62yaFUxbxhierZp2KSpAt
jiaping88
Member
**
Offline Offline

Activity: 63
Merit: 10


View Profile
August 19, 2014, 04:36:34 AM
 #6

回滚会打击持币人的信心。无论如何,坚决反对这么做。
回滚  让人觉得揪心  这样做  买币持币的人  还有什么利益保障呢

QORA | 2ND GEN | NEW SOURCE CODE | QTBgyovRjXC3ZcXHy5pNXoarCyjQLHzLDX
Get Daily Free SignatureCoins.T9CGXtSVvPzjTY14vsTFVRFVr66bcsQXzd
jiguqtmay511632
Member
**
Offline Offline

Activity: 105
Merit: 10


View Profile
August 19, 2014, 07:38:23 AM
 #7

今后,资产重组,换链运行,投胎转势是常见之事,以上过程权益是等效的。

回滚,却不是良策,权益的机会成本差别太大了,权益不等效。
回滚 最终解决的是比特儿  一家的问题   照成了大家的麻烦
是的 听到币能回滚  就没有安全感了都
hongyi
Member
**
Offline Offline

Activity: 63
Merit: 10


View Profile
August 19, 2014, 08:01:16 AM
 #8

回滚会打击持币人的信心。无论如何,坚决反对这么做。
同样反对回滚   比特儿 应该自己承担责任

QORA | 2ND GEN | NEW SOURCE CODE | QTVRYT9SN361NZZPKKReiqKSaiSYis7YEE
Free Distribution 50,000,000 VPNCOIN !!! VfmZnMPKBZMs1BupCtCkbNzkXTazwfjXpY[/color]
yixuez
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
August 19, 2014, 09:37:45 AM
 #9

回滚会打击持币人的信心。无论如何,坚决反对这么做。
就是  回滚的话   之前的交易都怎么办?这样还有什么保障
是的  回滚应该不可取

QORA | 2ND GEN | NEW SOURCE CODE | QPLXvZ2NY1hUWSwSxncCjqj1Rs2VnJVHGy
Get Free VpnCoin, Join BitNet ! your VmBqfYVbRqSyVu8qDms7PL62EkDzmwPe9V
yangnazterp5021
Full Member
***
Offline Offline

Activity: 191
Merit: 100


View Profile
August 19, 2014, 10:16:23 AM
 #10

今后,资产重组,换链运行,投胎转势是常见之事,以上过程权益是等效的。

回滚,却不是良策,权益的机会成本差别太大了,权益不等效。
技术我不懂   能把在我们手中的币取回  这感觉就像是漏洞在别人手里。。。
hegaojieb
Jr. Member
*
Offline Offline

Activity: 59
Merit: 10


View Profile
August 19, 2014, 10:40:48 AM
 #11

今后,资产重组,换链运行,投胎转势是常见之事,以上过程权益是等效的。

回滚,却不是良策,权益的机会成本差别太大了,权益不等效。
回滚 最终解决的是比特儿  一家的问题   照成了大家的麻烦
是的 听到币能回滚  就没有安全感了都
回滚  ?不切实际  用户的权利如何保证

QORA | 2ND GEN | NEW SOURCE CODE (http://coinia.net/Q) | QVEVCVVSnzn3BYEFbrdFAjaWAKAYoMFCco
Get Daily Free SIGNs before too late (https://bitcointalk.org/index.php?topic=702583).SoP4SJKtSKDLst2BELtW195QBs3t6ziaNX
tonygal
Hero Member
*****
Offline Offline

Activity: 560
Merit: 504



View Profile
August 19, 2014, 12:08:42 PM
 #12

比特幣或者說加密貨幣真不是一般人都能搞懂的!
10000dolperbtc
Member
**
Offline Offline

Activity: 85
Merit: 10

★☆★Bitin.io★☆★


View Profile
August 19, 2014, 01:04:58 PM
 #13

电子币不到万不得已不应该回滚,特别是一些有所成就的币,

umairsaleem
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500



View Profile
August 19, 2014, 02:21:01 PM
 #14

回滾會讓人們對數字貨幣散失信心,我覺得一些悲劇發生了,就不要再讓另一個悲劇再發生!
fullhouse
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
August 19, 2014, 04:15:28 PM
 #15

回滚会打击持币人的信心。无论如何,坚决反对这么做。
回滚  让人觉得揪心  这样做  买币持币的人  还有什么利益保障呢
是的,简直就是笑话啊回滚。。

qbd1313
Sr. Member
****
Offline Offline

Activity: 332
Merit: 250


View Profile
August 19, 2014, 07:40:09 PM
 #16

回滚会打击持币人的信心。无论如何,坚决反对这么做。
回滚  让人觉得揪心  这样做  买币持币的人  还有什么利益保障呢
是的,简直就是笑话啊回滚。。
比特币都回滚2次了,NXT已经不可能回滚了。。
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!