چكيده به لاتين
After the remarkable successes of digital currencies such as Bitcoin and Ethereum, the attention of the scientific and industrial communities was drawn to the Blockchain's potential and unique features such as transparency and immutability. This technology can direct many centralized applications to a more democratic, decentralized, secure and fair approach. Currently, almost all different fields of industry are planning to implement this technology in their tools and products. Blockchain technology is known as one of the main parts of web3(an idea for a new iteration of the World Wide Web). However, due to the inefficient and costly design of its components (consensus methods, data storage and retrieval) and its distributed nature, trustless and transparent modeling, issues of “scalability” and “privacy” are amongst its most important challenges. Although various solutions have been proposed and some of them improved the overall scalability, privacy, and compatibility of this technology for many applications, these issues are still amongst the most important ones which blockchain application designers must consider in their designs to obtain a reasonable balance between distribution, scalability, and privacy. One way to increase the scalability of distributed systems such as the blockchain, is accelerating heavy computations by offloading parts of it to devices with idle resources. However, offloading on an open and transparent system (open blockchain) should be done in such a way that the privacy of users, transactions, and their offloaded computations could be maintained at the highest possible level. Therefore, in this thesis, in order to maintain an acceptable level of privacy and scalability, several techniques and optimizations are implemented which require structural changes and redesigning the main components of Blockchain, which includes offloading and process delegation with the help of general-purpose smart contracts, optimizing data storage/retrieval mechanisms with DAG, communication methods by using S/Kademlia, consensus method with the help of a combination of POS, BFT, ZKP and a version of ZK-SNARKS that is scalable and doesn’t leaves toxic waste on startup phase. Also, for further anonymity and total secrecy of users and their transactions, mixing and diffusion techniques are applied that include one-time transactions based on ZKP, integration circuits based on intermediate nodes and multi-stage transactions. With these techniques we aimed to develop a general-purpose, scalable, and anonymous blockchain smart contract framework. In a test environment with 12 cores (3.2 GHz) Gen10 intel Core I CPUs, and 32GB of Ram, docker of a used as resource allocator for containers, a total of 1,824 times performance improvement compared to Ethereum (POW) was observed.