少一点撕X,多一点互相学习讨论吧,我是来请教的
凡人 • • 29989 次浏览作为一个彻底的圈外人,最近被朋友拉去参加了一个区块链峰会,又搜索了一下相关主办人的新闻,表示整个人是懵圈状态。
感觉区块链,链圈、币圈目前挺热门,我是临时被要求带客找办公室的。结果看一个都叫自己是区块链孵化基地,再看一个楼还是区块链,再看一个楼还是区块链.....我感觉好多地方都被承包了一样,近期office租金市场回暖是受此影响吗?
狮城帮居然没什么人讨论,有点意外。作为一个支付宝都搞不定,也不会炒股的人,炒币什么更像天书。有没有什么圈内人来给扫盲解释一下这目前是个什么现象。
---
-
#51
同意现在交易的好多不是本币,是token,任何人都可以发行任何token,没有成本,成本只是忽悠上的花费而已
-
#52
人多,傻也多,钱好像更多就是这意思
-
#53
认识很深刻的专业人士啊我比较直接,区块链真的前景辣妈好
就不该以推销的方式推广,应该是免费推广让大家使用,然后收点服务费
如飞利浦早期的磁带,如空气,如互联网 -
#54
好奇,隔壁哪里,离我家远么?赫赫
-
#55
拜四上午刚好去NUS见客u-town见?
-
#56
周四中午有与欧洲的例会出不来
下周吧。说好的海底捞呐? 白老师称你首富。我们必须吃你啊。
0612 -
#57
白老师认错人了叫爱某及吾哦
赫赫,海底捞太 low,不喜-从没吃过 -
#58
觉得很有道理我也一直认为ripple的payment protocol是最有前途的
-
#59
咿?金老师在隔壁的名号是啥?
回忆一下前两年欢腾的又不见了的还爱健身的人是———郑丽颜 -
#60
郑是人妖,那能和我们金老师能比郑还是大反指,美元跌是喊买,股市上涨时喊卖。好有feel。
金老师要早N多年在隔壁闹。好了,不说了。不然都以为我给隔壁作宣传! -
#61
同去感觉我一天可以赶三场,早中晚,好幸福
-
#62
蓝老师你是不是经常穿越来穿越去区块链小白哦是大白求带,求解惑
-
#63
美国有准备啊前一阵还降价促销,呵呵,简直儿戏
-
#64
我怎没有啊感脚被歧视了
我要投诉,我不满。。。 -
#65
我对于区块链也是新手推动的10几个技术中, 没觉得区块链技术有啥出众的。
而且, 这个技术大规模普及貌似需要百年的。
觉得目前的推动是必须的, 但需要在量子计算机进入实际应用之后,区块链完成安全方式的进化, 才能真正在社会占据主流。
量子计算机只有在与程序员的逐步消失以及"固定逻辑类工作"的逐步消失后(估计大约20-30年后), 协助推动AI变得成熟(大约30-80年),那时, 区块链才会成为社会的主流(大约百年后了)。
这是因为量子计算机的应用将disrupt掉现有的全部的区块链技术和方案。 -
#66
哎我看来该剪头发了,头发太长了,好忽悠,丢脸呀
-
#67
区块链峰会意义不大全是发币赞助的,感觉现在已经没有什么真正的内容了。。。
-
#68
我没本事说这么大的书哒看官恐要失望
-
#69
随机应变性如神啊
好,有大将之风 -
#70
一个基本的区块链框架源码,想用的拿去造币吧!public struct Block
{
/// <summary>
/// 区块位置
/// </summary>
public int Index { get; set; }
/// <summary>
/// 区块生成时间戳
/// </summary>
public string TimeStamp { get; set; }
/// <summary>
/// 心率数值
/// </summary>
public int BPM { get; set; }
/// <summary>
/// 区块 SHA-256 散列值
/// </summary>
public string Hash { get; set; }
/// <summary>
/// 前一个区块 SHA-256 散列值
/// </summary>
public string PrevHash { get; set; }
}
public static class BlockGenerator
{
public static List<Block> _blockChain = new List<Block>();
}
/// <summary>
/// 计算区块 HASH 值
/// </summary>
/// <param name="block">区块实例</param>
/// <returns>计算完成的区块散列值</returns>
public static string CalculateHash(Block block)
{
string calculationStr = $"{block.Index}{block.TimeStamp}{block.BPM}{block.PrevHash}";
SHA256 sha256Generator = SHA256.Create();
byte[] sha256HashBytes = sha256Generator.ComputeHash(Encoding.UTF8.GetBytes(calculationStr));
StringBuilder sha256StrBuilder = new StringBuilder();
foreach (byte @byte in sha256HashBytes)
{
sha256StrBuilder.Append(@byte.ToString("x2"));
}
return sha256StrBuilder.ToString();
}
/// <summary>
/// 生成新的区块
/// </summary>
/// <param name="oldBlock">旧的区块数据</param>
/// <param name="BPM">心率</param>
/// <returns>新的区块</returns>
public static Block GenerateBlock(Block oldBlock, int BPM)
{
Block newBlock = new Block()
{
Index = oldBlock.Index + 1,
TimeStamp = CalculateCurrentTimeUTC(),
BPM = BPM,
PrevHash = oldBlock.Hash
};
newBlock.Hash = CalculateHash(newBlock);
return newBlock;
}
/// <summary>
/// 计算当前时间的 UTC 表示格式
/// </summary>
/// <returns>UTC 时间字符串</returns>
public static string CalculateCurrentTimeUTC()
{
DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
DateTime nowTime = DateTime.Now;
long unixTime = (long)Math.Round((nowTime - startTime).TotalMilliseconds, MidpointRounding.AwayFromZero);
return unixTime.ToString();
}
/// <summary>
/// 检验区块是否有效
/// </summary>
/// <param name="newBlock">新生成的区块数据</param>
/// <param name="oldBlock">旧的区块数据</param>
/// <returns>有效返回 TRUE,无效返回 FALSE</returns>
public static bool IsBlockValid(Block newBlock, Block oldBlock)
{
if (oldBlock.Index + 1 != newBlock.Index) return false;
if (oldBlock.Hash != newBlock.PrevHash) return false;
if (CalculateHash(newBlock) != newBlock.Hash) return false;
return true;
}
/// <summary>
/// 如果新的区块链比当前区块链更新,则切换当前区块链为最新区块链
/// </summary>
/// <param name="newBlockChain">新的区块链</param>
public static void SwitchChain(List<Block> newBlockChain)
{
if (newBlockChain.Count > _blockChain.Count)
{
_blockChain = newBlockChain;
}
}
现在整个区块链的基本操作已经完成,现在我们需要让他运转起来,我们来到 StartUp 当中,添加两个新的路由:
app.Map("/BlockChain", _ =>
{
_.Run(async context =>
{
if (context.Request.Method == "POST")
{
// 增加区块链
if (BlockGenerator._blockChain.Count == 0)
{
Block firstBlock = new Block()
{
Index = 0,
TimeStamp = BlockGenerator.CalculateCurrentTimeUTC(),
BPM = 0,
Hash = string.Empty,
PrevHash = string.Empty
};
BlockGenerator._blockChain.Add(firstBlock);
await context.Response.WriteAsync(JsonConvert.SerializeObject(firstBlock));
}
else
{
int.TryParse(context.Request.Form["BPM"][0], out int bpm);
Block oldBlock = BlockGenerator._blockChain.Last();
Block newBlock = BlockGenerator.GenerateBlock(oldBlock, bpm);
if (BlockGenerator.IsBlockValid(newBlock, oldBlock))
{
List<Block> newBlockChain = new List<Block>();
foreach (var block in BlockGenerator._blockChain)
{
newBlockChain.Add(block);
}
newBlockChain.Add(newBlock);
BlockGenerator.SwitchChain(newBlockChain);
}
await context.Response.WriteAsync(JsonConvert.SerializeObject(newBlock));
}
}
});
});
app.Map("/BlockChains", _ =>
{
_.Run(async context =>
{
await context.Response.WriteAsync(JsonConvert.SerializeObject(BlockGenerator._blockChain));
});
}); -
#71
顶一个,一针见血啊!神马“去中心化“我不懂,可是什么信息存在那里、黑客搞不走就有点玄乎了吧?说的好像真的一样。。。
-
#72
赶紧搜了一下这个峰会还好没看到队友要去的公司,不然可以直接决定不去了
-
#73
去中心化不难理解譬如支付宝等, 对于传统的以银行为中心的金融模式就是一种去中心化。当然, 现在支付宝已经被银行收编了。
譬如你早恋, 偷偷递纸条给心仪的TA, 绕过了父母以及老师, 也说一种去中心化。当然, 婚姻使得你重新中心化了。
譬如网上使用信用卡付款, 目前有visa, mastercard,jcb, amex, 银联等。设想一下, 假设以上visa等各自拆分成10000个分公司,那么你就有50000种信用卡, 继续分拆,visa各自分拆成1亿个分公司, 你就有5亿种信用卡。现在那就烦了, 太多了!!
但是继续分拆, 直到每个地球人都有一个自己的信用卡公司, 那么你就说了, 这可咋办? 同样, 其他的服务: 银行, 保险,运输, 销售等, 也是如此。
那么你说, 这是不可能的。没有必要。麻烦。really?
想一下, 我们每个人都是唯一的, 我们依赖中心化服务, 是因为我们的社会不够发达,当我们的社会足够发达进步, 所有的中心化服务就因为其是middleman而失去了生存价值。
所以, 由此看出, 只有当AI能够协助我们做越来越多的middleman的工作和商业时, 区块链的社会运转以及商业模式才会成为主流。这需要数百年的时间。
区块链的成熟依赖于AI的成熟,
AI的成熟依赖于量子计算机的成熟。
回到眼前, 利, 促使了互联网由泡沫逐渐成为了生活的一部分,
也将促使区块链的演化到成熟。
目前的商业和金融的区块链热将以泡沫, 成熟, 再泡沫, 再成熟地方式螺旋式演化。延续数百年。
如同互联网的局域网一样, 私有的, 联盟的区块链将是合理的发展常态。
如果你注意到了IoT, 5G, automobile, machine learning, deep learning, natural language processing, etc, 你也许会慢慢觉察到, 这些只是一个魔方的不同的块, 一盘大棋中的不同的子。这个, 就是架构。
至于是谁在设计这个架构, 不同的解释很多。其实, 只有一个, Time.
It's Time who is THE architect. -
凡人 楼主#74
也不一定啦 我只是说主办人那边公司还是很多的,不见得每个都是忽悠