区块链编程与常规编程有何不同?
How does blockchain programming differ from regular programming?
区块链似乎是新的热点,我很好奇它与程序员的观点有何不同。
就像我在使用 Solidity 一样,我不是仍然应用面向对象的原则吗?它与 Ruby 有何不同?是不是面向契约的编程基本上就像面向对象的编程,但涉及金钱(在 Solidity 的情况下,Ether)?
或许它们是相似的,只是区块链编程更加透明和安全,因为它是免信任的。
总而言之,我只是在思考如何将我目前的编程技能转移到区块链上。谢谢。
我假设您对 Public 区块链编程感兴趣,以太坊是区块链应用最广泛的领域,因此 "Blockchain Programming" 将指的是 public 上的编程区块链网络。
编程public区块链网络时存在各种问题:
- 不变性:这是 public 区块链的礼物和诅咒。
pull
可以轻松修改您提交给分类帐的任何内容。因此,必须格外小心,以便在第一次尝试时就把它做好。
- 安全性:您的代码可供全世界查看。这种透明度也为恶意行为者(或明显活跃的初学者)造成重大伤害打开了大门。参见 THE DAO and Parity Hack。
- Trust Layer:区块链编程向 OSI 模型添加额外 "trust layer"。因此,您的大部分应用程序逻辑都是由区块链驱动的。然后,您需要使用另一个中介(以太坊中的 Web3)与应用层通信,然后将其插入体验层。
- Gas(或等价物):对于以太坊来说,引入gas的概念是为了防止"infinity loop attacks"。这会带来以下问题:(i) 运行ning 应用程序的成本变得非常昂贵(以太坊现在的价格为 820 美元(ii)为此编程需要深入了解每个操作的计算成本。
- Through put: Public 区块链要求交易传播到整个网络。这引入了延迟,因为网络中的每个节点都必须 运行 您的操作见 Cryto Kitties.
此列表远非详尽无遗,但我希望它能开始阐明差异并在您的旅程中为您提供帮助。
参考文献:
区块链似乎是新的热点,我很好奇它与程序员的观点有何不同。
就像我在使用 Solidity 一样,我不是仍然应用面向对象的原则吗?它与 Ruby 有何不同?是不是面向契约的编程基本上就像面向对象的编程,但涉及金钱(在 Solidity 的情况下,Ether)?
或许它们是相似的,只是区块链编程更加透明和安全,因为它是免信任的。
总而言之,我只是在思考如何将我目前的编程技能转移到区块链上。谢谢。
我假设您对 Public 区块链编程感兴趣,以太坊是区块链应用最广泛的领域,因此 "Blockchain Programming" 将指的是 public 上的编程区块链网络。
编程public区块链网络时存在各种问题:
- 不变性:这是 public 区块链的礼物和诅咒。
pull
可以轻松修改您提交给分类帐的任何内容。因此,必须格外小心,以便在第一次尝试时就把它做好。 - 安全性:您的代码可供全世界查看。这种透明度也为恶意行为者(或明显活跃的初学者)造成重大伤害打开了大门。参见 THE DAO and Parity Hack。
- Trust Layer:区块链编程向 OSI 模型添加额外 "trust layer"。因此,您的大部分应用程序逻辑都是由区块链驱动的。然后,您需要使用另一个中介(以太坊中的 Web3)与应用层通信,然后将其插入体验层。
- Gas(或等价物):对于以太坊来说,引入gas的概念是为了防止"infinity loop attacks"。这会带来以下问题:(i) 运行ning 应用程序的成本变得非常昂贵(以太坊现在的价格为 820 美元(ii)为此编程需要深入了解每个操作的计算成本。
- Through put: Public 区块链要求交易传播到整个网络。这引入了延迟,因为网络中的每个节点都必须 运行 您的操作见 Cryto Kitties.
此列表远非详尽无遗,但我希望它能开始阐明差异并在您的旅程中为您提供帮助。
参考文献: