作者grapherd (NULL)
看板DigiCurrency
标题Re: [闲聊] IOTA真的能实现足够的算力吗
时间Wed Jan 17 22:06:21 2018
早上用手机编辑搞烂了推文,不好意思。
※ 引述《kugwa (kugwa)》之铭言:
: 标题: Re: [闲聊] IOTA真的能实现足够的算力吗
: 时间: Wed Jan 17 10:15:43 2018
:
: ※ 引述《grapherd (NULL)》之铭言:
: :
: : ※ 引述《MRjk ()》之铭言:
: : : 首先非常感谢您提供的几个连结
: : : 其实我之前也就已有加入"IOTA 爱好者中文社群"的FB社团
: : : 刚也再重新看过每一篇您所指引的连结
: : : 我觉得首先让我们讨论单纯一点 抛弃掉3进位 hash function等其他问题
: : : 回归到这讨论串最一开始原po的问题
: : : "在IOTA网路中 没有coordinator的状态下
: : : 恶意攻击者从一个IoT装置所发出的交易A (经过PoW验证了前两笔交易)
: : : 如何能不被恶意攻击者手上的另一个超强硬体所建构出来的双花交易B(也经过了PoW验证
: : : 了前两笔交易 且还附加了更多交易在其後增加权重)盖过去?"
: :
: : 你的问题......感觉问错了?
: :
: : 你所给的题目定义的状况下,这个超强硬体所构建出来的双花交易B
: :
: : 才是整体网路所同意的交易啊。
: :
: :
: :
: : 当下当然两笔双花出来的时候会是双花,
: :
: : (Bitcoin 也会有类似的状况,假设一次出两块,里面包含双花交易的话)
: :
: : 但是等时间过去,
: :
: : 其他的节点经过 MCMC 在挑选 tips 的时候,
: :
: : 就会
: :
: : 这时後,A交易就会被当作是 invalid 或是 double spending
: :
: : 孤立在那边啊。
:
: 同个系统状态本来就不会双花的两笔交易同时存在
:
: 但是设想
:
: A已经被大家承认很久很久了
:
: A交易的卖方也交货了
:
: 这时突然给你来个 B把A给超越
:
: 大家一致宣告A交易不算数
:
: 那A交易的卖方不就很干 拿到的钱没了 货也大概拿不回来
这个问题已经回应过了,不会发生这样的问题。
这种超久的 valid transaction V.S. 新出的爆干 weight transaction
因为超久以前的 valid transaction 已经改变整个帐本的状况
(地址总额,对方地址总额等)
因此根本不会有收到货然後又被盖掉的问题。
:
: 这也是比特币的交易被收进block之後 最好等6个confirmations再当真的原因
:
: 因为这时候被翻盘的机率就小很多很多了
Bitcoin 1 confirm 不能当真,建议 6 个,实务 3 个的原因,
最主要的原因是有不错大的机率出现同时有两块爆出来,
(看 explorer 很容易发现)
要等到其他 node 选择一个,让另一个变成孤立後,才能够继续长下去。
(当然也有为了防止 double spending 的问题)
:
: : 这也不会啊,当 A 交易已经被认同,节点内部的帐册就会被改动了。後来出现的 B 交易只会被当作 invalid (假设 double spending,或是透支账本) ,或是另外一笔新的交易 (假设创新交易)。
:
: 「当 A 交易已经被认同」
:
: 你要怎麽规定 什麽情况下去认同?
:
: IOTA这种靠Coordinator发出Milestone的可不算哦
:
: 因为这是靠Coordinator一人决定的
:
: 为什麽怎样才算认同这件事很重要呢
:
: 因为 让整个网路所有人都认同A交易 这件事本来就超级难
:
: 只要有那麽一瞬间 有一部分的人认同A 有一部份的人还没认同A
:
: 然後这时候有人把B广播出来
:
: 认同A的那一票人直接拒绝B
:
: 而刚刚还没认同A的人把B收下来 最後还好死不死去认同B
:
: (可能B被一部分的人串的比较长)
:
: 这时网路就整个意见分歧了 而且再也无法转回意见一致
:
: 导致这种灾难的关键原因 就是你说的那种认同
:
: 你那种认同会强硬的认定某个交易是合法的
:
: 然後贸然排除跟他产生双花的其他交易
:
: 结果就是有机会发生我上面说的情况 全网失去共识
先看白皮书:
It is important to observe that the iota network is asynchronous. In general, nodes
do not necessarily see the same set of transactions. It should also be noted that
the tangle may contain conflicting transactions. The nodes do not have to achieve
consensus on which valid[5] transactions have the right to be in the ledger, meaning
all of them can be in the tangle. However, in the case where there are conflicting
transactions, the nodes need to decide which transactions will become orphaned[6].
白皮书大方承认了这个问题。直言 node 之间本来就是非同步的状况,
各自看到的 tangle 是不同的状况。而且在 tangle 之中,本来就可以存在
conflict 的交易。当出现 conflict transactions 的时候,才需要去决定哪个是孤立的交易。
决定 conflict 的方式是运行 MCMC:
「看一个节点进行多次的 tip 选择演算法,
接着观察哪笔交易较可能被选到的 tip(间接)验证。举例来说:
假设跑了 100 次 tip 选择演算法,有一笔交易被选到 97 次,我们便说它有 97% 的信心被验证到。」
(from IOTA 白皮书中文版)
当然目前 mainnet 不是这样就对了 XD
:
: 这就是为什麽区块链是神解
4, 神解,不可否认。
:
: 他的作法就是不会排除任何互相冲突的区块(e.g. 一个区块含有A 另一个区块含有B)
:
: 但是大家讲好最长链的交易才算数
:
: (而且最长链受到算力保护 越久远的区块越不会被翻盘)
:
: 因而全网可以一直保持着一致 也就是达成共识
:
:
:
: 一般人看起来
:
: 区块链可能就只是实现了一直以来难以达成的分散式网路中的信任的一项技术而已
:
: 但是他诞生的背後
:
: 其实有非常非常多复杂的情况
:
: 都被开发团队考虑过了
:
: 可能是之前没想到的漏洞 任何攻击手段 任何可能导致的问题 之类的
:
: 这些情况被开发团队反覆想到烂掉
:
: 想破头才出现了最终版本
:
: 也就是比特币
:
: 所以说区块链的厉害之处
:
: 大概只有亲自仔细咀嚼过各种课题:
:
: 「区块链的这个部份为什麽要用这种作法?」
:
: 「如果不这样做的话会怎麽样吗?」
:
: 才能更了解想出这东西的人到底有多天才
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.232.231
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1516155345.A.170.html
: 推 darkdixen: 中本聪其实不是天才 是AI啦(?) 01/17 10:39
: 推 a23962787: 是未来人啦 01/17 10:43
: ※ 编辑: kugwa (140.112.232.231), 01/17/2018 11:38:00
: 推 sdtty: 没错 唯一信仰大比特!!! 01/17 12:23
: 推 DarkerDuck: 其实PoW区块链这个解的确各方面都有它的优势 01/17 12:29
: 推 ZERX: 听大大们解说,我对 iota 的信仰愈来愈薄弱了 XD 01/17 12:29
: → DarkerDuck: 才能够这麽久各种主要衍生的加密货币仍然是PoW区块链 01/17 12:29
: → kuma660224: POW区块链虽不完美,不过多年来 01/17 12:33
: → kuma660224: 其他验证方式都没证明是更理想的 01/17 12:33
凡是 blockchain 至少都要遇到出块速度的问题。精美的 6tx/s。
: → DarkerDuck: IOTA仍然是要靠PoW去确保帐本安全,但不靠自私的矿工 01/17 12:37
提高攻击者难度还是需要 PoW。
不过顺便提一下,IOTA 没打算让 IoT devices 运行 PoW 就是。
: → DarkerDuck: 这是整个PoW区块链最惊人的地方,自私地保护网路的安全 01/17 12:41
: → DarkerDuck: 假如拿掉了,IOTA的现况就证明很难有更完美的方案 01/17 12:42
blockchain 之外的方案,都是 experimental 状况而已,IOTA 亦如是,距离实用吗.....。
: → DarkerDuck: 其实我一直觉得把Tangle变成区块链off-chain交易架构 01/17 12:43
: → DarkerDuck: 应该也是个快速交易又可以确保安全性的方法 01/17 12:44
: → DarkerDuck: 零确认交易直接用手续费当作tangle graph的累积权重 01/17 12:59
: → DarkerDuck: 反正零确认交易就是小额日常交易,够安全就好 01/17 13:00
: → DarkerDuck: 被区块链确认後一样会进到不可逆的状态 01/17 13:01
:
: 其实我一直没有想明白板大的意思
:
: 怎麽做到把区块链跟Tangle搅在一起的
:
: (是否跟interchain或sidechain的概念类似呢?虽然我对这个也还没有研究)
:
: 能不能请板大解释得更明白呢
:
: 例如区块里要记录哪些Tangle的资讯
:
: 以及每笔交易里要带哪些资讯
:
: 之类的
:
: 如果真的是很厉害的想法
:
: 板大要不要考虑把他搞出来XDDD
: ※ 编辑: kugwa (140.112.16.145), 01/17/2018 13:24:28
: → DarkerDuck: 只是初步的想法ㄝ,不过这样做可以提供很多零确认交易 01/17 13:29
: → DarkerDuck: 的额外安全性,譬如想要大额的零确认交易安全性 01/17 13:29
: → DarkerDuck: 那就按比例多付点手续费,像这种高权重的交易後面 01/17 13:30
: → DarkerDuck: 就会很多人想要把交易加在後面,进一步提升安全性 01/17 13:30
: → DarkerDuck: 而对於支付处理商,接受权重够高的零确认交易也够安全 01/17 13:35
: → DarkerDuck: 不然现在的零确认支付交易已经被replace by fee 毁灭 01/17 13:36
: → DarkerDuck: 就变成两阶层的架构,区块和区块串成区块链 01/17 13:39
: → DarkerDuck: 区块内的交易用tangle串 01/17 13:39
: → DarkerDuck: 本来零确认交易避免双花的方法是靠矿工的自律 01/17 13:50
: → DarkerDuck: 不接受任何试图双花的交易 01/17 13:50
: → DarkerDuck: 用tangle後可以一样回到"自私的矿工"这完美的理念 01/17 13:51
: → DarkerDuck: 权重高(总手续费高)的交易graph才是共识 01/17 13:51
: → DarkerDuck: 这样n秒後零确认交易要双花的成本将会等於 01/17 14:00
: → DarkerDuck: n * 每秒交易数 * 每一笔交易平均手续费 01/17 14:01
: → DarkerDuck: 以比特币来说,就是你慢一分钟双花就要6万台币手续费 01/17 14:04
: → DarkerDuck: 那就可以确保一分钟内接受6万台币内的交易都是安全的 01/17 14:06
: → DarkerDuck: 这个方案其实也比什麽超快的出块速度来加速来得好 01/17 14:14
: → DarkerDuck: 像ETH这种超短的出块时间会导致出块容易被舍弃或分叉 01/17 14:14
: → DarkerDuck: 这造成了系统要扩容上很大的阻力 01/17 14:15
: → DarkerDuck: 也代表交易要被"安全"地确认需要更多确认数 01/17 14:15
: → DarkerDuck: 不过区块内tangle也有缺点就是会增加SPV钱包的负担 01/17 14:37
: → DarkerDuck: 需要额外的频宽和记忆体建构全网的tangle graph 01/17 14:37
这很有趣,找个时间来研究一下 ETH 智慧合约,看看能不能搅和再一起....
: 推 a23962787: 那来叉个BTCPTT吧 01/17 14:40
: 推 ketao: 版大你为什麽不用回文XDD 01/17 19:19
: 推 a23962787: 他的习惯 01/17 19:21
: → DarkerDuck: 还不是很成熟的想法,推文低调就好 01/17 19:22
: → coronach: 说不定不小心就变成IOTA Cash惹 01/17 21:08
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.12.46.231
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1516197983.A.A7F.html
1F:推 wusyong: 目前最接近的例子大概有PRL,但我觉得那个有点黑... 01/18 13:28
2F:推 lturtsamuel: 不管谁在运行POW,那都是没有诱因的事情,而且也是发 01/18 13:40
3F:→ lturtsamuel: 起交易的时候才会做POW 01/18 13:40
4F:→ lturtsamuel: 除非有佛心人士 一天到晚挂在线上丢零费交易 01/18 13:40
5F:→ lturtsamuel: 这样和比特币的差别就剩下 一边的矿工有赚头 一边是 01/18 13:42
6F:→ lturtsamuel: 义工 01/18 13:42
7F:→ lturtsamuel: 你就直接设想 假如今天比特币改成挖矿没报酬 谁要挖 01/18 13:42
8F:推 wusyong: 所以IOTA才没有角色职位不均的问题,hashpower-bound POW 01/18 13:56
9F:→ wusyong: 演变成了现在这样经济的军备竞赛 01/18 13:57