对于我的新工作,我现在要调查区块链。我读过很多文章,也看过很多关于它是什么以及如何实现它的视频,但对我来说,似乎还有一些非常重要的问题没有得到回答。它们如下:
我希望你们能把我的问题弄清楚!
致以敬意,
J
发布于 2019-07-09 14:23:09
对于我的新工作,我现在要调查区块链。
主要问题是为什么?你为什么要研究区块链,是否有一个特定的应用程序应该被区块链解决?通常不是银弹。
此外,区块链的定义也因上下文的不同而有很大差异。例如,它可能是一连串的障碍,但是否有协商一致的机制?它是否使用工作证明、桩证明和其他机制?是放任还是不允许?是公共的还是私人的?比特币发明的“区块链”技术是为了在一个公共的、无权限的系统中提供交易数据的分布式共识。任何其他系统都不需要这种技术。
1.)非常关键的是:区块链的数据究竟存储在哪里?好的,所以我当然知道链中的每个节点都有一份分类账的副本,它会不断更新。但据我所知,这个分类账只包括交易数据,而不是加载到区块链中的实际数据?还是同样的,既然区块链不能存储,比如说一个“视频”,而只是比特币交易的数据?
比特币只存储事务数据(以及每个块的元数据,如块哈希、时间戳等),请参见区块。有些事务使用脚本,它允许存储任意数据,并用于存储照片、链接等,但对于在所有完整节点上复制所有这些与事务无关的数据是否对网络有利的问题,这一直是一个争论的话题。
2.)不管是哪种情况,这都意味着公共区块的规模在一分钟内就会越来越大。当每个节点存储整个块链时,所有的块链崩溃只是时间问题,因为没有人有足够的空间存储所有的东西,对吗?
假设数据存储技术停滞不前,价格保持不变,是的。但情况显然并非如此,所以希望随着系统的发展而扩大。此外,您还可以运行一个轻型节点,在这种情况下,数据将被验证,但一旦被验证,它就会被丢弃(一般情况下)。
3.)关于智能契约:据我理解,智能契约是访问区块链的唯一途径。如果我想建立自己的区块链,我要做的是编写一个智能契约,然后访问服务器并将数据加载到链中。这是正确的吗?
比特币使用脚本系统来确定谁可以使用比特币(就像将比特币锁定在密钥对上,这必须提供有效的签名)。您可以编写可视为智能契约的脚本。其他一些人,如Ethereum,则扩展了图灵完整语言的概念。若要发送数据(即提交事务),必须提供具有有效脚本的有效事务,否则将被拒绝。
4.)有多少个“公共”区块链?就这一次吗?还是每个话题都有一个公共区块呢?
有许多应用程序(可能有数千个)声称它们是一个公共区块链,它们使用与比特币类似(或完全相同)的技术。
https://stackoverflow.com/questions/56948652
复制相似问题