<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Samik Shrotriya]]></title><description><![CDATA[A starter blog demonstrating what Gatsby can do.]]></description><link>https://samikshro.github.io</link><generator>RSS for Node</generator><lastBuildDate>Sun, 18 Aug 2019 20:16:42 GMT</lastBuildDate><item><title><![CDATA[Why VideoCoin is Doomed to Fail]]></title><description><![CDATA[What is VideoCoin? VideoCoin is a proposed decentralized application that provides access to cloud video infrastructure by connecting miners…]]></description><link>https://samikshro.github.io/videocoin-analysis/</link><guid isPermaLink="false">https://samikshro.github.io/videocoin-analysis/</guid><pubDate>Wed, 14 Aug 2019 22:12:03 GMT</pubDate><content:encoded>&lt;h3&gt;What is VideoCoin?&lt;/h3&gt;
&lt;p&gt;VideoCoin is a proposed decentralized application that provides access to cloud video infrastructure by connecting miners who perform video encoding, storage, and delivery services to clients who want to purchase those services and view videos. Miners earn VideoCoin by correctly completing video infrastructure tasks, and clients pay with VideoCoin.&lt;/p&gt;
&lt;h3&gt;Why does VideoCoin matter?&lt;/h3&gt;
&lt;p&gt;Video currently constitutes 57% of all Internet traffic, and is projected to grow to 82% in 2021. In order to stream videos to customers, services such as Netflix and YouTube perform cloud infrastructure tasks, including encoding, storage, and delivery  (via content delivery networks/CDN). &lt;/p&gt;
&lt;p&gt;By giving miners an opportunity to perform video infrastructure tasks that companies such as Amazon, Google, and IBM currently perform, VideoCoin has the potential to provide a better-than-free model for miners. VideoCoin can also provide a competitive service for clients given a large, geographically well distributed, and reliable network of miners that can quickly encode, store, and deliver videos to those clients. &lt;/p&gt;
&lt;h4&gt;My thoughts on VideoCoin&lt;/h4&gt;
&lt;p&gt;Initially, the high growth potential of the cloud video infrastructure market excited me, and I was compelled to find out more about how VideoCoin can fit in this market landscape. But as I delved deeper into the project, I found that VideoCoin’s barriers to success, namely its need for a large network size and its low potential miner rewards, are greater than VideoCoin’s strengths. First, we will discuss VideoCoin’s plan to perform cloud video infrastructure tasks, and analyze its strengths and weaknesses. &lt;/p&gt;
&lt;h3&gt;What constitutes cloud video infrastructure and how does VideoCoin offer these services?&lt;/h3&gt;
&lt;p&gt;Cloud video infrastructure is composed of three main processes that allow videos to be viewed on any device almost anywhere. First, videos are encoded to fit different colorspaces, resolutions, and codecs. Videos are then stored in storage networks that can be accessed when clients want to view videos. Finally, videos are cached in places geographically close to where the client is viewing the video. VideoCoin proposed decentralized solutions to each cloud video infrastructure task, which we will analyze for strengths and weaknesses. &lt;/p&gt;
&lt;h4&gt;Encoding&lt;/h4&gt;
&lt;p&gt;VideoCoin plans to encode videos by using an open source framework called ffmpeg. Although ffmpeg will be used in a secure container, security issues may arise because ffmpeg works with a lot of unprotected data. This can be mitigated if VideoCoin hires ffmpeg contributors to fix major security issues.&lt;/p&gt;
&lt;p&gt;Since the CPU requirements for encoding videos are high, VideoCoin will split each video into many segments and process them simutaneously using different miners. After encoding, the segments are stitched together.  &lt;/p&gt;
&lt;p&gt;One strength VideoCoin has is its method to prove that an encoding job was completed correctly. To confirm and verify that a miner did not cheat, a verifier node chosen from a verifier pool pulls a random segment of the video and performs the same transcode operation that the miner did; if the two sequences of frames are the same, the miner successfully completed the job. If they are not the same, the miner partially encoded or did not encode the video. VideoCoin then burns that miner’s staked tokens. The verifier pool (other nodes trying to become the verifier node) can determine whether or not the verifier node’s block of approvals is valid; if malicious acts are detected, the verifier node’s staked tokens are burned. This cheating-prevention process for both miners and verifier nodes makes it a financial strain to keep cheating on the network and encourages good behavior. &lt;/p&gt;
&lt;h4&gt;Storage&lt;/h4&gt;
&lt;p&gt;VideoCoin plans to use a distributed file storage system similar to Hadoop Distributed File Storage (HDFS), allowing storage miners to use their computer disk space for storing video segments. These segments will then be stitched together before being sent to the client. Since VideoCoin is using a system similar to HDFS, we can analyze HDFS to see if VideoCoin’s distributed file storage system will work well. &lt;/p&gt;
&lt;h5&gt;HDFS&lt;/h5&gt;
&lt;p&gt;HDFS is a distributed storage system that stores files in specific block sizes. For example, since HDFS has a block size of 128MB, a 256MB file will be split into two blocks. However, if a file is smaller than 128MB, the file will still take up one block (128MB) in a higher abstraction level even though it uses less physical system storage space.&lt;/p&gt;
&lt;p&gt;HDFS also works better with larger files. When a client wants to merge or stitch files together, a map task function is called that processes one block at a time. If there are many small files that each take up one block, many more map tasks need to be called and more physical system storage space will be wasted. However, large file sizes work well with HDFS because you need fewer map tasks due to the high block size (128MB) and you have less wasted storage space. &lt;/p&gt;
&lt;h5&gt;VideoCoin’s Distributed File Storage System&lt;/h5&gt;
&lt;p&gt;In VideoCoin, each video is split into many smaller segments that miners encode simultaneously. Since VideoCoin uses an HDFS-like system, we can say that each video segment takes up one block. An HDFS-like system will work well for VideoCoin because videos have large file sizes (ex. 1 min of 720p 30fps HD with a data rate of 5MBPS is 300MB), which will be a huge benefit for rapidly stitching encoded video segments together into a single video for clients and ensuring that storage miners don’t run out of storage space. &lt;/p&gt;
&lt;h4&gt;Content Delivery Networks (CDN)&lt;/h4&gt;
&lt;p&gt;VideoCoin plans to stream videos to clients using miners that act as proxy servers, which are layers between the client and the Internet created to provide increased  network performance. &lt;/p&gt;
&lt;p&gt;One major flaw with this CDN plan is that proxies can be vulnerable to attacks from external actors and the actual proxies. Miners who choose to give Internet bandwidth to VideoCoin may be especially vulnerable to attacks because we cannot assume those miners will take security measures and VideoCoin does not have a plan for bolstering security. Malicious external agents can access networks by hacking into proxy servers and can affect the VideoCoin network by changing streams or shutting them down. Miners who create malicious proxy servers can also steal data such as usernames and passwords. If these agents attack the VideoCoin network, clients will flock to other services, making the network dramatically lose value. &lt;/p&gt;
&lt;h3&gt;What are the primary barriers to success?&lt;/h3&gt;
&lt;p&gt;VideoCoin’s primary barriers to success are its low potential miner rewards and its
need for a large network size. When miners win a job, they commit to completing that job in exchange for a miner reward. After analyzing similar cloud video infrastructure products from Amazon Web Services and IBM, I calculated that for a 300MB video (1 min of 720p 30fps HD with a data rate of 5MBPS), total encoding, storage, and CDN costs are between $0.035085-$0.036085. &lt;/p&gt;
&lt;h5&gt;AWS and IBM HDFS Listed Costs for Cloud Video Infrastructure:&lt;/h5&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Infrastructure Task&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Encoding&lt;/td&gt;
&lt;td&gt;$0.034 per minute HD video 720p or above&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storage&lt;/td&gt;
&lt;td&gt;$1000 - $2000 per TB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CDN&lt;/td&gt;
&lt;td&gt;$0.085 per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;Costs of a 300MB 720p HD one minute video using competitor services:&lt;/h5&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;Infrastructure Task&lt;/th&gt;
&lt;th align=&quot;left&quot;&gt;Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;left&quot;&gt;Encoding&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;$0.034 per minute HD video 720p or above&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;left&quot;&gt;Storage&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;$0.001 - $0.002 per MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;left&quot;&gt;CDN&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;$0.00085 per MB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;Total: $0.035085 - $0.036085&lt;/h5&gt;
&lt;p&gt;Clients who want to use VideoCoin either will demand a similar price or a significantly better experience. Since VideoCoin’s CDN has security risks, a significantly better experience than AWS and IBM HDFS is unlikely at this point. If we assume that VideoCoin must charge a similar price to remain competitive, miners who choose to perform all three jobs can collectively only make about $0.03 per job. Since the time it takes to complete these tasks depends on the specifications of the miner’s computer, predicting miner rewards per minute or per hour is difficult. What we do know is that VideoCoin will have to persuade individual people to try out an unproven network for the prospect of winning $0.03 per job and without knowing their own projected rewards per unit time. &lt;/p&gt;
&lt;p&gt;Now, I will show that VideoCoin will fail whether or not their rewards attract miners. If we assume that the miner rewards are too low for miners, the miners will not join the network. Without enough miners, the network size will be too low to provide a low latency service for all users. This is because proxy servers and storage networks will most likely not be geographically close to many users. Clients will switch to services such as Hadoop or Amazon that have more stable service failure guarantees. If we assume that miner rewards are good enough for miners, miners will choose to join VideoCoin’s network. However, the price for encoding is significantly higher than storage and CDN. Miners will choose to perform only encoding tasks, which will create problems when clients want to stream videos. VideoCoin provided no mechanism for adjusting the rewards of individual tasks, so we do not know whether or not rewards will be adjusted due to demand and how exactly rewards will be calculated. Clients will switch to services that have more stable price guarantees and low risk of problems when accessing or streaming videos. &lt;/p&gt;</content:encoded></item><item><title><![CDATA[Why NuCypher will Grow with the Decentralized World]]></title><description><![CDATA[What is NuCypher? NuCypher is a decentralized key management system (KMS), encryption, and access
control service for distributed apps and…]]></description><link>https://samikshro.github.io/nucypher-analysis/</link><guid isPermaLink="false">https://samikshro.github.io/nucypher-analysis/</guid><pubDate>Mon, 12 Aug 2019 22:12:03 GMT</pubDate><content:encoded>&lt;h3&gt;What is NuCypher?&lt;/h3&gt;
&lt;p&gt;NuCypher is a decentralized key management system (KMS), encryption, and access
control service for distributed apps and protocols that aims to provide a security
infrastructure for decentralized applications. Having a reliable and efficient KMS is
essential to company security because it prevents malicious actors from accessing
sensitive files and data. Currently, enterprises use centralized KMS systems as
features in products such as Amazon Cloud HSM and Microsoft Cloud HSM, but
decentralized apps do not work as well with centralized systems and do not have a
decentralized alternative. NuCypher is exciting because it has a chance to become a
leader in decentralized KMS and the decentralized security infrastructure by using
re-encryption techniques to ensure that data remains safe. Although NuCypher has
potential to succeed in decentralized systems, it will have a hard time breaking into
current enterprise markets because of the benefits of centralized multi-cloud systems, which means that the success of NuCypher will be solely based on the growth of
decentralized apps. &lt;/p&gt;
&lt;h3&gt;How does NuCypher ensure security?&lt;/h3&gt;
&lt;p&gt;NuCypher provides a reliable security infrastructure because of its use of proxy
re-encryption and split-key encryption. Proxy re-encryption allows any node on a
network to send secure data to any other node, whether it is known or unknown. In
proxy re-encryption, the proxy re-encrypts data using the sender’s private key and the
recipient’s public key without seeing the private key, ensuring that data can be sent
securely. Also, NuCypher uses a decentralized network instead of one centralized proxy
that has to be online at all times, and uses split-key encryption to achieve this. In
split-key encryption, the re-encryption key is split among many nodes in NuCypher,
which makes collusion between nodes difficult. NuCypher’s use of these encryption
techniques provide safety and security for decentralized apps and protocols, making
sure that malicious agents cannot damage the company’s network.
&lt;/p&gt;
&lt;h3&gt;How does NuCypher make money?&lt;/h3&gt;
&lt;p&gt;In order to earn revenue, NuCypher is developing the NuCypher Token, which acts as a
method of payment for re-encryption services. If users choose to stake their tokens
(i.e. provide re-encryption services for the network), they receive compensation
levels determined by an incentive structure that discourages malicious behavior.
Compensation levels rise with the amount of work performed, time online, and tokens
staked, which ensures there will be sufficient supply of re-encryption services and
encourages good behavior. NuCypher is also trying to mitigate the potential for
attacks by developing ways of distributing NuCypher Tokens to prevent one entity from
controlling a large part of the network and to increase the supply of staked tokens.
NuCypher developed the WorkLock contract, which discourages speculation and encourages
staking by forcing users to escrow ETH into a contract. The contract sends user the
escrowed ETH if they stake the token, and burns the ETH if not. This process
encourages users to stake their tokens and provide re-encryption services for the
network.&lt;/p&gt;
&lt;h3&gt;Why might NuCypher fail?&lt;/h3&gt;
&lt;p&gt;The primary barrier to NuCypher’s success is that enterprises in the status quo may
not use NuCypher because of the advantage of multi-cloud systems, which 82% of
enterprises use. Currently, enterprises use KMS’s as features in different cloud
providers, and they choose to use many different cloud providers to hedge against the
threat of service provider failure and security issues. To connect multi cloud systems,
products such as Hashicorp Vault create low-trust networks for multiple clouds as a
centralized system. Assuming that NuCypher would be used alongside multiple clouds,
products such as Vault will incorporate the network as a part of a centralized
architecture, which will eliminate some benefits of decentralized architecture. Also,
benefits such as N-to-N communication will be lost unless other cloud providers
choose to join partnerships. Problems with the management of all the different KMS
may discourage enterprises from using NuCypher. Because it will be difficult to
incorporate and justify the use of NuCypher in enterprises early on, NuCypher will
struggle to attract enterprises on centralized networks. So, the growth of NuCypher
will depend on the growth of high value decentralized applications, especially in
NuCypher’s early stages. This can potentially be a massive barrier to NuCypher’s
short term success if impactful decentralized applications don’t pop up.  &lt;/p&gt;</content:encoded></item></channel></rss>