直观感受,为什么区块链的数据不可篡改?我做了一个页面

2019-01-07 16:37:31 +08:00
 cr4fun

直接做成 github 的 page 了。

https://hashfish.github.io/blockchain/

6342 次点击
所在节点    分享创造
53 条回复
dreamwar
2019-01-08 18:26:40 +08:00
@jadec0der #40 胡搅蛮缠?你怕不是有病?节点共识懂吗?
dreamwar
2019-01-08 18:29:03 +08:00
@jadec0der #40 区块链上数据的正确与否取决于大部分人的认同,不认同的就分叉,你自己电脑里面存一份文件有个 P 用?
dreamwar
2019-01-08 18:31:08 +08:00
@jadec0der #40 按照你的说法,git 如果就是区块链,那你告诉我大部分人认同的是线上的数据,还是你手里的那份数据,你在跟我说什么 P 话?
binux
2019-01-09 00:09:39 +08:00
@jadec0der 对于防篡改这个功能来说,没区别。速度不是必要条件,数据分布才是。
jadec0der
2019-01-09 11:37:08 +08:00
@binux 不,防篡改这个目标,防止的就是篡改本地数据,这是前提,不是条件。要么你在本地有摘要,要么有公钥验证,在本地没有知识的情况下是没有防篡改可谈的。

如果说防篡改有什么必要条件的话,append-only 的账本式数据结构才是。
binux
2019-01-09 11:53:20 +08:00
@jadec0der 我看不出 git 怎么能防止篡改你本地的数据,你在本地有完整数据不比你有摘要要强?
你要求 append-only 是因为你对篡改的定义是只能 append,但是可以有其他“篡改”的定义。
jadec0der
2019-01-09 12:09:34 +08:00
@binux 那要看你对篡改和修改怎么定义了。

我的想法是,如果你在数据库里定义一个余额,那有权限的人可以直接改掉这个余额,日志被删除之后就不知道这个余额是怎么改出来的了,这个叫篡改。

如果你的余额是记录在 git 或者 blockchain 上的,那无论谁改了,这个改动都会被保存下来,可以追溯,那就谈不上「篡」。
binux
2019-01-09 12:24:02 +08:00
@jadec0der #46 你在数据库里有一个余额,我在我数据库里面也有一个余额。如果我两同意,我的余额-100,你的余额+100,然后我们在我们的数据库里面都修改一下。假如你偷偷改掉了,那么我两的数据就不一致了,这就发生了分叉(只要引入第 3456 个人,少数服从多处就行了)。不需要 append-only 不需要摘要不需要 git 不需要 blockchain。

相反即使你的余额是记录在 git 或者 blockchain 上的,而只有你有这个 git 或者 blockchain,我没有,你还不是想改就改,大不了摘要一起改不就完了。

可见 git 或者 blockchain 和防篡改没有关系,防篡改来源于我们都有这个数据。
jadec0der
2019-01-09 13:21:37 +08:00
@binux well,你的「都修改一下」是需要双方验证的,所以你的修改建立在同意的前提上,除了数据同步还有业务逻辑,目标是让每次修改都是合法修改。当然这没问题,传统的系统都是这么运行的。

而 append-only 的系统在同步数据的时候可以不验证,直接同步。因为用户有所有的变更记录,所以他不担心某次修改里有非法的修改。

举个例子,你用 git 管理代码,每次都是 git pull 直接拉的,发现问题你才去找哪个 commit 出问题了。如果 git 不是 append-only 的,只保存所有文件当前的状态,你就得在 pull 之前 review 别人的变更有没有问题。
binux
2019-01-09 13:31:04 +08:00
@jadec0der #48 git 同步数据的时候怎么就不验证了,你 pull 一个有冲突的分支试试。
jadec0der
2019-01-09 14:16:28 +08:00
@binux 不做「业务逻辑」的验证啊,不对 git 里文件的内容做验证
binux
2019-01-09 14:44:47 +08:00
@jadec0der #50 对比数据库也不需要做「业务逻辑」的验证啊,你按字节验证不就完了。而且如果你要用 git 做账单,你还是要做「业务逻辑」的验证,不然你要怎么发现 bill 大于余额,推迟验证还是验证呀。
h1159711040
2019-06-20 15:17:13 +08:00
不是说区块链不是不可篡改而是很难篡改吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/524690

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX