چکیده
1. مقدمه
2. مطالعات مرتبط
3. استفاده از dApp ها و انواع بلاک چین
4. انتخاب پلت فرم بلاک چین
5. معماری dApp ارائه شده
6. مطالعه موردی - گواهی یک زنجیره حصولات غذایی
7. نتیجه گیری و مطالعات آتی
Abstract
1. Introduction
2. Related work
3. Uses of dApps and kinds of blockchains
4. Choosing the blockchain platform
5. The proposed dApp architecture
6. Case study – certification of an agri-food chain
7. Conclusions and future work
Acknowledgments
چکیده
بلاک چین و برنامه های در حال اجرا بر روی آن، به نام قراردادهای هوشمند، به طور فزاینده ای در همه زمینه هایی که نیاز به اعتماد و گواهینامه های قوی است، استفاده می شود. کار ما بر روی کاربردهای صنعتی بلاک چین ها متمرکز است و نه بر روی ارزهای دیجیتال یا توکن ها. ما از چارچوبهایی برای مقایسه بلاکچینهای عمومی و مجاز استفاده میکنیم، مخصوصاً برای کاربردهای صنعتی مناسب است. ما همچنین یک راه حل کامل مبتنی بر اتریوم را برای پیاده سازی یک برنامه غیرمتمرکز پیشنهاد می کنیم که اجزا و الگوهایی را که قبلاً استفاده و اثبات شده است به روشی اصلی کنار هم قرار دهد. مشخصه این راه حل مجموعه ای از گره های اعتبارسنجی است که با استفاده از Proof-of-Authority یا الگوریتم های اجماع کارآمد مشابه، زنجیره بلوکی را اجرا می کنند، با استفاده از یک Explorer که به کاربران امکان می دهد وضعیت بلاک چین و کد منبع قراردادهای هوشمند در حال اجرا بر روی آن را بررسی کنند. . گاه به گاه، خلاصه هش آخرین بلوک استخراج شده در یک بلاک چین عمومی نوشته می شود تا تغییر ناپذیری را تضمین کند. حق ارسال تراکنشها توسط گرههای اعتبارسنجی با اعطای اترهایی که به صورت محلی استخراج میشوند به کاربران اعطا میشود. به طور کلی، رویکرد پیشنهادی همان شفافیت و تغییر ناپذیری یک بلاک چین عمومی را دارد و تا حد زیادی از معایب آن می کاهد.
توجه! این متن ترجمه ماشینی بوده و توسط مترجمین ای ترجمه، ترجمه نشده است.
Abstract
Blockchain and the programs running on it, called Smart Contracts, are increasingly applied in all fields where trust and strong certifications are required. Our work focuses on industrial applications of blockchains, and not on cryptocurrencies or tokens. We use frameworks to compare public and permissioned blockchains, specifically suited for industrial applications. We also propose a complete solution based on Ethereum to implement a decentralized application, putting together in an original way components and patterns already used and proved. This solution is characterized by a set of validator nodes running the blockchain using Proof-of-Authority or similar efficient consensus algorithms, by the use of an Explorer enabling users to check the blockchain state, and the source code of the Smart Contracts running on it. From time to time, the hash digest of the last mined block is written into a public blockchain to guarantee immutability. The right to send transactions is granted by validator nodes to users by endowing them with the Ethers mined locally. Overall, the proposed approach has the same transparency and immutability of a public blockchain, largely reducing its drawbacks.
Introduction
The blockchain technology is a smart mix of known technologies, first introduced in 2008 by Satoshi Nakamoto, as the enabler of the digital currency known as Bitcoin [1].
The main requirement of Bitcoin, as with every currency, is trust. In fact, to put your savings into a currency, you need to trust that the money will be still expendable for a reasonable number of years, secure against counterfeiting, theft, confiscation, double-spending and inflation, and easily transferable. Another requirement that diversified Bitcoin from any other currency was the absence of a central authority guaranteeing and managing it. In Bitcoin, these features were obtained by using a distributed peer-to-peer network, based on open-source software running in every node, each holding a copy of the transaction database, known as blockchain.
The high number of nodes and the economic incentives given to miners (who validate transactions and pack them into blocks in return for a reward), guarantee the survival of the network and its robustness; the equality and openness of all nodes make the network decentralized; the transparency and immutability of the blockchain enable trust; the consensus mechanism used to add new transactions to the blockchain (Proof-of-Work) guarantees against massive Sybil attacks; the limited number of Bitcoins mined guarantees against inflation.
Conclusions and future work
The key reason to use a blockchain is trust. If a system can be developed and deployed by an organization, and its users trust this organization, there is no reason to use a blockchain.
In the case that it is not possible to trust a single organization managing the system, which should be open to all participants – some of whom might try to attack or exploit the system – a public blockchain is the choice. In managing digital currencies and tokens, public blockchains like Bitcoin, Ethereum and many others proved to be very effective and reliable.
If the system to develop deals with contractual relationships between participants, does not directly manage digital currencies, and there is no single operator which has everybody’s trust, a permissioned blockchain is the typical choice. There are many possible platforms and architectures to develop such a system, so we proposed an evaluation framework to ease the choice, which extends and blends the criteria of existing frameworks.